xgplayer 2.31.6 → 2.31.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bin/xgplayer.js +0 -0
  2. package/browser/controls/definition.js +1 -1
  3. package/browser/controls/errorRetry.js +1 -1
  4. package/browser/controls/miniplayer.js +4 -4
  5. package/browser/controls/nativeTextTrack.js +1 -1
  6. package/browser/controls/screenShot.js +1 -1
  7. package/browser/core_player.js +1 -1
  8. package/browser/core_player.js.map +1 -1
  9. package/browser/index.js +5 -5
  10. package/browser/index.js.map +1 -1
  11. package/browser/simple_player.js +1 -1
  12. package/browser/simple_player.js.map +1 -1
  13. package/dist/controls/definition.js +1 -1
  14. package/dist/controls/errorRetry.js +1 -1
  15. package/dist/controls/miniplayer.js +4 -4
  16. package/dist/controls/nativeTextTrack.js +1 -1
  17. package/dist/controls/screenShot.js +1 -1
  18. package/dist/core_player.js +7 -7
  19. package/dist/core_player.js.map +1 -1
  20. package/dist/index.js +28 -17
  21. package/dist/index.js.map +1 -1
  22. package/dist/simple_player.js +7 -7
  23. package/dist/simple_player.js.map +1 -1
  24. package/es/controls/definition.js +1 -1
  25. package/es/controls/errorRetry.js +1 -1
  26. package/es/controls/miniplayer.js +4 -4
  27. package/es/controls/nativeTextTrack.js +1 -1
  28. package/es/controls/screenShot.js +1 -1
  29. package/es/core_player.js +1 -1
  30. package/es/core_player.js.map +1 -1
  31. package/es/index.js +6 -6
  32. package/es/index.js.map +1 -1
  33. package/es/simple_player.js +1 -1
  34. package/es/simple_player.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/controls/screenShot.js +13 -4
  37. package/src/player.js +6 -6
  38. package/src/skin/controls/definition.js +1 -0
  39. package/src/skin/controls/playNext.js +1 -1
  40. package/version.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://xgplayer/webpack/universalModuleDefinition","webpack://xgplayer/webpack/bootstrap","webpack://xgplayer/./src/utils/util.js","webpack://xgplayer/./node_modules/css-loader/lib/css-base.js","webpack://xgplayer/./node_modules/style-loader/lib/addStyles.js","webpack://xgplayer/./node_modules/es5-ext/object/is-value.js","webpack://xgplayer/./src/error.js","webpack://xgplayer/./src/utils/sniffer.js","webpack://xgplayer/./node_modules/type/value/is.js","webpack://xgplayer/./src/utils/xgplayerTimeRange.js","webpack://xgplayer/./src/player.js","webpack://xgplayer/./src/skin/controls/i18n.js","webpack://xgplayer/./src/proxy.js","webpack://xgplayer/./node_modules/event-emitter/index.js","webpack://xgplayer/./node_modules/d/index.js","webpack://xgplayer/./node_modules/type/plain-function/is.js","webpack://xgplayer/./node_modules/type/function/is.js","webpack://xgplayer/./node_modules/type/prototype/is.js","webpack://xgplayer/./node_modules/type/object/is.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/index.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/index.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/shim.js","webpack://xgplayer/./node_modules/es5-ext/function/noop.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-value.js","webpack://xgplayer/./node_modules/es5-ext/object/normalize-options.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/index.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-callable.js","webpack://xgplayer/./node_modules/event-emitter/all-off.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-object.js","webpack://xgplayer/./node_modules/es5-ext/object/is-object.js","webpack://xgplayer/./src/skin/style/index.scss?a7b1","webpack://xgplayer/./src/skin/style/index.scss","webpack://xgplayer/./node_modules/style-loader/lib/urls.js","webpack://xgplayer/./src/controls/mobile.js","webpack://xgplayer/./src/controls/pc.js","webpack://xgplayer/./src/controls/start.js","webpack://xgplayer/./src/skin/controls/start.js","webpack://xgplayer/./src/skin/assets/startPlay.svg","webpack://xgplayer/./src/skin/assets/startPause.svg","webpack://xgplayer/./src/skin/style/controls/start.scss?7bb8","webpack://xgplayer/./src/skin/style/controls/start.scss","webpack://xgplayer/./src/controls/fullscreen.js","webpack://xgplayer/./src/controls/play.js","webpack://xgplayer/./src/controls/replay.js","webpack://xgplayer/./src/skin/controls/play.js","webpack://xgplayer/./src/skin/assets/play.svg","webpack://xgplayer/./src/skin/assets/pause.svg","webpack://xgplayer/./src/skin/style/controls/play.scss?9632","webpack://xgplayer/./src/skin/style/controls/play.scss","webpack://xgplayer/./src/skin/controls/poster.js","webpack://xgplayer/./src/skin/style/controls/poster.scss?e9aa","webpack://xgplayer/./src/skin/style/controls/poster.scss","webpack://xgplayer/./src/skin/controls/flex.js","webpack://xgplayer/./src/skin/style/controls/placeholder.scss?a4f4","webpack://xgplayer/./src/skin/style/controls/placeholder.scss","webpack://xgplayer/./src/skin/controls/fullscreen.js","webpack://xgplayer/./src/skin/assets/requestFull.svg","webpack://xgplayer/./src/skin/assets/exitFull.svg","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss?1042","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss","webpack://xgplayer/./src/skin/controls/loading.js","webpack://xgplayer/./src/skin/assets/loading.svg","webpack://xgplayer/./src/skin/style/controls/loading.scss?ad0a","webpack://xgplayer/./src/skin/style/controls/loading.scss","webpack://xgplayer/./src/skin/controls/progress.js","webpack://xgplayer/./src/skin/style/controls/progress.scss?de9d","webpack://xgplayer/./src/skin/style/controls/progress.scss","webpack://xgplayer/./src/skin/controls/time.js","webpack://xgplayer/./src/skin/style/controls/time.scss?a7a6","webpack://xgplayer/./src/skin/style/controls/time.scss","webpack://xgplayer/./src/skin/controls/replay.js","webpack://xgplayer/./src/skin/assets/replay.svg","webpack://xgplayer/./src/skin/style/controls/replay.scss?446b","webpack://xgplayer/./src/skin/style/controls/replay.scss","webpack://xgplayer/./src/skin/style/controls/textTrack.scss?c6ad","webpack://xgplayer/./src/index.js","webpack://xgplayer/./src/controls/airplay.js","webpack://xgplayer/./src/controls/cssFullscreen.js","webpack://xgplayer/./src/controls/danmu.js","webpack://xgplayer/./src/controls/definition.js","webpack://xgplayer/./src/controls/download.js","webpack://xgplayer/./node_modules/downloadjs/download.js","webpack://xgplayer/./src/utils/url.js","webpack://xgplayer/./src/controls/errorRetry.js","webpack://xgplayer/./src/controls/keyboard.js","webpack://xgplayer/./src/controls/localPreview.js","webpack://xgplayer/./src/controls/memoryPlay.js","webpack://xgplayer/./src/controls/miniplayer.js","webpack://xgplayer/./node_modules/draggabilly/draggabilly.js","webpack://xgplayer/./node_modules/get-size/get-size.js","webpack://xgplayer/./node_modules/unidragger/unidragger.js","webpack://xgplayer/./node_modules/unipointer/unipointer.js","webpack://xgplayer/./node_modules/ev-emitter/ev-emitter.js","webpack://xgplayer/./src/controls/pip.js","webpack://xgplayer/./src/controls/playNext.js","webpack://xgplayer/./src/controls/reload.js","webpack://xgplayer/./src/controls/rotate.js","webpack://xgplayer/./src/controls/screenShot.js","webpack://xgplayer/./src/controls/stallCheck.js","webpack://xgplayer/./src/controls/volume.js","webpack://xgplayer/./src/controls/textTrack.js","webpack://xgplayer/./node_modules/xgplayer-subtitles/dist/index.min.js","webpack://xgplayer/./src/skin/index.js","webpack://xgplayer/./src/skin/controls/enter.js","webpack://xgplayer/./src/skin/style/controls/enter.scss?879b","webpack://xgplayer/./src/skin/style/controls/enter.scss","webpack://xgplayer/./src/skin/controls/cssFullscreen.js","webpack://xgplayer/./src/skin/assets/requestCssFull.svg","webpack://xgplayer/./src/skin/assets/exitCssFull.svg","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss?540d","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss","webpack://xgplayer/./src/skin/controls/volume.js","webpack://xgplayer/./src/skin/assets/volumeMuted.svg","webpack://xgplayer/./src/skin/assets/volumeSmall.svg","webpack://xgplayer/./src/skin/assets/volumeLarge.svg","webpack://xgplayer/./src/skin/style/controls/volume.scss?4ba7","webpack://xgplayer/./src/skin/style/controls/volume.scss","webpack://xgplayer/./src/skin/controls/definition.js","webpack://xgplayer/./src/skin/style/controls/definition.scss?ee15","webpack://xgplayer/./src/skin/style/controls/definition.scss","webpack://xgplayer/./src/skin/controls/playbackRate.js","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss?114f","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss","webpack://xgplayer/./src/skin/controls/localPreview.js","webpack://xgplayer/./src/skin/controls/download.js","webpack://xgplayer/./src/skin/assets/download.svg","webpack://xgplayer/./src/skin/style/controls/download.scss?9645","webpack://xgplayer/./src/skin/style/controls/download.scss","webpack://xgplayer/./src/skin/controls/danmu.js","webpack://xgplayer/./node_modules/danmu.js/dist/index.js","webpack://xgplayer/(webpack)/buildin/module.js","webpack://xgplayer/./src/skin/assets/panel.svg","webpack://xgplayer/./src/skin/style/controls/danmu.scss?4216","webpack://xgplayer/./src/skin/style/controls/danmu.scss","webpack://xgplayer/./src/skin/controls/pip.js","webpack://xgplayer/./src/skin/style/controls/pip.scss?444d","webpack://xgplayer/./src/skin/style/controls/pip.scss","webpack://xgplayer/./src/skin/controls/miniplayer.js","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss?61c3","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss","webpack://xgplayer/./src/skin/controls/playNext.js","webpack://xgplayer/./src/skin/assets/playNext.svg","webpack://xgplayer/./src/skin/style/controls/playNext.scss?f11a","webpack://xgplayer/./src/skin/style/controls/playNext.scss","webpack://xgplayer/./src/skin/controls/rotate.js","webpack://xgplayer/./src/skin/assets/rotate.svg","webpack://xgplayer/./src/skin/style/controls/rotate.scss?2dec","webpack://xgplayer/./src/skin/style/controls/rotate.scss","webpack://xgplayer/./src/skin/controls/reload.js","webpack://xgplayer/./src/skin/assets/reload.svg","webpack://xgplayer/./src/skin/style/controls/reload.scss?8b15","webpack://xgplayer/./src/skin/style/controls/reload.scss","webpack://xgplayer/./src/skin/controls/screenShot.js","webpack://xgplayer/./src/skin/style/controls/screenShot.scss?ac1c","webpack://xgplayer/./src/skin/style/controls/screenShot.scss","webpack://xgplayer/./src/skin/controls/nativeTextTrack.js","webpack://xgplayer/./src/skin/style/controls/textTrack.scss","webpack://xgplayer/./src/skin/controls/textTrack.js","webpack://xgplayer/./src/skin/controls/error.js","webpack://xgplayer/./src/skin/style/controls/error.scss?0329","webpack://xgplayer/./src/skin/style/controls/error.scss","webpack://xgplayer/./src/skin/controls/memoryPlay.js","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss?0c39","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss","webpack://xgplayer/./src/skin/controls/airplay.js","webpack://xgplayer/./src/skin/assets/airplay.svg","webpack://xgplayer/./src/skin/style/controls/airplay.scss?643b","webpack://xgplayer/./src/skin/style/controls/airplay.scss"],"names":["createDom","hasClass","addClass","removeClass","toggleClass","findDom","padStart","format","event","typeOf","deepCopy","getBgImage","copyDom","_setInterval","_clearInterval","createImgBtn","isWeiXin","isUc","computeWatchDur","offInDestroy","on","once","getBuffered2","checkIsBrowser","setStyle","checkWebkitSetPresentationMode","el","tpl","attrs","cname","dom","document","Object","key","value","item","className","reg","sel","charstr","String","len","length","maxlen","Math","chars","r","window","hour","time","minute","second","e","touch","src","dst","url","a","back","Array","node","context","setInterval","intervalFunc","clearInterval","btn","width","w","h","unit","height","Number","name","ua","played","arr","i","begin","end","j","b","watch_dur","object","_fn","fn","maxHoleDuration","buffered","vbuffered","start","diff","buffered_2","buf2len","buf2end","XgplayerTimeRange","style","elem","PresentationMode","PIP","INLINE","FULLSCREEN","video","util","module","exports","useSourceMap","list","toString","map","content","cssWithMappingToString","join","modules","mediaQuery","alreadyImportedModules","id","push","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","source","sourceRoot","concat","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","_undefined","require","val","ErrorTypes","network","code","msg","remark","mse","parse","decoder","runtime","timeout","other","Errors","errd","line","handle","version","errorCode","mediaError","arguments","arg","sniffer","get","navigator","ie","firfox","chrome","opera","safari","isWindowsPhone","isSymbian","isAndroid","isFireFox","isTablet","isPhone","isPc","index","Player","ignores","whitelist","lang","inactive","volume","controls","controlsList","unselectable","onselectstart","type","vid","console","s_i18n","self","fetch","method","headers","Accept","res","obj","evName","evFunc","player","containerSize","setTimeout","playPromise","isDelDom","clearTimeout","classNameList","destroyFunc","_replay","param","defaultUserGestureEventHandler","descriptor","k","controlLst","control","Proxy","HAVE_NOTHING","HAVE_METADATA","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","NETWORK_EMPTY","NETWORK_IDLE","NETWORK_LOADING","NETWORK_NO_SOURCE","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","REPLAY","ERROR","PLAY_TIPS","PAUSE_TIPS","PLAYNEXT_TIPS","DOWNLOAD_TIPS","ROTATE_TIPS","RELOAD_TIPS","FULLSCREEN_TIPS","EXITFULLSCREEN_TIPS","CSSFULLSCREEN_TIPS","EXITCSSFULLSCREEN_TIPS","TEXTTRACK","MINIPLAYER","SCREENSHOT","LIVE","OFF","MINIPLAYER_DRAG","AIRPLAY_TIPS","set","options","autoplay","playsinline","airplay","tabindex","mediaType","textTrackDom","track","styleStr","wrap","XgVideoProxy","trackDoms","lastBuffer","defaultVideoEventHandler","curBuffer","videoEventHandler","range","currentTime","bool","isTrue","isFinite","err","status","en","cn","rate","posterUrl","poster","vol","d","callable","apply","Function","prototype","call","create","defineProperty","defineProperties","hasOwnProperty","configurable","enumerable","writable","off","emit","methods","descriptors","base","listener","__ee__","__eeOnceListener__","listeners","candidate","splice","l","args","slice","o","isValue","isPlainFunction","assign","normalizeOpts","contains","dscr","c","desc","gs","undefined","isFunction","classRe","functionToString","test","isPrototype","error","isObject","constructor","possibleTypes","foo","bar","trzy","keys","max","dest","forEach","TypeError","process","opts1","result","str","indexOf","searchString","emitter","function","css","location","Error","baseUrl","protocol","host","currentDir","pathname","replace","fixedCss","fullMatch","origUrl","unquotedOrigUrl","trim","$1","newUrl","mobile","root","clk","_click_","clickedTime","first","onTouch","pc","fullscreen","onCanPlay","s_start","StartPlayIcon","StartPauseIcon","onPlayerReady","fullscreenEl","mode","fullscreenPromise","play","replay","s_play","playBtn","PlayIcon","PauseIcon","tipsText","tips","s_poster","s_flex","playceholder","s_fullscreen","fullscreenBtn","RequestFullIcon","ExitFullIcon","s_loading","container","Loading","isRotateFullscreen","s_progress","containerWidth","progress","outer","cache","point","thumbnail","dotItem","dot","dotEvent","text","duration","tnailPicNum","tnailWidth","tnailHeight","tnailCol","tnailRow","interval","tnailUrls","coverPreviewContainer","coverPreviewPoint","coverPreviewOuter","onLoadedmetadata","events","isRotate","left","move","now","indexInPage","tnaiRowIndex","tnaiColIndex","up","passive","containerLeft","compute","pointWidth","leave","onTimeupdate","precent","prevPrecent","onCurrentTimeChange","onSrcChange","onCacheUpdate","cacheUpdateEvents","s_time","onTimeChange","s_replay","replayText","ReplayIcon","path","transform","svg","Airplay","CssFullscreen","Danmu","Definition","Download","ErrorRetryControl","Fullscreen","Keyboard","LocalPreview","MemoryPlay","Miniplayer","Mobile","Pc","Pip","Play","PlayNext","Reload","Replay","Rotate","ScreenShot","StallCheck","Start","Volume","TextTrack","cssFullscreen","danmu","danmujs","definition","download","factory","define","strFileName","strMimeType","defaultMime","mimeType","payload","anchor","createElement","myBlob","Blob","MozBlob","WebKitBlob","fileName","blob","reader","bind","split","pop","href","ajax","XMLHttpRequest","open","responseType","onload","target","response","send","dataUrlToBlob","msSaveBlob","saver","tempUiArr","Uint8Array","mx","charCodeAt","strUrl","parts","atob","decodeURIComponent","binData","uiArr","winMode","setAttribute","innerHTML","display","body","appendChild","click","removeChild","URL","revokeObjectURL","userAgent","confirm","f","createObjectURL","y","FileReader","readAsDataURL","getAbsoluteURL","div","defaultConfig","maxCount","backupUrl","isFetch","fetchTimeout","errorConfig","_inConfig","count","errfTimer","isFetchReturn","resolveFun","resolve","xhr","statusText","_originErrorEmit","errorCount","errorfetch","networkState","readyState","currentSrc","ended","httpCode","httpMsg","retryCanPlay","errorRetry","playbackRate","isRepeat","keyCode","repeat","isBody","config","state","isLonePress","isBack","isLongPress","keyShortcutStep","currentTimeStep","show","isup","volumeStep","keyboard","localPreview","upload","memoryPlay","miniplayer","dragLay","dragHandle","draggie","Draggabilly","getSize","Unidragger","extend","prop","noop","jQuery","element","querySelector","$element","defaults","option","_create","proto","opts","positionValues","relative","absolute","fixed","position","_getPosition","startPoint","x","dragPoint","startPosition","getComputedStyle","onPointerMove","onPointerUp","enable","setHandles","handles","querySelectorAll","bindHandles","dispatchEvent","emitArgs","emitEvent","dispatchJQueryEvent","jquery","$event","Event","trigger","_getPositionCoord","top","isNaN","_addTransformPosition","styleSide","measure","parentSize","parentNode","parseFloat","parseInt","matrixValues","xIndex","translateX","translateY","onPointerDown","pointer","classList","add","pointerDown","isOkay","okayPointerDown","isEnabled","_pointerReset","pointerDownPointer","pageX","pageY","preventDefault","pointerDownBlur","_bindPostStartEvents","dragStart","measureContainment","setLeftTop","animate","getContainer","elemSize","elemRect","getBoundingClientRect","containerRect","borderSizeX","borderLeftWidth","borderRightWidth","borderSizeY","borderTopWidth","borderBottomWidth","relativeStartPosition","containSize","containment","isElement","HTMLElement","moveVector","dragMove","dragX","dragY","grid","gridX","gridY","applyGrid","containDrag","axis","drag","rel","min","remove","dragEnd","isDragging","positionDrag","_this","requestAnimationFrame","animateFrame","staticClick","setPosition","disable","destroy","unbindHandles","removeData","_init","bridget","getStyleSize","num","isValid","logError","message","measurements","measurementsLength","getZeroSize","size","innerWidth","innerHeight","outerWidth","outerHeight","measurement","getStyle","isSetup","isBoxSizeOuter","setup","padding","borderStyle","borderWidth","boxSizing","documentElement","round","nodeType","offsetWidth","offsetHeight","isBorderBox","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginTop","marginBottom","borderHeight","isBorderBoxSizeOuter","styleWidth","styleHeight","Unipointer","_bindHandles","isAdd","bindMethod","touchAction","_touchActionValue","_bindStartEvent","PointerEvent","cursorNodes","TEXTAREA","INPUT","SELECT","OPTION","clickTypes","radio","checkbox","button","submit","image","file","isCursorNode","nodeName","isClickType","focused","activeElement","canBlur","blur","pointerMove","_dragPointerMove","_dragMove","hasDragStarted","_dragStart","abs","pointerUp","_dragPointerUp","_dragEnd","_staticClick","isPreventingClicks","onclick","isIgnoringMouseUp","getPointerPoint","EvEmitter","bindStartEvent","unbindStartEvent","startEvent","handleEvent","getTouch","touches","identifier","pointerIdentifier","onmousedown","_pointerDown","ontouchstart","changedTouches","onpointerdown","isPointerDown","pointerId","postStartEvents","mousedown","touchstart","pointerdown","eventName","addEventListener","_boundPointerEvents","_unbindPostStartEvents","removeEventListener","onmousemove","_pointerMove","onpointermove","ontouchmove","onmouseup","_pointerUp","onpointerup","ontouchend","_pointerDone","pointerDone","onpointercancel","_pointerCancel","ontouchcancel","pointerCancel","global","_events","onceEvents","_onceEvents","onceListeners","isOnce","allOff","pip","onWebkitpresentationmodechanged","playNext","nextBtn","reload","reloadConfig","rotate","rotateConfig","targetWidth","targetHeight","scale","videoWidth","videoHeight","clockwise","innerRotate","times","factor","screenShot","screenShotOptions","encoderOptions","canvas","canvasCtx","img","saveScreenShot","saveLink","save","screenShotImg","lastCurrentTime","stallFlag","stallCheckTimer","progressTimer","stallCheck","slider","selected","onVolumeChange","barRect","pos","isMove","onMove","onUp","_changeTimer","containerHeight","defaultStyle","follow","followBottom","fitVideo","offsetBottom","baseSizeX","baseSizeY","minSize","minMobileSize","fontColor","XgSubtitles","subtitle","vBottom","textTrack","defaultOpen","subTitles","SubTitles","subtitles","showDefault","isNeedMove","bottom","textTrackStyle","needRemove","isListUpdate","language","t","__esModule","default","n","promise","F","reject","s","some","Je","getAttribute","match","RegExp","u","kr","p","v","head","getElementsByTagName","styleSheet","cssText","disabled","createTextNode","Ir","Lr","addObserver","g","unObserver","m","Fr","_","styles","xr","json","Nr","parseJson","stringContent","Tr","then","catch","T","S","O","__e","E","__g","P","copyright","M","random","A","C","R","N","L","I","getPrototypeOf","z","B","D","H","V","W","G","U","$","K","valueOf","J","Y","X","q","Z","virtual","Q","tt","et","nt","rt","it","ceil","ot","floor","st","at","ut","ct","lt","ft","propertyIsEnumerable","ht","dt","pt","vt","yt","gt","mt","_t","xt","bt","kt","wt","Tt","St","Ot","Et","Pt","contentWindow","write","close","jt","Mt","Symbol","store","At","Ct","Rt","Nt","Lt","next","It","Ft","zt","Bt","entries","values","Dt","charAt","_i","done","Ht","_k","Arguments","Vt","Wt","Gt","Ut","$t","Kt","Jt","Yt","Xt","qt","isExtensible","preventExtensions","NEED","KEY","fastKey","getWeak","onFreeze","Zt","Qt","te","getOwnPropertySymbols","ee","ne","re","isArray","oe","getOwnPropertyNames","se","ae","ue","ce","le","fe","getOwnPropertyDescriptor","he","de","pe","ve","ye","ge","me","_e","xe","be","ke","we","Te","Se","Oe","Ee","Pe","QObject","je","findChild","Me","Ae","Ce","iterator","Re","Ne","Le","Ie","Fe","ze","Be","De","He","Ve","We","for","keyFor","useSetter","useSimple","Ge","Ue","$e","Ke","Ye","ReferenceError","Xe","qe","Ze","Qe","tn","setPrototypeOf","__proto__","check","nn","rn","sn","an","un","ln","hn","dn","pn","vn","callee","yn","gn","return","mn","_n","xn","bn","kn","getIteratorMethod","wn","BREAK","RETURN","Tn","Sn","On","En","Pn","setImmediate","jn","clearImmediate","Mn","MessageChannel","An","Dispatch","Cn","Rn","Nn","Ln","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","In","clear","Fn","zn","MutationObserver","WebKitMutationObserver","Bn","Dn","Promise","Hn","Vn","Wn","Gn","Un","$n","Kn","Jn","Yn","Xn","from","qn","Zn","Qn","tr","er","nr","domain","exit","enter","standalone","observe","characterData","rr","ir","or","versions","sr","v8","ar","ur","cr","lr","fr","PromiseRejectionEvent","hr","dr","_c","_v","_s","ok","fail","_h","yr","pr","vr","onunhandledrejection","reason","_a","onrejectionhandled","gr","_d","_w","mr","all","race","finally","try","_r","br","wr","_eventsCount","eventNames","listenerCount","removeListener","removeAllListeners","addListener","prefixed","EventEmitter","toUpperCase","onerror","ontimeout","onabort","setRequestHeader","Sr","Or","Er","Pr","jr","Mr","Ar","Cr","Rr","checkFormat","parseASS","parseVTT","textTag","toLocaleLowerCase","parseASSItem","exec","checkIsTime","parseVttTime","parseVttText","tag","__handlers","ResizeObserver","observer","__trigger","handler","unobserve","disconnect","contentRect","__runHandler","insertAt","firstChild","insertBefore","zr","RESIZE","Br","currentText","_cid","_gid","_cids","_iId","_iC","_ctime","_loadingTrack","_isOpen","_videoMeta","lwidth","lheight","vWidth","vHeight","vLeft","attachPlayer","setSubTitles","innerRoot","switchOff","isDefault","addStyles","switch","detachPlayer","color","__onTimeupdate","_onResize","_updateCurrent","trace","hide","__remove","_update","includes","getDelCid","getNewCid","__render","Element","__startResize","fontSize","right","resize","children","I18n","Enter","Poster","Flex","Progress","Time","PlaybackRate","NativeTextTrack","ErrorControl","s_enter","barStr","s_cssFullscreen","RequestCssFullIcon","ExitCssFullIcon","s_volume","LargeIcon","SmallIcon","MutedIcon","icon","s_definition","paused","tmp","cursrc","urlInRoot","cur","li","to","curRUL","liList","definitionObj","s_playbackRate","playbackRateList","selectedSpeed","playbackDom","ev","playbackRateObj","s_localPreview","preview","s_download","DownloadIcon","s_danmu","comments","area","panelBtn","PanelIcon","DanmuJs","focusStatus","focusarray","danmuConfig","hidemodeScroll","hidemodeTop","hidemodeBottom","hidemodeColor","hidemodeArray","transparency","transparencyGradient","transparencyValue","showarea","showareaValue","danmuspeed","danmuspeedValue","danmufont","danmufontValue","toStringTag","startsWith","getElementById","Node","tagName","attributes","formatTime","setProperty","logger","setLogger","info","overlap","live","direction","needResizeObserver","hideArr","domObj","containerStyle","bulletBtn","isReady","addResizeObserver","main","pause","stop","txt","opacity","like","prior","realTime","unshift","readData","dataHandle","queue","pauseMove","startMove","setLikeDom","mouseControl","filter","forceDuration","setFontSize","channel_id","topInit","channelSize","channel","constructorName","log","defaultOff","switchBtn","playedData","timer","retryTimer","retryStatus","updateQueue","nums","dataHandleTimer","bullet","hasAttached","sort","resetWithCb","init","reset","channels","resized","containerPos","detach","noDiscard","attach","addBullet","removeBullet","containerRight","resizing","resizeTimer","bookChannelId","scroll","operating","bookId","channelWidth","channelHeight","bOffset","loop","resetTimer","moveV","onChangeDirection","use","eventListeners","useCapture","textContent","elPos","mouseoverFunWrapper","mouseoverFun","mouseEnterControl","mouseEnterFunWrapper","mouseControlPause","unuse","removeTimer","Date","getTime","moveTime","moveMoreS","moveContainerHeight","moveContainerWidth","pastDuration","startTime","hasMove","startMoveTimer","outerHTML","initDOM","initSize","idleList","usingList","_id","_expand","shift","textcontent","clearElementStyle","timeStampe","destroyObserver","hmr","insertInto","locals","HTMLIFrameElement","contentDocument","refs","media","nextSibling","before","singleton","DEBUG","Boolean","childNodes","convertToAbsoluteUrls","webpackPolyfill","deprecate","paths","s_pip","s_miniplayer","s_playNext","PlayNextIcon","onUrlListEnd","s_rotate","RotateIcon","s_reload","ReloadIcon","s_screenShot","screenShotText","s_nativeTextTrack","controlText","ul","isDefaultShow","s_textTrack","renderList","onListUpdate","s_error","refresh","s_memoryPlay","lastPlayTime","lastPlayTimeHideDelay","removeFunc","handlePlay","s_airplay","AirplayIcon"],"mappings":"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C;;;;;;AC3ED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,EAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;;AAEA,6BAA6B,mBAAmB;;AAEhD;;AAEA;;AAEA;AACA;;;;;;;;ACvXa;;AAEb,IAAIC,aAAaC,mBAAOA,CAAC,EAAR,GAAjB,C,CAAgD;;AAEhD/B,OAAOC,OAAP,GAAiB,UAAU+B,GAAV,EAAe;AAAE,SAAOA,QAAQF,UAAR,IAAsBE,QAAQ,IAArC;AAA4C,CAA9E,C;;;;;;;;;;;;;ACJA;;;;;;;;AACA,IAAMC,aAAa;AACjBC,WAAS;AACPC,UADO;AAEPC,SAFO;AAGPC,YAAQ;AAHD,GADQ;AAMjBC,OAAK;AACHH,UADG;AAEHC,SAFG;AAGHC,YAAQ;AAHL,GANY;AAWjBE,SAAO;AACLJ,UADK;AAELC,SAFK;AAGLC,YAAQ;AAHH,GAXU;AAgBjBpI,UAAQ;AACNkI,UADM;AAENC,SAFM;AAGNC,YAAQ;AAHF,GAhBS;AAqBjBG,WAAS;AACPL,UADO;AAEPC,SAFO;AAGPC,YAAQ;AAHD,GArBQ;AA0BjBI,WAAS;AACPN,UADO;AAEPC,SAFO;AAGPC,YAAQ;AAHD,GA1BQ;AA+BjBK,WAAS;AACPP,UADO;AAEPC,SAFO;AAGPC,YAAQ;AAHD,GA/BQ;AAoCjBM,SAAO;AACLR,UADK;AAELC,SAFK;AAGLC,YAAQ;AAHH;AApCU,CAAnB;;IA2CMO,SACJ,+FACqF;AAAA,MAA5EC,OAA4E,oEAArE,EAACC,MAAD,IAAWC,QAAX,IAAuBX,KAAvB,IAAgCY,SAAhC,IAAqE;AAAA,MAAvBC,YAAuB;AAAA,MAAZC,aAAY;;AAAA;;AACnF,MAAI1G,IAAJ;AACA,MAAI2G,mBAAJ,GAA0B;AACxB3G,sBAAkBwG,SADM,OACxBxG,CADwB,CACE;AAC1BA;AACAA,eAAWf,SAHa,MAGxBe,CAHwB,CAGG;AAC3BA,iBAJwB,QAIxBA,CAJwB,CAIF;AACtBA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA,aAXwB,IAWxBA,CAXwB,CAWV;AACdA,WAAO,CAACyF,oBAAD,IAZiB,GAYxBzF,CAZwB,CAYY;AACpCA;AACAA;AAdF,SAeO;AACL,QAAM4G,MAAMD,UAAZ,CAAYA,CAAZ;AACAzH,yBAAqB,eAAO;AAC1Bc,eAAS4G,IAAT5G,GAAS4G,CAAT5G;AADFd;AAGAc,WAAO,CAAE4G,YAAYnB,WAAWmB,IAAxB,IAAanB,CAAZmB,IAAF,IAAP5G;AACD;AACD;;;kBAGWoG,M;;;;;;;;;;;;;ACzEf,IAAIS,UAAJ;;AAEA3H,yCAAyC;AACvC4H,OAAK,eAAY;AACf,QAAI9G,IAAI6G,QAAR;AACA,WAAO7G,gBAAP;AACA;AACD;AALsC,CAAzCd;;AAQAA,0CAA0C;AACxC4H,OAAK,eAAY;AACf,QAAInF,KAAKoF,oBAAT,WAASA,EAAT;AACA,QAAIxH,MAAM;AACRyH,UADQ;AAERC,cAFQ;AAGRC,cAHQ;AAIRC,aAJQ;AAKRC,cAAQ;AALA,KAAV;AAOA,WAAO,UAAU,wBAAwB;AAAA,aAAO7H,cAAP,EAAOA,CAAP;AAAlC,KAAU,CAAV,QAAP;AACD;AAXuC,CAA1CL;;AAcAA,qCAAqC;AACnC4H,OAAK,eAAY;AACf,QAAInF,KAAKoF,UAAT;AACA,QAAIM,iBAAiB,yBAArB,EAAqB,CAArB;AACA,QAAIC,YAAY,4BAAhB;AACA,QAAIC,YAAY,mBAAhB,EAAgB,CAAhB;AACA,QAAIC,YAAY,mBAAhB,EAAgB,CAAhB;AACA,QAAIC,WAAW,gCAAiCF,aAAa,CAAC,kBAA/C,EAA+C,CAA/C,IAA0EC,aAAa,kBAAtG,EAAsG,CAAtG;AACA,QAAIE,UAAU,yBAAyB,CAAvC;AACA,QAAIC,OAAO,YAAY,CAAZ,aAA0B,CAA1B,aAAwC,CAAnD;AACA,WAAO;AACLF,gBADK;AAELC,eAFK;AAGLH,iBAHK;AAILI,YAJK;AAKLL,iBALK;AAMLD,sBANK;AAOLG;AAPK,KAAP;AASD;AAnBkC,CAArCtI;;kBAsBe2H,O;;;;;;;;AC9CF;;AAEb;;AACA,IAAIvB,aAAa,KAAK,CAAtB;;AAEA9B,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AAAE,SAAOA,UAAUkG,UAAV,IAAwBlG,UAAU,IAAzC;AAAgD,CAApF,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICLqB2D,oB;AACjB,6CAA0B;AAAA;;AACtB;AACH;;;;8BAEM6E,K,EAAO;AACZ,mBAAO,yBAAP;AACD;;;4BAEIA,K,EAAO;AACR,mBAAO,yBAAP;AACH;;;4BAEa;AACV,mBAAO,kBAAP;AACH;;;;;;kBAfgB7E,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArB;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;IAGM8E,S;;;AACJ,2BAAsB;AAAA;;AAAA;;AAEpB,mBAAc,oBAAS;AACrBzG,aADqB;AAErBI,cAFqB;AAGrBsG,eAHqB;AAIrBC,iBAJqB;AAKrBC,YAAM,CAAC/I,iDAAiD8H,UAAjD9H,YAAD,SALe,iBAKf,EALe;AAMrBgJ,gBANqB;AAOrBC,cAPqB;AAQrBC,gBARqB;AASrBC,oBAAc;AATO,KAAT,EAAd,OAAc,CAAd;AAWA,oBAAe5B,SAAf;AACA;AACA;AACA;AACA;AACA,iBAAY,mCAAsB,aAAlC,EAAY,CAAZ;AACA,qBAAgB,wCAA6B;AAC3C6B,oBAD2C;AAE3CC,qBAAe;AAF4B,KAA7B,EAAhB,mBAAgB,CAAhB;AAIA,QAAI,aAAJ,eAA+B;AAC7B;AACD;AACD,QAAI,CAAC,MAAL,MAAgB;AACd,UAAI1J,KAAK,aAAT;AACA,UAAIA,MAAMA,gBAAV,GAA6B;AAC3B;AADF,aAEO;AAAA;;AACL,4BAAmB,IAAIwH,QAAJ,QAAW;AAC5BmC,gBAD4B;AAE5BlC,gBAAM;AACJC,kBADI;AAEJC,oBAFI;AAGJX,iBAAK;AAHD,WAFsB;AAO5B4C,eAAK,aAAYA;AAPW,SAAX,CAAnB;AASAC;AACA;AACD;AACF;AACD;AACA,wBAAS,MAAT,6BAAyC5B,kBAAzC,gDAA2F,6BAA3F;AACA,2BAAsB,MAAtB;AACA,QAAI,aAAJ,OAAuB;AACrB;AACA;AACA;AACA,wCAAoC,4BAA2B,aAA/D,KAAoC,GAApC;;AAEA;AACA;AACA;AARF,WASO;AACL;AACA;AACA,UAAI,aAAJ,OAAuB;AACrB,YAAI,OAAO,aAAP,UAAJ,UAA2C;AACzC,mCAAwB,aAAxB;AADF,eAEO;AACL,mCAA2B,aAA3B,KAA2B,GAA3B;AACD;AACF;AACD,UAAI,aAAJ,QAAwB;AACtB,YAAI,OAAO,aAAP,WAAJ,UAA4C;AAC1C,oCAAyB,aAAzB;AADF,eAEO;AACL,oCAA4B,aAA5B,MAA4B,GAA5B;AACD;AACF;AACF;AACD,QAAI,aAAJ,uBAAuC;AACrC,iDAA0C,gBAAQ;AAChDxH;AADF;AAGD;AACD,QAAG,CAAC,aAAJ,WAA2B;AACzBwI,qBAAea,eAAfb,MAA4Ba,eAA5Bb;AACD;AACD,QAAI,6BAA4B,kBAAO,aAAP,kBAAhC,UAA+E;AAC7E,UAAIc,OAAJ;AACAC,YAAMD,YAANC,cAAgC;AAC9BC,gBAD8B;AAE9BC,iBAAS;AACPC,kBAAQ;AADD;AAFqB,OAAhCH,OAKQ,eAAe;AACrB,YAAII,IAAJ,IAAY;AACVA,0BAAgB,eAAe;AAC7B,iBAAK,IAAL,aAAsB;AACpB,kBAAIC,mBAAJ,IAAIA,CAAJ,EAA8B;AAC5BN,oCAAoBM,IAApBN,IAAoBM,CAApBN;AACD;AACF;AACDA;AANFK;AAQD;AAfHJ,eAgBS,eAAe;AACtBH,oBAAY,aAAZA;AAjBFG;AAFF,WAqBO;AACL;AACD;AACD,QAAG,aAAH,gBAA+B;AAC7Bf,yBAAmB,aAAnBA;AACD;AACD,qBAAgB,gBAAU;AACxB,UAAIqB,SAAShK,kBAAb,CAAaA,CAAb;AACA,UAAIiK,SAAS,MAAK9J,KAAlB,MAAkBA,CAAL,CAAb;AACA,kBAAY;AACV;AACD;AALH;;AAQA,8BAA0B,gBAAQ;AAChC,qBAAc,MAAK,OAAOA,eAAP,WAAOA,EAAP,GAAsCA,WAAzD,CAAyDA,CAA3C,CAAd;AADF;AAGA,QAAI+J,SAAJ;AACA,0BAAqB,YAAY;AAC/BA;AACA,UAAI,CAACA,cAAL,sBAAyC;AACvCA;AACD;AAJH;AAMA,6CAAwC,MAAxC;AACA,qBAAgB,YAAY;AAC1BA;AACA,UAAI,CAACA,cAAL,qBAAwC;AACtCA;AACD;AAJH;AAMAA,wBAAoB,MAApBA;;AAEA,yBAAoB,YAAY;AAC9B,UAAI,yBAAyB,WAA7B,aAAqD;AACnD,YAAIC,gBAAgBD,YAApB,qBAAoBA,EAApB;AACA,YAAIA,+BAAJ,QAA2C;AACzC,cAAIC,sBAAsBA,cAAtBA,SAA6C,wBAAwB,WAAzE,aAAiG;AAC/FD,uCAA8B,yBAAyB,WAAzB,aAAiDC,cAA/ED,KAA8B,GAA9BA;AADF,iBAEO;AACLA,sCAA6B,wBAAwB,WAAxB,cAAiDC,cAA9ED,MAA6B,GAA7BA;AACD;AALH,eAMO,IAAIA,+BAAJ,YAA+C;AACpDA,qCAA8B,yBAAyB,WAAzB,aAAiDC,cAA/ED,KAA8B,GAA9BA;AADK,eAEA,IAAIA,+BAAJ,aAAgD;AACrDA,oCAA6B,wBAAwB,WAAxB,cAAiDC,cAA9ED,MAA6B,GAA7BA;AACD;AACF;AAdH;AAgBAA,8BAA0B,MAA1BA;;AAEAE,eAAW,YAAM;AACf;AACA;AAFFA;;AAKA,QAAI,aAAJ,WAA2B;AACzB,UAAI,oBAAS,MAAT,MAAJ,kBAAI,CAAJ,EAA6C;AAC3C;AACD;AACF;AACD,QAAIF,cAAJ,QAA0B;AACxBA,qCAA+B,MAA/BA;AACAA,kCAA4B,MAA5BA;AACD;;AAED,yBAAsB;AACpBA,mDAA6CA,OAA7CA;AACAA;AACD;AACDA;AA7KoB;AA8KrB;;;;kCAEc;AAAA;;AACb,UAAG,cAAc,wBAAjB,GAA4C;AAC1C,+BAAuB,KAAvB,OAAmC,UAAnC;AACD;AACDE,iBAAW,YAAM;AACf;AACA,YAAG,gBAAc,OAAO,aAAP,WAAjB,YAA0D;AACxD;AACD;AAJHA;AAMD;;;4BAE6B;AAAA;;AAAA,UAAvB5I,MAAuB,oEAAjB,YAAYA,GAAK;;AAC5B,UAAG,CAAC,KAAJ,OAAgB;AAChB,UAAI0I,SAAJ;AACA,UAAI,QAAQ1I,QAAZ,IAAwB;AACtB;AACA;AACD;AACD,yBAAmB,YAAY;AAC7B0I,8BAAsBA,OAAtBA;AACA,YAAIG,cAAcH,aAAlB,IAAkBA,EAAlB;AACA,YAAIG,6BAAJ,aAA8C;AAC5CA,2BAAiB,YAAY;AAC3BH;AADFG,mBAES,YAAY;AACnBH;AACA,gCAASA,OAAT;AAJFG;AAMD;AAVH;AAYA,UAAI,2BAAJ,SAA6B;AAC3B,YAAI,uCAA4B7I,uBAAuB,CAAnD,KAAyDA,QAAQ,WAArE,KAAqF;AACnF;AADF,eAEO;AACL;AACD;AALH,aAMO;AACLA,oBAAY,gBAAQ;AAClB,mCAAuB,mCAAwB;AAC7CF,sBAAQnB,KADqC;AAE7CkJ,wBAASlJ,aAATkJ;AAF6C,WAAxB,CAAvB;AADF7H;AAMD;AACD,UAAI,YAAJ,UAA0B;AACxB,YAAImG,qBAAJ,SAAwB;AACtB;AADF,eAEO;AACL,6BAAmB,KAAnB;AACD;AACF;AACD,UAAG,CAAC,YAAJ,kBAAkC;AAChC;AACD;AACD;AACD;;;6BAES;AACR;AACA,wBAAkB,YAAY;AAC5B;AACA,YAAI0C,cAAc,KAAlB,IAAkB,EAAlB;AACA,YAAIA,6BAAJ,aAA8C;AAC5CA,4BAAkB,eAAO,CAAzBA;AACD;AALH;AAOA,8BAAwB,KAAxB;AACD;;;8BAEyB;AAAA;;AAAA,UAAjBC,WAAiB,oEAAN,IAAM;;AACxB,UAAIJ,SAAJ;AACAlI,oBAAc,KAAdA;AACA,WAAK,IAAL,KAAc,KAAd,WAA8B;AAC5BA,sBAAc,eAAdA,CAAc,CAAdA;AACA;AACD;AACD,UAAI,KAAJ,YAAqB;AACnBA,sBAAc,KAAdA;AACD;AACD,UAAI,KAAJ,WAAoB;AAClBuI,qBAAa,KAAbA;AACD;AACD,sBAAgB,gBAAU;AACxB,YAAIP,SAAShK,kBAAb,CAAaA,CAAb;AACA,YAAIiK,SAAS,OAAK9J,KAAlB,MAAkBA,CAAL,CAAb;AACA,oBAAY;AACV;AACD;AALH;AAOA,UAAI,KAAJ,gBAAyB;AACvB,+BAAuB,KAAvB;AACD;AACD,UAAI,KAAJ,YAAqB;AACnB,+BAAuB,KAAvB;AACD;AACD,UAAI,KAAJ,YAAqB;AACnB,yBAAiB,KAAjB;AACD;AACD,UAAI,KAAJ,UAAmB;AACjB,yBAAiB,KAAjB;AACD;AACD,UAAI,KAAJ,cAAuB;AACrB,+BAAuB,KAAvB;AACD;AACD,gCAA0B,gBAAQ;AAChC,yBAAe,OAAK,OAAOA,eAAP,WAAOA,EAAP,GAAsCA,WAA1D,CAA0DA,CAA3C,CAAf;AADF;AAGA,UAAI,CAAC,YAAD,eAA4B,4BAAhC,MAAkE;AAChE,sCAA8B,gBAAQ;AACpC,cAAI,OAAJ,IAAI,CAAJ,EAAgB;AACd,wDAA0C,aAAa;AAAE+J;AAAzD;AACD;AAHH;AAKD;;AAED,6BAAwB;AACtB;AACA;AACA;;AAEA;AACA,mCANsB,KAMtB,EANsB,CAMY;AAClC;AACA,sBAAc;AACZ;AACA;AACA,cAAIM,gBAAgB,0BAApB,GAAoB,CAApB;AACA,cAAIA,uBAAJ,GAA8B;AAC5B,kCAAsB,qBAAqB;AAAA,qBAAQhI,2BAAR;AAArB,oBAAtB,GAAsB,CAAtB;AADF,iBAEO;AACL;AACD;AACF;;AAED,aAAK,IAAL,YAAoB;AAClB;AACA,iBAAO,KAAP,EAAO,CAAP;AACA;AACD;AACD;AACD;;AAED,UAAI,CAAC,KAAL,QAAkB;AAChB;AACA;AAFF,aAGO;AACLiI;AACD;AACD;AACD;;;6BAES;AACR,UAAIhB,OAAJ;AACA,UAAIiB,UAAU,KAAd;AACA;AACA,6BAAY,KAAZ;AACA,UAAG/C,0CAAgC,CAAnC,GAAuC;AACrC;AACA;AACD;;AAED,UAAI+C,WAAWA,mBAAf,UAA4C;AAC1CA;AADF,aAEO;AACL;AACA;AACA,YAAIL,cAAc,KAAlB,IAAkB,EAAlB;AACA,YAAIA,6BAAJ,aAA8C;AAC5CA,4BAAkB,eAAO,CAAzBA;AACD;AACF;AACF;;;yCAEqB7H,I,EAAMmI,K,EAAO;AAAA;;AACjC,UAAMC,iCAAiC,SAAjCA,8BAAiC,cAAiB;AACtD;AADF;AAGA,UAAG,0CAA0C,OAAO,uCAAP,IAAO,CAAP,KAA7C,YAAiH;AAC/G;AADF,aAEO;AACLA;AACD;AACF;;;kCAEc;AAAA;;AACb,UAAGjC,eAAH,QAAGA,CAAH,EAA6B;AAC3BA;AACD;AACD,UAAIc,OAAJ;AACA,UAAId,OAAJ,SAAoB;AAClB,YAAIC,UAAU,YAAd;AACA5I,oBAAY2I,OAAZ3I,iBAAoC,gBAAQ;AAC1C,cAAI6K,aAAalC,eAAjB,IAAiBA,CAAjB;AACA,cAAG,eAAe,sBAAlB,YAAmD;AACjDY;AADF,iBAEO;AACL,gBAAI,CAAC,aAAa;AAAA,qBAAQ/G,iBAAiBA,SAAS,OAAlC;AAAd,aAAC,CAAD,IAAgEA,SAApE,UAAuF;AACrF,kBAAI,gCAAgC;AAAA,uBAAQ6G,SAAR;AAApC,eAAI,CAAJ,EAA4D;AAC1D,oBAAI7G,SAASmF,kBAAb,QAA6B;AAC3ByC,6BAAW,YAAM;AACf;AACA,wBAAI,CAACX,KAAL,OAAiB;AACjBoB;AAHFT;AAKD;AAPH,qBAQO;AACLS;AACD;AACF;AACF;AAlBH7K;AAoBD;AACF;;;8BAEU;AACT,UAAIkK,SAAJ;AACA,UAAG,oBAAS,KAAT,MAAH,mBAAG,CAAH,EAA6C;AAC3CA;AACD;AACD,6BAAY,KAAZ;AACA,UAAIA,OAAJ,WAAsB;AACpBK,qBAAaL,OAAbK;AACD;AACDL,yBAAmB,WAAW,YAAY;AACxCA;AADiB,SAEhBA,cAFHA,QAAmB,CAAnBA;AAGD;;;6BAES;AACR;AACA,UAAI,CAAC,oCAAoC,CAAC,KAAtC,WAAsD,CAAC,KAAvD,SAAqE,CAAC,YAA1E,eAAqG;AACnG,YAAG,CAAC,oBAAS,KAAT,MAAJ,mBAAI,CAAJ,EAA8C;AAC5C;AACD;AACD,4BAAS,KAAT;AACD;AACF;;;6BAES;AACR,0BAAS,KAAT;AACA,0BAAS,KAAT;AACA,6BAAY,KAAZ;AACD;;;8BAEU;AACT,0BAAS,KAAT;AACA,UAAI,KAAJ,WAAoB;AAClBK,qBAAa,KAAbA;AACD;AACD;AACD;;;8BAEU;AACT,0BAAS,KAAT;AACA,6BAAY,KAAZ;AACD;;;gCAEY;AACX;AACA;AACA;AACA;AACD;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;+BAEY;AAAA;;AACV;AACA,8BAAwB,YAAM;AAC5B;AADF;AAGA,UAAI,KAAJ,WAAoB;AAClBA,qBAAa,KAAbA;AACD;AACD,6BAAY,KAAZ;AACD;;;gCAEY;AACX,UAAId,OAAJ;AACA,UAAIA,KAAJ,WAAoB;AAClBc,qBAAad,KAAbc;AACD;AACD,UAAId,KAAJ,YAAqB;AACnBzH,sBAAcyH,KAAdzH;AACAyH;AACD;AACD,UAAIxI,OAAOwI,KAAX;AACAA,uBAAiB,WAAW,YAAY;AACtC,4BAASA,KAAT;AACAA,0BAAkB,YAAY,YAAY;AACxC,cAAIA,qBAAJ,MAA+B;AAC7B,mCAAYA,KAAZ;AACAzH,0BAAcyH,KAAdzH;AACAyH;AACD;AALe,WAAlBA,IAAkB,CAAlBA;AAFe,SAAjBA,GAAiB,CAAjBA;AAUD;;;gCAEY;AACX;AACA,UAAI,KAAJ,QAAiB;AACf;AACD;AACD;AACA,UAAI,KAAJ,WAAoB;AAClBc,qBAAa,KAAbA;AACD;AACD,6BAAY,KAAZ;AACA,0BAAS,KAAT;AACD;;;4BAEe/H,I,EAAMqI,U,EAAY;AAChC,UAAI,CAAC,UAAL,cAAK,GAAL,EAAuB;AACrB;AACD;AACD,UAAI,CAAClC,OAAL,SAAqB;AACnBA;AACD;AACD,UAAI,CAACA,eAAL,IAAKA,CAAL,EAA2B;AACzBA;AACD;AACF;;;+BAEkBlE,I,EAAM;AACvB,WAAI,IAAIqG,IAAR,GAAeA,IAAIrG,KAAnB,aAAoC;AAClCkE,uBAAelE,QAAfkE,MAA6BlE,QAA7BkE;AACD;AACF;;;wBAEWnG,I,EAAMqI,U,EAAY;AAC5B,UAAI,CAAClC,OAAL,SAAqB;AACnBA;AACD;AACDA;AACD;;;2BAEclE,I,EAAM;AACnB,WAAK,IAAL,WAAoB;AAClBkE,mBAAWlE,QAAXkE,MAAyBlE,QAAzBkE;AACD;AACF;;;gCAEmBoC,U,EAAYlJ,O,EAAS;AACvCkJ,yBAAmB,mBAAkB;AACnCC;AADFD;AAGD;;;;EAphBkBE,e;;AAuhBrBtC,cAActE,MAAdsE;AACAA,iBAAiBhB,UAAjBgB;AACAA,gBAAgBzB,QAAhByB;AACAA,2BAA2B9E,oBAA3B8E;;kBAEeA,M;;;;;;;;;;;;;;ACxiBf;;AAEA,IAAIa,SAAS,SAATA,MAAS,GAAY;AACvB,MAAIU,SAAJ,KAAmB,IAAIpB,OAAJ;AACnBA,YAAU;AACRoC,kBADQ;AAERC,mBAFQ;AAGRC,uBAHQ;AAIRC,sBAJQ;AAKRC,sBALQ;AAMRC,mBANQ;AAORC,kBAPQ;AAQRC,qBARQ;AASRC,uBATQ;AAURC,uBAVQ;AAWRC,uBAXQ;AAYRC,sBAZQ;AAaRC,iCAbQ;AAcRC,YAdQ;AAeRC,WAfQ;AAgBRC,eAhBQ;AAiBRC,gBAjBQ;AAkBRC,mBAlBQ;AAmBRC,mBAnBQ;AAoBRC,iBApBQ;AAqBRC,iBArBQ;AAsBRC,qBAtBQ;AAuBRC,yBAvBQ;AAwBRC,wBAxBQ;AAyBRC,4BAzBQ;AA0BRC,eA1BQ;AA2BR1I,SA3BQ;AA4BR2I,gBA5BQ;AA6BRC,gBA7BQ;AA8BRC,UA9BQ;AA+BRC,SA/BQ;AAgCRC,qBAhCQ;AAiCRC,kBAAc;AAjCN,GAAVnE;AAmCAA,kBAAgB;AACdoC,kBADc;AAEdC,mBAFc;AAGdC,uBAHc;AAIdC,sBAJc;AAKdC,sBALc;AAMdC,mBANc;AAOdC,kBAPc;AAQdC,qBARc;AASdC,uBATc;AAUdC,uBAVc;AAWdC,uBAXc;AAYdC,sBAZc;AAadC,iCAbc;AAcdC,YAdc;AAedC,WAfc;AAgBdC,eAhBc;AAiBdC,gBAjBc;AAkBdC,mBAlBc;AAmBdC,mBAnBc;AAoBdC,iBApBc;AAqBdC,iBArBc;AAsBdC,qBAtBc;AAuBdC,yBAvBc;AAwBdC,wBAxBc;AAyBdC,4BAzBc;AA0BdC,eA1Bc;AA2Bd1I,SA3Bc;AA4Bd2I,gBA5Bc;AA6BdC,gBA7Bc;AA8BdC,UA9Bc;AA+BdC,SA/Bc;AAgCdC,qBAhCc;AAiCdC,kBAAc;AAjCA,GAAhBnE;AAmCAA,kBAAgB;AACdoC,kBADc;AAEdC,mBAFc;AAGdC,uBAHc;AAIdC,sBAJc;AAKdC,sBALc;AAMdC,mBANc;AAOdC,kBAPc;AAQdC,qBARc;AASdC,uBATc;AAUdC,uBAVc;AAWdC,uBAXc;AAYdC,sBAZc;AAadC,iCAbc;AAcdC,YAdc;AAedC,WAfc;AAgBdC,eAhBc;AAiBdC,gBAjBc;AAkBdC,mBAlBc;AAmBdC,mBAnBc;AAoBdC,iBApBc;AAqBdC,iBArBc;AAsBdC,qBAtBc;AAuBdC,yBAvBc;AAwBdC,wBAxBc;AAyBdC,4BAzBc;AA0BdC,eA1Bc;AA2Bd1I,SA3Bc;AA4Bd2I,gBA5Bc;AA6BdC,gBA7Bc;AA8BdC,UA9Bc;AA+BdC,SA/Bc;AAgCdC,qBAhCc;AAiCdC,kBAAc;AAjCA,GAAhBnE;AAmCAA,eAAa;AACXoC,kBADW;AAEXC,mBAFW;AAGXC,uBAHW;AAIXC,sBAJW;AAKXC,sBALW;AAMXC,mBANW;AAOXC,kBAPW;AAQXC,qBARW;AASXC,uBATW;AAUXC,uBAVW;AAWXC,uBAXW;AAYXC,sBAZW;AAaXC,iCAbW;AAcXC,YAdW;AAeXC,WAfW;AAgBXC,eAhBW;AAiBXC,gBAjBW;AAkBXC,mBAlBW;AAmBXC,mBAnBW;AAoBXC,iBApBW;AAqBXC,iBArBW;AAsBXC,qBAtBW;AAuBXC,yBAvBW;AAwBXC,wBAxBW;AAyBXC,4BAzBW;AA0BXC,eA1BW;AA2BX1I,SA3BW;AA4BX2I,gBA5BW;AA6BXC,gBA7BW;AA8BXC,UA9BW;AA+BXC,SA/BW;AAgCXC,qBAhCW;AAiCXC,kBAAc;AAjCH,GAAbnE;;AAoCA9I,wCAAsC;AACpC4H,SAAK,eAAY;AACf,UAAIsC,OAAJ,QAAmB;AACjB,eAAOpB,KAAKoB,cAALpB,SAA4BA,KAAnC,IAAmCA,CAAnC;AADF,aAEO;AACL,eAAOA,KAAP,IAAOA,CAAP;AACD;AANiC;AAQpCoE,SAAK,oBAAiB;AACpB,UAAI,6BAAJ,UAAgC;AAC9BlN,mCAA2B,eAAO;AAChC8I,sBAAY5I,MAAZ4I,GAAY5I,CAAZ4I;AADF9I;AAGD;AACF;AAdmC,GAAtCA;AA/IF;;kBAkKe;AACbwC,QADa;AAEbmH,UAAQH;AAFK,C;;;;;;;;;;;;;;;;;;;;;;;;ACpKf;;;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;IAEMyB,Q;AACJ,0BAAsB;AAAA;;AAAA;;AACpB;AACA,uBAAmB;AACjBhC,gBAAU,CAAC,CAACkE,QADK;AAEjBC,gBAAUD,QAFO;AAGjBE,mBAAaF,QAHI;AAIjB,4BAAsBA,QAJL;AAKjB,wBAAkBA,QALD;AAMjB,8BAAwBA,mCAAmCA,QAN1C,mBAM0CA,CAN1C;AAOjB,oCAA8BA,yCAAyCA,QAPtD,yBAOsDA,CAPtD;AAQjB,8BAAwBA,mCAAmCA,QAR1C,oBAQ0CA,CAR1C;AASjBG,eAASH,QATQ,SASRA,CATQ;AAUjB,wBAAkBA,QAVD,SAUCA,CAVD;AAWjBI,gBAXiB;AAYjBC,iBAAWL,qBAAqB;AAZf,KAAnB;AAcA,QAAIA,QAAJ,OAAmB;AACjB;AACD;AACD,QAAIA,QAAJ,MAAkB;AAChB;AACD;AACD,QAAIM,eAAJ;AACA;AACA,QAAIN,2BAA2BxL,cAAcwL,QAA7C,eAA+BxL,CAA/B,EAAuE;AACrE,UAAIwL,sCAAsC,CAAC,6BAA6B,iBAAS;AAAE,eAAOO,MAAP;AAAnF,OAA2C,CAA3C,EAA4G;AAC1GP;AACA;AACD;AACDA,mCAA6B,iBAAS;AACpC,YAAIO,aAAaA,MAAbA,SAA4BA,MAAhC,SAA+C;AAC7CD,2CAA+BC,MAA/BD;AACA,cAAIC,MAAJ,MAAgB;AACdD,uCAAyBC,MAAzBD;AACD;AACDA,sCAA0BC,MAA1BD;AACA,cAAIC,MAAJ,SAAmB;AACjBD,0CAA4BC,MAA5BD;AACD;AACDA,2BAAmBC,4BAAnBD;AACA;AACD;AAZHN;AAcA;AACD;AACD,QAAIA,QAAJ,gBAA4B;AAC1B,UAAIrJ,QAAQ/D,uBAAZ,OAAYA,CAAZ;AACA;AACAA;AACA,UAAI4N,WAAJ;AACA,WAAK,IAAL,SAAkBR,QAAlB,gBAA0C;AACxCQ,mCAAyBR,uBAAzBQ,KAAyBR,CAAzBQ;AACD;AACD,UAAIC,OAAOT,mBAAiBA,QAAjBA,KAAiCA,sBAAoBA,WAApBA,WAA0CA,WAAtF;AACA,UAAIrJ,YAAJ,YAA4B;AAC1BA;AADF,aAEO,IAAIA,YAAJ,SAAyB;AAC9BA;AACD;AACF;AACD,QAAIpE,KAAKyN,aAAaA,QAAbA,KAA0B,mCAAsBA,QAAzD,EAAmC,CAAnC;AACA,QAAMU,eAAe,iBAArB;AACA,QAAGA,gBAAgB,+BAA+BA,aAAlD,WAA0E;AACxE,mBAAa,qBAAb,OAAa,CAAb;AADF,WAEO;AACL,mBAAa,qBAAU,iBAAV,yBAAoD,KAApD,aAAb,EAAa,CAAb;AACD;AACD,QAAIV,QAAJ,YAAwB;AACtBnN,kBAAYmN,QAAZnN,oBAAwC,eAAO;AAC7C,4BAAS,MAAT,YAA0BmN,mBAA1B,GAA0BA,CAA1B;AADFnN;AAGD;AACD,QAAI,CAAC,KAAD,wBAAJ,cAAgD;AAC9C,UAAI8N,YAAY,gCAAhB,OAAgB,CAAhB;AACAA;AACD;AACD,QAAIX,QAAJ,UAAsB;AACpB;AACA,UAAIA,QAAJ,eAA2B;AACzB;AACD;AACF;;AAED,cAAU,uOAEJ,gBAAU;AACd,8CACehN,eADf,WACeA,EADf,GAC8CA,WAD9C,CAC8CA,CAD9C;AAHF,KAAU,CAAV;AAOA;;AAEA;AACA,QAAI4N,aAAJ;AACA,QAAItE,OAAJ;;AAEA,QAAMuE,2BAA2B,SAA3BA,wBAA2B,OAAQ;AACvC;AACA,UAAI,CAAJ,OAAW;AACT;AACD;AACD,UAAIxL,SAAJ,QAAqB;AACnB;AADF,aAEO,IAAIA,SAAJ,WAAwB;AAC7B,+BAAY,MAAZ;AADK,aAEA,IAAIA,SAAJ,WAAwB;AAC7B,+BAAsB,WAAtB,OAAsB,EAAtB;AADK,aAEA,IAAIA,SAAJ,WAAwB;AAC7B,+BAAY,MAAZ;AACA,YAAI,MAAJ,gBAAyB;AACvB;AACD;AACF;AACD,UAAIA,SAAJ,SAAsB;AACpB;AACA;AAFF,aAGO;AACL;AACD;;AAED,UAAI,qBAAJ,WAAI,CAAJ,EAAsC;AACpC,YAAI,iDAAJ,GAAwD;AACtD;AACA,2DAAqC,YAAY;AAC/C,gBAAI,cAAc,WAAlB,UAAuC;AACrC,kBAAIyL,YAAJ;AACA,mBAAK,IAAIrL,IAAJ,GAAWnC,MAAM,oBAAtB,QAAkDmC,IAAlD,UAAgE;AAC9DqL,+BAAe,CAAC,0BAAD,CAAC,CAAD,EAA+B,wBAA9CA,CAA8C,CAA/B,CAAfA;AACD;AACD,kBAAIA,yBAAJ,YAAyC;AACvCF,6BAAaE,UAAbF,QAAaE,EAAbF;AACA;AACD;AACF;AAVH;AAFF,eAcO;AACL,cAAIvL,SAAJ,cAA2B;AACzB;AACD;AACF;AACF;AA5CH;;AA+CA,QAAM0L,oBAAoB,SAApBA,iBAAoB,OAAQ;AAChC,UAAGf,gCAAgC,OAAOA,6BAAP,IAAOA,CAAP,KAAnC,YAA6F;AAC3FA;AADF,aAEO;AACLa;AACD;AALH;;AAQA,oBAAgB,gBAAQ;AACtBvE,oBAAczJ,kBAAdyJ,CAAczJ,CAAdyJ;AACA,UAAIjH,OAAOxC,kBAAX,CAAWA,CAAX;AACAyJ,kCAA4BzJ,kBAA5ByJ,CAA4BzJ,CAA5ByJ,EAAkDyE,6BAAlDzE,IAAkDyE,CAAlDzE;AAHF;AAKD;AACD;;;;;;6BAGUjH,I,EAAM;AACd,UAAI,cAAc,WAAlB,OAAoC;AAClC,wBAAgB,IAAI0E,QAAJ,iBAAoB,KAApB,aAAsC,KAAtC,UAAqD,KAArD,cAAwE,KAAxE,YAAyF,KAAzF,YAA0G,KAA1G,KACd,KADc,OACF;AACVE,gBADU;AAEVV,eAAK,KAFK;AAGVW,kBAAQ;AAHE,SADE,EAKX,iBALW,MAKY,WAL5B,KAAgB,CAAhB;AAMD;AACF;;;8BAWU;AACT,UAAI,KAAJ,gBAAyB;AACvB,mDAA2C,KAA3C;AACD;AACF;;;2BACO;AACN,aAAO,WAAP,IAAO,EAAP;AACD;;;4BACQ;AACP;AACD;;;gCACYgC,I,EAAM;AACjB,aAAO,uBAAP,IAAO,CAAP;AACD;;;qCACiB/F,Q,EAAU;AAC1B,UAAI6K,QAAQ,IAAZ,CAAY,CAAZ;AACA,UAAI/J,QAAQ,KAAZ;AACA,UAAG,CAAH,UAAcd,WAAWc,MAAXd;AACd,UAAI8K,cAAchK,MAAlB;AACA,oBAAc;AACZ,aAAK,IAAIxB,IAAJ,GAAWnC,MAAM6C,SAAtB,QAAuCV,IAAvC,UAAqD;AACnDuL,qBAAW7K,eAAX6K,CAAW7K,CAAX6K;AACAA,qBAAW7K,aAAX6K,CAAW7K,CAAX6K;AACA,cAAIA,2BAA2BC,eAAeD,MAA9C,CAA8CA,CAA9C,EAAwD;AACtD;AACD;AACF;AACF;AACD,UAAIA,+BAA+BC,cAAcD,MAAdC,CAAcD,CAAdC,IAAnC,GAAgE;AAC9D;AADF,aAEO;AACL,eAAO,IAAP,CAAO,CAAP;AACD;AACF;;;4BACQ5P,K,EAAO4E,E,EAAI;AAClB;AACD;;;8BACU5E,K,EAAO4E,E,EAAI;AACpB;AACD;;;wBAhDe;AACd,aAAO,KAAP;;sBAEYiL,I,EAAM;AAClB,UAAI,6BAA6BA,SAA7B,QAA8C,CAAC,KAAnD,WAAmE;AACjE;AACA;AACD;AACF;;;sBAyCaC,M,EAAQ;AACpB,UAAG,KAAH,OAAe;AACb;AACD;;wBAEa;AACd,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACe;AACd,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACgB;AACf,aAAO,wBAAa,WAApB,QAAO,CAAP;AACD;;;wBACkB;AACjB,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEcA,M,EAAQ;AACvB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACiB;AAChB,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACkB;AACjB,UAAG,KAAH,OAAe;AACb,eAAO,0BAAP;AADF,aAEO;AACL;AACD;;sBAEcrN,I,EAAM;AAAA;;AACrB,UAAI,kCAAkC,CAACsN,SAAvC,IAAuCA,CAAvC,EAAuD;AACvD,UAAI,oBAAS,KAAT,MAAJ,gBAAI,CAAJ,EAA2C;AACzC,6BAAqB,YAAM;AAAE;AAA7B;AACA;AAFF,aAGO;AACL;AACD;AACD;AACD;;;wBACmB;AAClB,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEeD,M,EAAQ;AACxB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACe;AACd,UAAG,YAAH,UAAyB;AACvB,YAAG,KAAH,OAAe,OAAO1N,SAAS,YAATA,UAA+B,WAArD,QAAsBA,CAAP,CAAf,KACK,OAAO,YAAP;AACN;AACD,UAAI,CAAC,KAAL,OAAiB;AACjB,aAAO,WAAP;AACD;;;wBACY;AACX,UAAG,KAAH,OAAe;AACb,eAAO,oBAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACY;AACX,UAAI4N,MAAM,WAAV;AACA,UAAI,CAAJ,KAAU;AACR;AACD;AACD,UAAIC,SAAS,CAAC;AACZC,YADY;AAEZC,YAAI;AAFQ,OAAD,EAGV;AACDD,YADC;AAEDC,YAAI;AAFH,OAHU,EAMV;AACDD,YADC;AAEDC,YAAI;AAFH,OANU,EASV;AACDD,YADC;AAEDC,YAAI;AAFH,OATU,CAAb;AAaA,aAAO,YAAY,UAAUF,OAAOD,WAAPC,GAAtB,EAAY,CAAZ,GAAiDA,OAAOD,WAAPC,GAAxD;AACD;;;wBACW;AACV,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEOH,M,EAAQ;AAChB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACY;AACX,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEQA,M,EAAQ;AACjB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACmB;AAClB,UAAIG,SAAS,CAAC;AACZC,YADY;AAEZC,YAAI;AAFQ,OAAD,EAGV;AACDD,YADC;AAEDC,YAAI;AAFH,OAHU,EAMV;AACDD,YADC;AAEDC,YAAI;AAFH,OANU,EASV;AACDD,YADC;AAEDC,YAAI;AAFH,OATU,CAAb;AAaA,aAAO,YAAY,UAAUF,OAAO,WAAPA,cAAtB,EAAY,CAAZ,GAA4DA,OAAO,WAAPA,cAAnE;AACD;;;wBACa;AACZ;AACA;AACA;AACA;AACA;AACA,aAAO,oBAAS,KAAT,MAAP,gBAAO,CAAP;AACD;;;wBACmB;AAClB,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEeG,I,EAAM;AACtB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACa;AACZ,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACc;AACb,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEUN,M,EAAQ;AACnB,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACiB;AAChB,UAAIG,SAAS,CAAC;AACZC,YADY;AAEZC,YAAI;AAFQ,OAAD,EAGV;AACDD,YADC;AAEDC,YAAI;AAFH,OAHU,EAMV;AACDD,YADC;AAEDC,YAAI;AAFH,OANU,EASV;AACDD,YADC;AAEDC,YAAI;AAFH,OATU,EAYV;AACDD,YADC;AAEDC,YAAI;AAFH,OAZU,CAAb;AAgBA,aAAO,YAAY,UAAUF,OAAO,WAAPA,YAAtB,EAAY,CAAZ,GAA0DA,OAAO,WAAxE,UAAiEA,CAAjE;AACD;;;wBACe;AACd,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACc;AACb,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;AACF;;;wBACU;AACT,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAEMjN,G,EAAK;AACZ,UAAI,CAAC,oBAAS,KAAT,MAAL,gBAAK,CAAL,EAA4C;AAC1C,+BAAuB,WAAvB;AACD;AACD,6BAAY,KAAZ;AACA;AACA;AACA;AACA;AACD;;;sBACWqN,S,EAAW;AACrB,UAAIC,SAAS,mBAAQ,KAAR,MAAb,kBAAa,CAAb;AACA,kBAAY;AACVA;AACD;AACF;;;wBACa;AACZ,UAAG,KAAH,OAAe;AACb,eAAO,WAAP;AADF,aAEO;AACL;AACD;;sBAESC,G,EAAK;AACf,UAAG,KAAH,OAAe;AACb;AACD;AACF;;;wBACiB;AAChB,aAAO,oBAAS,KAAT,mCAAiD,oBAAS,KAAT,MAAxD,4BAAwD,CAAxD;AACD;;;wBACa;AACZ,aAAO,mBAAQ,KAAR,oBAAiC,oBAAS,mBAAQ,KAAR,MAAT,UAAS,CAAT,EAAjC,oBAAiC,CAAjC,GAAP;AACD;;;wBACgB;AACf,aAAO,oBAAS,KAAT,MAAP,uBAAO,CAAP;AACD;;;wBACU;AACT,aAAO,oBAAS,KAAT,MAAP,qBAAO,CAAP;AACD;;;wBACmB;AAClB,aAAO,oBAAS,KAAT,MAAP,4BAAO,CAAP;AACD;;;;;;kBAGY9D,K;;;;;;;;AC9eF;;AAEb,IAAI+D,IAAW3I,mBAAOA,CAAC,EAAR,CAAf;AAAA,IACI4I,WAAW5I,mBAAOA,CAAC,EAAR,CADf;AAAA,IAGI6I,QAAQC,SAASC,SAAT,CAAmBF,KAH/B;AAAA,IAGsCG,OAAOF,SAASC,SAAT,CAAmBC,IAHhE;AAAA,IAIIC,SAAStP,OAAOsP,MAJpB;AAAA,IAI4BC,iBAAiBvP,OAAOuP,cAJpD;AAAA,IAKIC,mBAAmBxP,OAAOwP,gBAL9B;AAAA,IAMIC,iBAAiBzP,OAAOoP,SAAP,CAAiBK,cANtC;AAAA,IAOI5E,aAAa,EAAE6E,cAAc,IAAhB,EAAsBC,YAAY,KAAlC,EAAyCC,UAAU,IAAnD,EAPjB;AAAA,IASIxQ,EATJ;AAAA,IASQC,IATR;AAAA,IAScwQ,GATd;AAAA,IASmBC,IATnB;AAAA,IASyBC,OATzB;AAAA,IASkCC,WATlC;AAAA,IAS+CC,IAT/C;;AAWA7Q,KAAK,UAAUiK,IAAV,EAAgB6G,QAAhB,EAA0B;AAC9B,KAAI/J,IAAJ;;AAEA8I,UAASiB,QAAT;;AAEA,KAAI,CAACT,eAAeJ,IAAf,CAAoB,IAApB,EAA0B,QAA1B,CAAL,EAA0C;AACzClJ,SAAO0E,WAAW3K,KAAX,GAAmBoP,OAAO,IAAP,CAA1B;AACAC,iBAAe,IAAf,EAAqB,QAArB,EAA+B1E,UAA/B;AACAA,aAAW3K,KAAX,GAAmB,IAAnB;AACA,EAJD,MAIO;AACNiG,SAAO,KAAKgK,MAAZ;AACA;AACD,KAAI,CAAChK,KAAKkD,IAAL,CAAL,EAAiBlD,KAAKkD,IAAL,IAAa6G,QAAb,CAAjB,KACK,IAAI,OAAO/J,KAAKkD,IAAL,CAAP,KAAsB,QAA1B,EAAoClD,KAAKkD,IAAL,EAAWlE,IAAX,CAAgB+K,QAAhB,EAApC,KACA/J,KAAKkD,IAAL,IAAa,CAAClD,KAAKkD,IAAL,CAAD,EAAa6G,QAAb,CAAb;;AAEL,QAAO,IAAP;AACA,CAjBD;;AAmBA7Q,OAAO,UAAUgK,IAAV,EAAgB6G,QAAhB,EAA0B;AAChC,KAAI7Q,IAAJ,EAAUoK,IAAV;;AAEAwF,UAASiB,QAAT;AACAzG,QAAO,IAAP;AACArK,IAAGiQ,IAAH,CAAQ,IAAR,EAAchG,IAAd,EAAoBhK,OAAO,YAAY;AACtCwQ,MAAIR,IAAJ,CAAS5F,IAAT,EAAeJ,IAAf,EAAqBhK,IAArB;AACA6P,QAAMG,IAAN,CAAWa,QAAX,EAAqB,IAArB,EAA2BzI,SAA3B;AACA,EAHD;;AAKApI,MAAK+Q,kBAAL,GAA0BF,QAA1B;AACA,QAAO,IAAP;AACA,CAZD;;AAcAL,MAAM,UAAUxG,IAAV,EAAgB6G,QAAhB,EAA0B;AAC/B,KAAI/J,IAAJ,EAAUkK,SAAV,EAAqBC,SAArB,EAAgC1N,CAAhC;;AAEAqM,UAASiB,QAAT;;AAEA,KAAI,CAACT,eAAeJ,IAAf,CAAoB,IAApB,EAA0B,QAA1B,CAAL,EAA0C,OAAO,IAAP;AAC1ClJ,QAAO,KAAKgK,MAAZ;AACA,KAAI,CAAChK,KAAKkD,IAAL,CAAL,EAAiB,OAAO,IAAP;AACjBgH,aAAYlK,KAAKkD,IAAL,CAAZ;;AAEA,KAAI,OAAOgH,SAAP,KAAqB,QAAzB,EAAmC;AAClC,OAAKzN,IAAI,CAAT,EAAa0N,YAAYD,UAAUzN,CAAV,CAAzB,EAAwC,EAAEA,CAA1C,EAA6C;AAC5C,OAAK0N,cAAcJ,QAAf,IACDI,UAAUF,kBAAV,KAAiCF,QADpC,EAC+C;AAC9C,QAAIG,UAAU3P,MAAV,KAAqB,CAAzB,EAA4ByF,KAAKkD,IAAL,IAAagH,UAAUzN,IAAI,CAAJ,GAAQ,CAAlB,CAAb,CAA5B,KACKyN,UAAUE,MAAV,CAAiB3N,CAAjB,EAAoB,CAApB;AACL;AACD;AACD,EARD,MAQO;AACN,MAAKyN,cAAcH,QAAf,IACDG,UAAUD,kBAAV,KAAiCF,QADpC,EAC+C;AAC9C,UAAO/J,KAAKkD,IAAL,CAAP;AACA;AACD;;AAED,QAAO,IAAP;AACA,CA1BD;;AA4BAyG,OAAO,UAAUzG,IAAV,EAAgB;AACtB,KAAIzG,CAAJ,EAAO4N,CAAP,EAAUN,QAAV,EAAoBG,SAApB,EAA+BI,IAA/B;;AAEA,KAAI,CAAChB,eAAeJ,IAAf,CAAoB,IAApB,EAA0B,QAA1B,CAAL,EAA0C;AAC1CgB,aAAY,KAAKF,MAAL,CAAY9G,IAAZ,CAAZ;AACA,KAAI,CAACgH,SAAL,EAAgB;;AAEhB,KAAI,OAAOA,SAAP,KAAqB,QAAzB,EAAmC;AAClCG,MAAI/I,UAAU/G,MAAd;AACA+P,SAAO,IAAI9O,KAAJ,CAAU6O,IAAI,CAAd,CAAP;AACA,OAAK5N,IAAI,CAAT,EAAYA,IAAI4N,CAAhB,EAAmB,EAAE5N,CAArB,EAAwB6N,KAAK7N,IAAI,CAAT,IAAc6E,UAAU7E,CAAV,CAAd;;AAExByN,cAAYA,UAAUK,KAAV,EAAZ;AACA,OAAK9N,IAAI,CAAT,EAAasN,WAAWG,UAAUzN,CAAV,CAAxB,EAAuC,EAAEA,CAAzC,EAA4C;AAC3CsM,SAAMG,IAAN,CAAWa,QAAX,EAAqB,IAArB,EAA2BO,IAA3B;AACA;AACD,EATD,MASO;AACN,UAAQhJ,UAAU/G,MAAlB;AACA,QAAK,CAAL;AACC2O,SAAKA,IAAL,CAAUgB,SAAV,EAAqB,IAArB;AACA;AACD,QAAK,CAAL;AACChB,SAAKA,IAAL,CAAUgB,SAAV,EAAqB,IAArB,EAA2B5I,UAAU,CAAV,CAA3B;AACA;AACD,QAAK,CAAL;AACC4H,SAAKA,IAAL,CAAUgB,SAAV,EAAqB,IAArB,EAA2B5I,UAAU,CAAV,CAA3B,EAAyCA,UAAU,CAAV,CAAzC;AACA;AACD;AACC+I,QAAI/I,UAAU/G,MAAd;AACA+P,WAAO,IAAI9O,KAAJ,CAAU6O,IAAI,CAAd,CAAP;AACA,SAAK5N,IAAI,CAAT,EAAYA,IAAI4N,CAAhB,EAAmB,EAAE5N,CAArB,EAAwB;AACvB6N,UAAK7N,IAAI,CAAT,IAAc6E,UAAU7E,CAAV,CAAd;AACA;AACDsM,UAAMG,IAAN,CAAWgB,SAAX,EAAsB,IAAtB,EAA4BI,IAA5B;AAhBD;AAkBA;AACD,CApCD;;AAsCAV,UAAU;AACT3Q,KAAIA,EADK;AAETC,OAAMA,IAFG;AAGTwQ,MAAKA,GAHI;AAITC,OAAMA;AAJG,CAAV;;AAOAE,cAAc;AACb5Q,KAAI4P,EAAE5P,EAAF,CADS;AAEbC,OAAM2P,EAAE3P,IAAF,CAFO;AAGbwQ,MAAKb,EAAEa,GAAF,CAHQ;AAIbC,OAAMd,EAAEc,IAAF;AAJO,CAAd;;AAOAG,OAAOT,iBAAiB,EAAjB,EAAqBQ,WAArB,CAAP;;AAEA1L,OAAOC,OAAP,GAAiBA,UAAU,UAAUoM,CAAV,EAAa;AACvC,QAAQA,KAAK,IAAN,GAAcrB,OAAOW,IAAP,CAAd,GAA6BT,iBAAiBxP,OAAO2Q,CAAP,CAAjB,EAA4BX,WAA5B,CAApC;AACA,CAFD;AAGAzL,QAAQwL,OAAR,GAAkBA,OAAlB,C;;;;;;;ACnIa;;AAEb,IAAIa,UAAkBvK,mBAAOA,CAAC,CAAR,CAAtB;AAAA,IACIwK,kBAAkBxK,mBAAOA,CAAC,EAAR,CADtB;AAAA,IAEIyK,SAAkBzK,mBAAOA,CAAC,EAAR,CAFtB;AAAA,IAGI0K,gBAAkB1K,mBAAOA,CAAC,EAAR,CAHtB;AAAA,IAII2K,WAAkB3K,mBAAOA,CAAC,EAAR,CAJtB;;AAMA,IAAI2I,IAAK1K,OAAOC,OAAP,GAAiB,UAAU0M,IAAV,EAAgB/Q,KAAhB,CAAqB,aAArB,EAAoC;AAC7D,KAAIgR,CAAJ,EAAO9P,CAAP,EAAUe,CAAV,EAAagL,OAAb,EAAsBgE,IAAtB;AACA,KAAI1J,UAAU/G,MAAV,GAAmB,CAAnB,IAAwB,OAAOuQ,IAAP,KAAgB,QAA5C,EAAsD;AACrD9D,YAAUjN,KAAV;AACAA,UAAQ+Q,IAAR;AACAA,SAAO,IAAP;AACA,EAJD,MAIO;AACN9D,YAAU1F,UAAU,CAAV,CAAV;AACA;AACD,KAAImJ,QAAQK,IAAR,CAAJ,EAAmB;AAClBC,MAAIF,SAAS3B,IAAT,CAAc4B,IAAd,EAAoB,GAApB,CAAJ;AACA7P,MAAI4P,SAAS3B,IAAT,CAAc4B,IAAd,EAAoB,GAApB,CAAJ;AACA9O,MAAI6O,SAAS3B,IAAT,CAAc4B,IAAd,EAAoB,GAApB,CAAJ;AACA,EAJD,MAIO;AACNC,MAAI/O,IAAI,IAAR;AACAf,MAAI,KAAJ;AACA;;AAED+P,QAAO,EAAEjR,OAAOA,KAAT,EAAgBwP,cAAcwB,CAA9B,EAAiCvB,YAAYvO,CAA7C,EAAgDwO,UAAUzN,CAA1D,EAAP;AACA,QAAO,CAACgL,OAAD,GAAWgE,IAAX,GAAkBL,OAAOC,cAAc5D,OAAd,CAAP,EAA+BgE,IAA/B,CAAzB;AACA,CApBD;;AAsBAnC,EAAEoC,EAAF,GAAO,UAAUH,IAAV,EAAgBrJ,GAAhB,EAAqBsF,GAArB,CAAwB,aAAxB,EAAuC;AAC7C,KAAIgE,CAAJ,EAAO9P,CAAP,EAAU+L,OAAV,EAAmBgE,IAAnB;AACA,KAAI,OAAOF,IAAP,KAAgB,QAApB,EAA8B;AAC7B9D,YAAUD,GAAV;AACAA,QAAMtF,GAAN;AACAA,QAAMqJ,IAAN;AACAA,SAAO,IAAP;AACA,EALD,MAKO;AACN9D,YAAU1F,UAAU,CAAV,CAAV;AACA;AACD,KAAI,CAACmJ,QAAQhJ,GAAR,CAAL,EAAmB;AAClBA,QAAMyJ,SAAN;AACA,EAFD,MAEO,IAAI,CAACR,gBAAgBjJ,GAAhB,CAAL,EAA2B;AACjCuF,YAAUvF,GAAV;AACAA,QAAMsF,MAAMmE,SAAZ;AACA,EAHM,MAGA,IAAI,CAACT,QAAQ1D,GAAR,CAAL,EAAmB;AACzBA,QAAMmE,SAAN;AACA,EAFM,MAEA,IAAI,CAACR,gBAAgB3D,GAAhB,CAAL,EAA2B;AACjCC,YAAUD,GAAV;AACAA,QAAMmE,SAAN;AACA;AACD,KAAIT,QAAQK,IAAR,CAAJ,EAAmB;AAClBC,MAAIF,SAAS3B,IAAT,CAAc4B,IAAd,EAAoB,GAApB,CAAJ;AACA7P,MAAI4P,SAAS3B,IAAT,CAAc4B,IAAd,EAAoB,GAApB,CAAJ;AACA,EAHD,MAGO;AACNC,MAAI,IAAJ;AACA9P,MAAI,KAAJ;AACA;;AAED+P,QAAO,EAAEvJ,KAAKA,GAAP,EAAYsF,KAAKA,GAAjB,EAAsBwC,cAAcwB,CAApC,EAAuCvB,YAAYvO,CAAnD,EAAP;AACA,QAAO,CAAC+L,OAAD,GAAWgE,IAAX,GAAkBL,OAAOC,cAAc5D,OAAd,CAAP,EAA+BgE,IAA/B,CAAzB;AACA,CA/BD,C;;;;;;;AC9Ba;;AAEb,IAAIG,aAAajL,mBAAOA,CAAC,EAAR,CAAjB;;AAEA,IAAIkL,UAAU,kBAAd;AAAA,IAAkCC,mBAAmBrC,SAASC,SAAT,CAAmB1K,QAAxE;;AAEAJ,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,CAACoR,WAAWpR,KAAX,CAAL,EAAwB,OAAO,KAAP;AACxB,KAAIqR,QAAQE,IAAR,CAAaD,iBAAiBnC,IAAjB,CAAsBnP,KAAtB,CAAb,CAAJ,EAAgD,OAAO,KAAP;AAChD,QAAO,IAAP;AACA,CAJD,C;;;;;;;ACNa;;AAEb,IAAIwR,cAAcrL,mBAAOA,CAAC,EAAR,CAAlB;;AAEA/B,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,OAAOA,KAAP,KAAiB,UAArB,EAAiC,OAAO,KAAP;;AAEjC,KAAI,CAACuP,eAAeJ,IAAf,CAAoBnP,KAApB,EAA2B,QAA3B,CAAL,EAA2C,OAAO,KAAP;;AAE3C,KAAI;AACH,MAAI,OAAOA,MAAMQ,MAAb,KAAwB,QAA5B,EAAsC,OAAO,KAAP;AACtC,MAAI,OAAOR,MAAMmP,IAAb,KAAsB,UAA1B,EAAsC,OAAO,KAAP;AACtC,MAAI,OAAOnP,MAAMgP,KAAb,KAAuB,UAA3B,EAAuC,OAAO,KAAP;AACvC,EAJD,CAIE,OAAOyC,KAAP,EAAc;AACf,SAAO,KAAP;AACA;;AAED,QAAO,CAACD,YAAYxR,KAAZ,CAAR;AACA,CAdD,C;;;;;;;ACJa;;AAEb,IAAI0R,WAAWvL,mBAAOA,CAAC,EAAR,CAAf;;AAEA/B,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,CAAC0R,SAAS1R,KAAT,CAAL,EAAsB,OAAO,KAAP;AACtB,KAAI;AACH,MAAI,CAACA,MAAM2R,WAAX,EAAwB,OAAO,KAAP;AACxB,SAAO3R,MAAM2R,WAAN,CAAkBzC,SAAlB,KAAgClP,KAAvC;AACA,EAHD,CAGE,OAAOyR,KAAP,EAAc;AACf,SAAO,KAAP;AACA;AACD,CARD,C;;;;;;;ACJa;;AAEb,IAAIf,UAAUvK,mBAAOA,CAAC,CAAR,CAAd;;AAEA;AACA,IAAIyL,gBAAgB,EAAE,UAAU,IAAZ,EAAkB,YAAY,IAA9B,EAAoC,aAAa,IAAjD,CAAsD,kBAAtD,EAApB;;AAEAxN,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,CAAC0Q,QAAQ1Q,KAAR,CAAL,EAAqB,OAAO,KAAP;AACrB,QAAOuP,eAAeJ,IAAf,CAAoByC,aAApB,EAAmC,OAAO5R,KAA1C,CAAP;AACA,CAHD,C;;;;;;;ACPa;;AAEboE,OAAOC,OAAP,GAAiB8B,mBAAOA,CAAC,EAAR,MAAgCrG,OAAO8Q,MAAvC,GAAgDzK,mBAAOA,CAAC,EAAR,CAAjE,C;;;;;;;ACFa;;AAEb/B,OAAOC,OAAP,GAAiB,YAAY;AAC5B,KAAIuM,SAAS9Q,OAAO8Q,MAApB;AAAA,KAA4B/G,GAA5B;AACA,KAAI,OAAO+G,MAAP,KAAkB,UAAtB,EAAkC,OAAO,KAAP;AAClC/G,OAAM,EAAEgI,KAAK,KAAP,EAAN;AACAjB,QAAO/G,GAAP,EAAY,EAAEiI,KAAK,KAAP,EAAZ,EAA4B,EAAEC,MAAM,MAAR,EAA5B;AACA,QAAOlI,IAAIgI,GAAJ,GAAUhI,IAAIiI,GAAd,GAAoBjI,IAAIkI,IAAxB,KAAiC,YAAxC;AACA,CAND,C;;;;;;;ACFa;;AAEb,IAAIC,OAAQ7L,mBAAOA,CAAC,EAAR,CAAZ;AAAA,IACInG,QAAQmG,mBAAOA,CAAC,EAAR,CADZ;AAAA,IAEI8L,MAAQvR,KAAKuR,GAFjB;;AAIA7N,OAAOC,OAAP,GAAiB,UAAU6N,IAAV,EAAgB9Q,GAAhB,CAAmB,WAAnB,EAAgC;AAChD,KAAIqQ,KAAJ;AAAA,KAAW/O,CAAX;AAAA,KAAclC,SAASyR,IAAI1K,UAAU/G,MAAd,EAAsB,CAAtB,CAAvB;AAAA,KAAiDoQ,MAAjD;AACAsB,QAAOpS,OAAOE,MAAMkS,IAAN,CAAP,CAAP;AACAtB,UAAS,UAAU7Q,GAAV,EAAe;AACvB,MAAI;AACHmS,QAAKnS,GAAL,IAAYqB,IAAIrB,GAAJ,CAAZ;AACA,GAFD,CAEE,OAAOmB,CAAP,EAAU;AACX,OAAI,CAACuQ,KAAL,EAAYA,QAAQvQ,CAAR;AACZ;AACD,EAND;AAOA,MAAKwB,IAAI,CAAT,EAAYA,IAAIlC,MAAhB,EAAwB,EAAEkC,CAA1B,EAA6B;AAC5BtB,QAAMmG,UAAU7E,CAAV,CAAN;AACAsP,OAAK5Q,GAAL,EAAU+Q,OAAV,CAAkBvB,MAAlB;AACA;AACD,KAAIa,UAAUN,SAAd,EAAyB,MAAMM,KAAN;AACzB,QAAOS,IAAP;AACA,CAhBD,C;;;;;;;ACNa;;AAEb9N,OAAOC,OAAP,GAAiB8B,mBAAOA,CAAC,EAAR,MAAgCrG,OAAOkS,IAAvC,GAA8C7L,mBAAOA,CAAC,EAAR,CAA/D,C;;;;;;;ACFa;;AAEb/B,OAAOC,OAAP,GAAiB,YAAY;AAC5B,KAAI;AACHvE,SAAOkS,IAAP,CAAY,WAAZ;AACA,SAAO,IAAP;AACA,EAHD,CAGE,OAAO9Q,CAAP,EAAU;AACX,SAAO,KAAP;AACA;AACD,CAPD,C;;;;;;;ACFa;;AAEb,IAAIwP,UAAUvK,mBAAOA,CAAC,CAAR,CAAd;;AAEA,IAAI6L,OAAOlS,OAAOkS,IAAlB;;AAEA5N,OAAOC,OAAP,GAAiB,UAAUrB,MAAV,EAAkB;AAAE,SAAOgP,KAAKtB,QAAQ1N,MAAR,IAAkBlD,OAAOkD,MAAP,CAAlB,GAAmCA,MAAxC,CAAP;AAAyD,CAA9F,C;;;;;;;ACNa;;AAEb;;AACAoB,OAAOC,OAAP,GAAiB,YAAY,CAAE,CAA/B,C;;;;;;;ACHa;;AAEb,IAAIqM,UAAUvK,mBAAOA,CAAC,CAAR,CAAd;;AAEA/B,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,CAAC0Q,QAAQ1Q,KAAR,CAAL,EAAqB,MAAM,IAAIoS,SAAJ,CAAc,8BAAd,CAAN;AACrB,QAAOpS,KAAP;AACA,CAHD,C;;;;;;;ACJa;;AAEb,IAAI0Q,UAAUvK,mBAAOA,CAAC,CAAR,CAAd;;AAEA,IAAIgM,UAAU1Q,MAAMyN,SAAN,CAAgBiD,OAA9B;AAAA,IAAuC/C,SAAStP,OAAOsP,MAAvD;;AAEA,IAAIiD,UAAU,UAAUjR,GAAV,EAAeyI,GAAf,EAAoB;AACjC,KAAI9J,GAAJ;AACA,MAAKA,GAAL,IAAYqB,GAAZ,EAAiByI,IAAI9J,GAAJ,IAAWqB,IAAIrB,GAAJ,CAAX;AACjB,CAHD;;AAKA;AACAqE,OAAOC,OAAP,GAAiB,UAAUiO,KAAV,CAAe,cAAf,EAA+B;AAC/C,KAAIC,SAASnD,OAAO,IAAP,CAAb;AACA+C,SAAQhD,IAAR,CAAa5H,SAAb,EAAwB,UAAU0F,OAAV,EAAmB;AAC1C,MAAI,CAACyD,QAAQzD,OAAR,CAAL,EAAuB;AACvBoF,UAAQvS,OAAOmN,OAAP,CAAR,EAAyBsF,MAAzB;AACA,EAHD;AAIA,QAAOA,MAAP;AACA,CAPD,C;;;;;;;ACZa;;AAEbnO,OAAOC,OAAP,GAAiB8B,mBAAOA,CAAC,EAAR,MAAgC7F,OAAO4O,SAAP,CAAiB4B,QAAjD,GAA4D3K,mBAAOA,CAAC,EAAR,CAA7E,C;;;;;;;ACFa;;AAEb,IAAIqM,MAAM,YAAV;;AAEApO,OAAOC,OAAP,GAAiB,YAAY;AAC5B,KAAI,OAAOmO,IAAI1B,QAAX,KAAwB,UAA5B,EAAwC,OAAO,KAAP;AACxC,QAAO0B,IAAI1B,QAAJ,CAAa,KAAb,MAAwB,IAAxB,IAAgC0B,IAAI1B,QAAJ,CAAa,KAAb,MAAwB,KAA/D;AACA,CAHD,C;;;;;;;ACJa;;AAEb,IAAI2B,UAAUnS,OAAO4O,SAAP,CAAiBuD,OAA/B;;AAEArO,OAAOC,OAAP,GAAiB,UAAUqO,YAAV,CAAsB,cAAtB,EAAsC;AACtD,QAAOD,QAAQtD,IAAR,CAAa,IAAb,EAAmBuD,YAAnB,EAAiCnL,UAAU,CAAV,CAAjC,IAAiD,CAAC,CAAzD;AACA,CAFD,C;;;;;;;ACJa;;AAEbnD,OAAOC,OAAP,GAAiB,UAAUnB,EAAV,EAAc;AAC9B,KAAI,OAAOA,EAAP,KAAc,UAAlB,EAA8B,MAAM,IAAIkP,SAAJ,CAAclP,KAAK,oBAAnB,CAAN;AAC9B,QAAOA,EAAP;AACA,CAHD,C;;;;;;;ACFa;;AAEb,IAAIlD,QAAQmG,mBAAOA,CAAC,EAAR,CAAZ;AAAA,IAEIoJ,iBAAiBzP,OAAOoP,SAAP,CAAiBK,cAFtC;;AAIAnL,OAAOC,OAAP,GAAiB,UAAUsO,OAAV,CAAiB,UAAjB,EAA6B;AAC7C,KAAIxJ,OAAO5B,UAAU,CAAV,CAAX;AAAA,KAAyBtB,IAAzB;;AAEAjG,OAAM2S,OAAN;;AAEA,KAAIxJ,SAASgI,SAAb,EAAwB;AACvBlL,SAAOsJ,eAAeJ,IAAf,CAAoBwD,OAApB,EAA6B,QAA7B,KAA0CA,QAAQ1C,MAAzD;AACA,MAAI,CAAChK,IAAL,EAAW;AACX,MAAIA,KAAKkD,IAAL,CAAJ,EAAgB,OAAOlD,KAAKkD,IAAL,CAAP;AAChB;AACA;AACD,KAAIoG,eAAeJ,IAAf,CAAoBwD,OAApB,EAA6B,QAA7B,CAAJ,EAA4C,OAAOA,QAAQ1C,MAAf;AAC5C,CAZD,C;;;;;;;ACNa;;AAEb,IAAIyB,WAAWvL,mBAAOA,CAAC,EAAR,CAAf;;AAEA/B,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AACjC,KAAI,CAAC0R,SAAS1R,KAAT,CAAL,EAAsB,MAAM,IAAIoS,SAAJ,CAAcpS,QAAQ,mBAAtB,CAAN;AACtB,QAAOA,KAAP;AACA,CAHD,C;;;;;;;ACJa;;AAEb,IAAI0Q,UAAUvK,mBAAOA,CAAC,CAAR,CAAd;;AAEA,IAAI1B,MAAM,EAAEmO,UAAU,IAAZ,EAAkB5P,QAAQ,IAA1B,EAAV;;AAEAoB,OAAOC,OAAP,GAAiB,UAAUrE,KAAV,EAAiB;AAAE,SAAQ0Q,QAAQ1Q,KAAR,KAAkByE,IAAI,OAAOzE,KAAX,CAAnB,IAAyC,KAAhD;AAAwD,CAA5F,C;;;;;;;ACLA,cAAc,mBAAO,CAAC,EAAsK;;AAE5L,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAsD;;AAE3E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAkD;AACrF;;;AAGA;AACA,cAAc,QAAS,0BAA0B,gBAAgB,WAAW,YAAY,kBAAkB,yBAAyB,sBAAsB,iBAAiB,qBAAqB,yBAAyB,SAAS,UAAU,SAAS,eAAe,aAAa,wBAAwB,kDAAkD,kBAAkB,MAAM,UAAU,SAAS,QAAQ,uBAAuB,sBAAsB,kCAAkC,8BAA8B,0BAA0B,gCAAgC,4BAA4B,wBAAwB,8CAA8C,qBAAqB,sBAAsB,wBAAwB,aAAa,gEAAgE,YAAY,6BAA6B,WAAW,YAAY,aAAa,sCAAsC,aAAa,iCAAiC,GAAG,4BAA4B,oBAAoB,GAAG,gCAAgC,yBAAyB,yBAAyB,GAAG,4BAA4B,oBAAoB,GAAG,gCAAgC,yBAAyB,qCAAqC,GAAG,sBAAsB,GAAG,qBAAqB,6BAA6B,GAAG,sBAAsB,GAAG,qBAAqB,0CAA0C,qBAAqB,iBAAiB,aAAa,kBAAkB,SAAS,OAAO,QAAQ,YAAY,qGAAqG,WAAW,8UAA8U,aAAa,0EAA0E,cAAc,sCAAsC,cAAc,eAAe,WAAW,iBAAiB,gBAAgB,yBAAyB,QAAQ,sCAAsC,cAAc,WAAW,YAAY,gBAAgB,UAAU,0CAA0C,kBAAkB,sCAAsC,2BAA2B,kBAAkB,aAAa,kBAAkB,+BAA+B,eAAe,WAAW,gBAAgB,kBAAkB,UAAU,SAAS,kBAAkB,WAAW,mBAAmB,sDAAsD,uBAAuB,kDAAkD,cAAc,WAAW;;AAEjvF;;;;;;;;ACNA;;;;;;;;;;;;;AAaAoE,OAAOC,OAAP,GAAiB,UAAUwO,GAAV,EAAe;AAC9B;AACA,KAAIC,WAAW,OAAOjS,MAAP,KAAkB,WAAlB,IAAiCA,OAAOiS,QAAvD;;AAEA,KAAI,CAACA,QAAL,EAAe;AACb,QAAM,IAAIC,KAAJ,CAAU,kCAAV,CAAN;AACD;;AAEF;AACA,KAAI,CAACF,GAAD,IAAQ,OAAOA,GAAP,KAAe,QAA3B,EAAqC;AACnC,SAAOA,GAAP;AACA;;AAED,KAAIG,UAAUF,SAASG,QAAT,GAAoB,IAApB,GAA2BH,SAASI,IAAlD;AACA,KAAIC,aAAaH,UAAUF,SAASM,QAAT,CAAkBC,OAAlB,CAA0B,WAA1B,EAAuC,GAAvC,CAA3B;;AAED;AACA;;;;;;;;;;;;;;;;;;;;;;;AAyBA,KAAIC,WAAWT,IAAIQ,OAAJ,CAAY,qDAAZ,EAAmE,UAASE,SAAT,EAAoBC,OAApB,EAA6B;AAC9G;AACA,MAAIC,kBAAkBD,QACpBE,IADoB,GAEpBL,OAFoB,CAEZ,UAFY,EAEA,UAAS5C,CAAT,EAAYkD,EAAZ,EAAe;AAAE,UAAOA,EAAP;AAAY,GAF7B,EAGpBN,OAHoB,CAGZ,UAHY,EAGA,UAAS5C,CAAT,EAAYkD,EAAZ,EAAe;AAAE,UAAOA,EAAP;AAAY,GAH7B,CAAtB;;AAKA;AACA,MAAI,oDAAoDpC,IAApD,CAAyDkC,eAAzD,CAAJ,EAA+E;AAC7E,UAAOF,SAAP;AACD;;AAED;AACA,MAAIK,MAAJ;;AAEA,MAAIH,gBAAgBhB,OAAhB,CAAwB,IAAxB,MAAkC,CAAtC,EAAyC;AACtC;AACFmB,YAASH,eAAT;AACA,GAHD,MAGO,IAAIA,gBAAgBhB,OAAhB,CAAwB,GAAxB,MAAiC,CAArC,EAAwC;AAC9C;AACAmB,YAASZ,UAAUS,eAAnB,CAF8C,CAEV;AACpC,GAHM,MAGA;AACN;AACAG,YAAST,aAAaM,gBAAgBJ,OAAhB,CAAwB,OAAxB,EAAiC,EAAjC,CAAtB,CAFM,CAEsD;AAC5D;;AAED;AACA,SAAO,SAAStN,KAAKC,SAAL,CAAe4N,MAAf,CAAT,GAAkC,GAAzC;AACA,EA5Bc,CAAf;;AA8BA;AACA,QAAON,QAAP;AACA,CA1ED,C;;;;;;;;;;;;;ACdA;;AAEA,IAAIO,SAAS,SAATA,MAAS,GAAY;AACvB,MAAI7J,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAI+J,MAAJ,EAAa,IAAIC,eAAJ;AACb,MAAIC,cAAc;AAChBC,WADgB;AAEhBjT,YAAQ;AAFQ,GAAlB;;AAKA+I,6BAA2B,sBAAsB;AAC/C,QAAG,CAAC,YAAJ,0BAA0C;AACxC9I;AACD;AACD,QAAG,CAAC,YAAJ,2BAA2C;AACzCA;AACD;AACD,QAAI8I,SAAJ;AACA,QAAI,0BAAJ,mBAAI,CAAJ,EAAyC;AACvCA;AADF,WAEO;AACLA;AACD;AACD,QAAI,CAACA,cAAD,mBAAkC,CAACA,OAAvC,aAA2D;AAAA,oBACzD,mBAAmB;AACjBgK,kBAAU,WAAW,YAAY;AAC/B,cAAI,oBAAShK,OAAT,MAAJ,kBAAI,CAAJ,EAA+C;AAC7C;AADF,iBAEO,IAAI,CAACA,OAAL,OAAmB;AACxB,gBAAIA,OAAJ,QAAmB;AACjB,kBAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,kBAAIG,6BAAJ,aAA8C;AAC5CA,kCAAkB,eAAO,CAAzBA;AACD;AAJH,mBAKO;AACLH;AACD;AACF;AACD+J;AAbQ,WAAVC,GAAU,CAAVA;AAFuD;;AAkBzD,UAAI,CAAChK,cAAL,iBAAoC;AAClC+J;AACA,qBAAa;AACX1J;AACD;AACD,YAAI0J,QAAJ,GAAe;AACb,cAAG/J,cAAH,qBAAsC;AACpCiK,gCAAoB,IAApBA,IAAoB,EAApBA;AADF,iBAEO;AACLE;AACD;AALH,eAMO,IAAIJ,QAAJ,GAAe;AACpB,cAAG/J,cAAH,qBAAsC;AACpCiK,iCAAqB,IAArBA,IAAqB,EAArBA;AACA,gBAAIvT,SAASuT,oBAAoBA,YAA7BvT,UAAJ,KAA4D;AAC1D;AACAyT;AAFF,mBAGO;AACLF,kCAAoB,IAApBA,IAAoB,EAApBA;AACAF;AACD;AARH,iBASO;AACLA;AACD;AAZI,eAaA;AACLA;AACD;AACF;AACF;AA3DH/J;;AA8DA,sBAAqB;AACnBA,8CAA0C,aAAa;AACrDA,kCAA4BA,OAA5BA;AADFA;AAGAA,gDAA4C,YAAM;AAChDA;AADFA;AAGAA,+CAA2C,YAAM;AAC/CA;AADFA;AAGA,QAAIA,cAAJ,UAA4B;AAC1BA;AACD;AACF;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AA3FF;;kBA8Fe;AACb1H,QADa;AAEbmH,UAAQoK;AAFK,C;;;;;;;;;;;;;;AChGf;;AAEA,IAAIO,KAAK,SAALA,EAAK,GAAY;AACnB,MAAIpK,SAAJ;AACA,MAAG,CAACA,OAAD,YAAoB,CAACA,OAAxB,OAAsC;AACtC,MAAIjB,WAAWiB,OAAf,SAAgC,IAAI8J,OAAO9J,OAAX;AAChC,MAAI+J,MAAJ,EAAa,IAAIC,eAAJ;;AAEbhK,0BAAwB,sBAAsB;AAC5C,QAAG,CAAC,YAAJ,0BAA0C;AACxC9I;AACD;AACD,QAAG,CAAC,YAAJ,2BAA2C;AACzCA;AACD;AACD,QAAI8I,SAAJ;AACA,QAAI,CAACA,cAAL,iBAAoC;AAClC+J;AACA,mBAAa;AACX1J;AACD;AACD,UAAI0J,QAAJ,GAAe;AACbC,kBAAU,WAAW,YAAY;AAC/B,cAAI,oBAAShK,OAAT,MAAJ,kBAAI,CAAJ,EAA+C;AAC7C;AADF,iBAEO,IAAI,CAACA,OAAL,OAAmB;AACxB,gBAAIA,OAAJ,QAAmB;AACjB,kBAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,kBAAIG,6BAAJ,aAA8C;AAC5CA,kCAAkB,eAAO,CAAzBA;AACD;AAJH,mBAKO;AACLH;AACD;AACF;AACD+J;AAbQ,WAAVC,GAAU,CAAVA;AADF,aAgBO;AACLD;AACD;AACF;AAhCH/J;AAkCAA,yCAAuC,aAAa;AAAEA,6BAAyBA,OAAzBA;AAAtDA;;AAEAA,6BAA2B,sBAAsB;AAC/C,QAAG,CAAC,YAAJ,0BAA0C;AACxC9I;AACD;AACD,QAAG,CAAC,YAAJ,2BAA2C;AACzCA;AACD;AACD,QAAI8I,SAAJ;AACA,QAAI,CAACA,cAAL,oBAAuC;AACrC,UAAIqK,aAAatL,uBAAjB,sBAAiBA,CAAjB;AACA,sBAAgB;AACd,YAAIgL,YAAJ;AACA,YAAIlU,SAAJ,aAA0B;AACxBkU,iBAAMlU,qBAANkU,OAAMlU,CAANkU;AACAA;AAFF,eAGO;AACLA,iBAAM,UAANA,OAAM,CAANA;AACD;AACDM;AACD;AACF;AApBHrK;AAsBAA,4CAA0C,aAAa;AAAEA,gCAA4BA,OAA5BA;AAAzDA;;AAEA,0BAAyB;AACvBK,iBAAaL,OAAbK;AACAL;AACD;AACD8J;;AAEA,0BAAyB;AACvB,QAAG,CAAC9J,cAAJ,iBAAmC;AACjCA,gCAA0B,WAAW,YAAY;AAC/CA;AADwB,SAEvBA,iCAFHA,CAA0B,CAA1BA;AAGD;AACF;AACD8J;;AAEA,kCAAiC;AAC/B,QAAI9J,OAAJ,WAAsB;AACpBK,mBAAaL,OAAbK;AACD;AACF;AACDtB;;AAEA,kCAAiC;AAC/B,QAAG,CAACiB,cAAJ,mBAAqC;AACnCA;AACD;AACF;AACDjB;;AAEA,6BAA4B;AAC1B7H;AACAA;AACD;AACD6H;;AAEA,sBAAqB;AACnB,QAAIiB,cAAJ,UAA4B;AAC1BA;AACD;AACF;AACDA;;AAEA,uBAAsB;AACpB8J;AACAA;AACA9J;AACAA;AACD;AACDA;AAlHF;;kBAqHe;AACb1H,QADa;AAEbmH,UAAQ2K;AAFK,C;;;;;;;;;;;;;;ACvHf;;AAEA,IAAI9Q,QAAQ,SAARA,KAAQ,GAAY;AACtB,MAAI0G,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,uBAAsB;AACpBA;AACA,QAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,QAAIG,6BAAJ,aAA8C;AAC5CA,wBAAkB,eAAO,CAAzBA;AACD;AACF;;AAED,6BAA4B;AAC1B,QAAI,0BAAJ,kBAAI,CAAJ,EAAwC;AACtC,mCADsC,kBACtC,EADsC,CACA;AACtC;;AAEA,UAAG,OAAO2J,KAAP,aAAH,YAAwC;AACtC,YAAI9J,gBAAgBA,0BAAhBA,KAA+C,CAAC8J,cAAc9J,OAA/D,KAAiD8J,CAAhD9J,IAAiFA,gBAAgBA,0BAAhBA,KAA+CA,6BAApI,WAA6K;AAC3KA;AACAA;AAFF,eAGO;AACLsK;AACD;AANH,aAOO;AACL,YAAItK,gBAAgBA,0BAAhBA,KAA+C,CAAC8J,mBAAmB,iBAApE,SAAiDA,CAAhD9J,IAAoGA,gBAAgBA,0BAAhBA,KAA+CA,6BAAvJ,WAAgM;AAC9LA;AACAA;AAFF,eAGO;AACLsK;AACD;AACF;AAlBH,WAmBO;AACL,UAAItK,OAAJ,QAAmB;AACjB;AACAE,mBAAW,YAAM;AACf,cAAIC,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,cAAIG,6BAAJ,aAA8C;AAC5CA,8BAAkB,eAAO,CAAzBA;AACD;AAJHD;AAMD;AACF;AACF;AACDF;;AAEA,uBAAsB;AACpBA;AACAA;AACAA;AACD;AACDA;AAnDF;;kBAsDe;AACb1H,QADa;AAEbmH,UAAQnG;AAFK,C;;;;;;;;;;;;;;ACxDf;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIiR,UAAU,SAAVA,OAAU,GAAY;AACxB,MAAIvK,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAIjI,MAAM,sEAAyDyS,YAAzD,8FAC6DC,aAD7D,wBAAV,gBAAU,CAAV;AAEA,iCAA+B;AAC7B,wBAASzK,OAAT;AACA,QAAIA,OAAJ,QAAmB;AACjBA,gCAA0B,CAAC,UAA3BA,QAA2B,GAA3BA,IAAyC,CAAC,UAA1CA,IAA0C,GAA1CA,IAAoD,oBAASA,OAAT,MAApDA,mBAAoD,CAApDA;AACA,UAAIA,sBAAsBA,uBAA1B,MAAuD;AACrD,4BAASA,OAAT;AADF,aAEO,IAAIA,uBAAJ,MAAiC;AACtC,4BAASA,OAAT;AACD;AACD,UAAG,CAACA,cAAJ,mBAAqC;AACnCA,qDAA6C,aAAK;AAChD9I;AACAA;AAFF8I;AAID;AACF;AACF;;AAED,MAAGA,iBAAiBA,cAApB,cAAgD;AAC9C;AACD;;AAED,MAAIA,OAAJ,SAAoB;AAClB8J;AACAY;AAFF,SAGO;AACL1K,yBAAqB,YAAM;AACzB8J;AACAY;AAFF1K;AAID;;AAEDA,wCAAsC,YAAM;AAC1C,2BAAYA,OAAZ;AACA,wBAASA,OAAT;AAFFA;;AAKAA,yBAAuB,YAAM;AAC3B,2BAAYA,OAAZ;AADFA;;AAIAjI,gBAAc,aAAK;AACjBb;AACAA;AACA8I;AAHFjI;AA9CF;;kBAqDe;AACbO,QADa;AAEbmH,UAAQ8K;AAFK,C;;;;;;;;AC1Df;AAAe,wS;;;;;;;ACAf;AAAe,oS;;;;;;;ACCf,cAAc,mBAAO,CAAC,EAA+K;;AAErM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,0CAA0C,kBAAkB,qBAAqB,WAAW,YAAY,2BAA2B,gBAAgB,kBAAkB,iBAAiB,sBAAsB,kBAAkB,SAAS,QAAQ,YAAY,6BAA6B,eAAe,2CAA2C,kBAAkB,+CAA+C,wBAAwB,2DAA2D,cAAc,4DAA4D,aAAa,6CAA6C,YAAY,yQAAyQ,aAAa,6EAA6E,cAAc,sDAAsD,qBAAqB,0EAA0E,cAAc,qIAAqI,aAAa,8EAA8E,cAAc,+EAA+E,aAAa;;AAE3+C;;;;;;;;;;;;;;ACPA;;AAEA,IAAIF,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIrK,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,kCAAiC;AAC/B,QAAIA,cAAJ,kBAAoC;AAClC,UAAI,0BAAJ,4BAAI,CAAJ,EAAkD;AAChDA;AADF,aAEO;AACLA;AACD;AALH,WAMO;AACL,UAAI,0BAAJ,wBAAI,CAAJ,EAA8C;AAC5CA;AADF,aAEO;AACLA;AACD;AACF;AACF;AACDA;;AAEA,gCAA+B;AAC7B,QAAI2K,eAAe9U,8BAA8BA,SAA9BA,2BAAkEA,SAAlEA,wBAAmGA,SAAtH;AACA,QAAI8U,gBAAgBA,iBAApB,MAA2C;AACzC;AACA3K;AAFF,WAGO,IAAI,0BAAJ,wBAAI,CAAJ,EAA8C;AACnD;AACAA;AACD;AACD,QAAIA,gBAAgB,OAAOA,aAAP,WAApB,YAA+D;AAC7DA;AACD;AACF;AACD,sGAAoG,gBAAQ;AAC1GnK;AADF;;AAIAmK,yDAAuD,YAAY;AACjE;AACAA;AAFFA;;AAKAA,uDAAqD,YAAY;AAC/D;AACAA;AAFFA;;AAKA,8CAA6C;AAC3C,QAAM4K,OAAO5K,aAAb;AACA;AACA,QAAI4K,SAAS9Q,uBAAb,YAA0C;AACxC;AACAkG;AACD;AACF;;AAED,4CAA+BA,OAA/B,UACAA,+DADA,+BACAA,CADA;;AAGA,uBAAsB;AACpBA;AACA,wGAAoG,gBAAQ;AAC1GnK;AADF;;AAIA,8CAA+BmK,OAA/B,UACAA,kEADA,+BACAA,CADA;;AAGAA;AACD;AACDA;;AAEAA,yBAAuB,cAAc;AACnC,QAAIA,SAAJ;AACA,QAAIxK,GAAJ,mBAA0B;AACxB,UAAIqV,oBAAoBrV,GAAxB,iBAAwBA,EAAxB;AACA,6BAAuB;AACrBqV,gCAAwB,YAAY;AAClC7K;AADF6K;AAGD;AANH,WAOO,IAAIrV,GAAJ,sBAA6B;AAClCA;AADK,WAEA,IAAIA,GAAJ,yBAAgC;AACrCA,iCAA2BqB,eAA3BrB;AADK,WAEA,IAAIwK,aAAJ,0BAA2C;AAChDA;AADK,WAEA,IAAIxK,GAAJ,qBAA4B;AACjCA;AADK,WAEA;AACL;AACD;AAnBHwK;;AAsBAA,0BAAwB,cAAc;AACpC,QAAInK,SAAJ,gBAA6B;AAC3BA;AADF,WAEO,IAAIA,SAAJ,sBAAmC;AACxCA;AADK,WAEA,IAAIA,SAAJ,qBAAkC;AACvCA;AADK,WAEA,IAAIA,SAAJ,kBAA+B;AACpCA;AACD;AACD;AAVFmK;;AAaAA,+BAA6B,YAAY;AACvC,QAAIA,SAAJ;AACAnK;AACAA;AACA,QAAImK,cAAJ,OAAyB;AACvBA;AACAA;AACD;AACD,QAAIA,eAAe,CAAC,oBAASA,OAAT,MAApB,4BAAoB,CAApB,EAAyE;AACvE,0BAASA,OAAT;AACD;AACDA;AAXFA;;AAcAA,gCAA8B,YAAY;AACxC,QAAIA,SAAJ;AACAnK;AACAA;AACA,QAAImK,cAAJ,OAAyB;AACvBA;AACAA;AACAA,yCAAsCA,6BAA6BA,cAAnEA,KAAsCA,GAAtCA;AACAA;AACD;AACD,QAAIA,eAAe,oBAASA,OAAT,MAAnB,4BAAmB,CAAnB,EAAwE;AACtE,6BAAYA,OAAZ;AACD;AACDA;AAbFA;AA1HF;;kBA2Ie;AACb1H,QADa;AAEbmH,UAAQ4K;AAFK,C;;;;;;;;;;;;;;AC7If;;AAEA,IAAIS,OAAO,SAAPA,IAAO,GAAY;AACrB,MAAI9K,SAAJ;;AAEA,4BAA2B;AACzB,QAAI,CAACA,cAAD,uBAAsCA,OAA1C,OAAwD;AACtD;AACD;AACD,QAAG,oBAASA,OAAT,MAAH,kBAAG,CAAH,EAA8C;AAC5CA;AACD;AACD,QAAIA,OAAJ,QAAmB;AACjB,UAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,UAAIG,6BAAJ,aAA8C;AAC5CA,0BAAkB,eAAO,CAAzBA;AACD;AAJH,WAKO;AACLH;AACD;AACF;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AAzBF;;kBA4Be;AACb1H,QADa;AAEbmH,UAAQqL;AAFK,C;;;;;;;;;;;;;;AC9Bf;;AAEA,IAAIC,SAAS,SAATA,MAAS,GAAY;AACvB,MAAI/K,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,8BAA6B;AAC3B;AACAA;AACD;AACDA;;AAEA,qBAAoB;AAClB,QAAI,CAACA,cAAL,MAAyB;AACvB;AACD;AACF;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AArBF;;kBAwBe;AACb1H,QADa;AAEbmH,UAAQsL;AAFK,C;;;;;;;;;;;;;;AC1Bf;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIC,SAAS,SAATA,MAAS,GAAY;AACvB,MAAIhL,SAAJ;AACA,MAAIiL,UAAUjL,wBAAwBA,cAAxBA,UAAd;AACA,MAAIjI,WAAJ;AACA,MAAIkT,iBAAJ,OAA4B;AAC1BlT,UAAM,gCAAqBkT,YAArB,MAAuCA,QAAvC,OAAsDA,QAA5DlT,MAAM,CAANA;AADF,SAEO;AACLA,UAAM,4IAC8DmT,OAD9D,8FAE+DC,QAF/D,yEAANpT,eAAM,CAANA;AAID;;AAED,MAAIqT,WAAJ;AACAA,kBAAgBpL,YAAhBoL;AACAA,mBAAiBpL,YAAjBoL;AACA,MAAIC,OAAO,qEAAwDD,SAAxD,8FAC8DA,SAD9D,uBAAX,eAAW,CAAX;AAEArT;AACAiI,uBAAqB,YAAM;AACzB,QAAGA,OAAH,UAAoB;AAClBA;AACD;AAHHA;;AAMA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAzBF;;kBAkCe;AACbO,QADa;AAEbmH,UAAQuL;AAFK,C;;;;;;;;ACvCf;AAAe,gT;;;;;;;ACAf;AAAe,4S;;;;;;;ACCf,cAAc,mBAAO,CAAC,EAA8K;;AAEpM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,mFAAmF,WAAW,kBAAkB,gBAAgB,yBAAyB,QAAQ,cAAc,eAAe,gBAAgB,8GAA8G,eAAe,WAAW,sHAAsH,kBAAkB,sJAAsJ,cAAc,wJAAwJ,aAAa,oJAAoJ,cAAc,sJAAsJ,aAAa,4FAA4F,YAAY,0HAA0H,cAAc,wLAAwL,aAAa,0LAA0L,cAAc,sLAAsL,aAAa,4WAA4W,cAAc,sLAAsL,aAAa,kLAAkL,cAAc,oLAAoL,aAAa;;AAEj4F;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIM,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAItL,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAI,CAACA,cAAL,QAA2B;AACzB;AACD;AACD,MAAI4E,SAAS,0CAAb,iBAAa,CAAb;AACAA,0CAAsC5E,cAAtC4E;AACAkF;AARF;;kBAWe;AACbxR,QADa;AAEbmH,UAAQ6L;AAFK,C;;;;;;;;ACbf,cAAc,mBAAO,CAAC,EAAgL;;AAEtM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,2CAA2C,aAAa,kBAAkB,OAAO,MAAM,WAAW,YAAY,YAAY,sBAAsB,wBAAwB,yDAAyD,cAAc;;AAEtQ;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIC,SAAS,SAATA,MAAS,GAAY;AACvB,MAAIvL,SAAJ;AACA,MAAIwL,eAAe,+CAAnB,sBAAmB,CAAnB;AACAxL;AAHF;;kBAMe;AACb1H,QADa;AAEbmH,UAAQ8L;AAFK,C;;;;;;;;ACRf,cAAc,mBAAO,CAAC,EAAqL;;AAE3M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,gDAAgD,eAAe,gBAAgB,OAAO,gBAAgB,yBAAyB,QAAQ,cAAc;;AAE5K;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIE,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAIzL,SAAJ;AACA,MAAI0L,gBAAgB1L,8BAA8BA,cAA9BA,gBAApB;AACA,MAAIjI,WAAJ;AACA,MAAI2T,uBAAJ,OAAkC;AAChC3T,UAAM,sCAA2B2T,kBAA3B,SAAsDA,cAAtD,OAA2EA,cAAjF3T,MAAM,CAANA;AADF,SAEO;AACLA,UAAM,gKAC4E4T,cAD5E,wGAEyEC,WAFzE,+EAAN7T,qBAAM,CAANA;AAID;;AAED,MAAIqT,WAAJ;AACAA,yBAAuBpL,YAAvBoL;AACAA,sBAAoBpL,YAApBoL;AACA,MAAIC,OAAO,4EAA+DD,SAA/D,wGACiEA,SADjE,0BAAX,eAAW,CAAX;AAEArT;AACAiI,uBAAqB,YAAM;AACzB,QAAGA,OAAH,UAAoB;AAClBA;AACD;AAHHA;;AAMA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAzBF;;kBAkCe;AACbO,QADa;AAEbmH,UAAQgM;AAFK,C;;;;;;;;ACvCf;AAAe,+W;;;;;;;ACAf;AAAe,+W;;;;;;;ACCf,cAAc,mBAAO,CAAC,EAAoL;;AAE1M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,+FAA+F,kBAAkB,iBAAiB,0BAA0B,SAAS,cAAc,eAAe,gBAAgB,iBAAiB,0HAA0H,eAAe,kIAAkI,kBAAkB,gLAAgL,cAAc,0KAA0K,aAAa,0HAA0H,kBAAkB,QAAQ,UAAU,8KAA8K,cAAc,wKAAwK,aAAa,wGAAwG,YAAY,sIAAsI,cAAc,ocAAoc,aAAa,wbAAwb,cAAc,gcAAgc,aAAa,obAAob,cAAc;;AAEz8G;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAII,YAAY,SAAZA,SAAY,GAAY;AAC1B,MAAI7L,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAI8L,YAAY,wCAA2BC,UAA3B,aAAhB,kBAAgB,CAAhB;AACA/L,uBAAqB,YAAM;AACzB8J;AADF9J;AAJF;;kBASe;AACb1H,QADa;AAEbmH,UAAQoM;AAFK,C;;;;;;;;ACbf;AAAe,0N;;;;;;;ACCf,cAAc,mBAAO,CAAC,EAAiL;;AAEvM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,4CAA4C,aAAa,YAAY,aAAa,gBAAgB,4BAA4B,wBAAwB,oBAAoB,kBAAkB,SAAS,QAAQ,6BAA6B,6CAA6C,kBAAkB,gCAAgC,4BAA4B,wBAAwB,mDAAmD,2CAA2C,kDAAkD,YAAY,qBAAqB,uDAAuD,+CAA+C,sCAAsC,UAAU,kBAAkB,0DAA0D,aAAa,wDAAwD,uBAAuB,4DAA4D,cAAc;;AAE78B;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAMG,qBAAqB,SAArBA,kBAAqB,SAAY;AACrC,SAAO,oBAAShM,OAAT,MAAP,4BAAO,CAAP;AADF;;AAIA,IAAIiM,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIjM,SAAJ;AACA,MAAI8L,YAAY,oxBAO6C,EAACzI,UAP9C,CAO6C,EAP7C,EAAhB,mBAAgB,CAAhB;AAQA,MAAI6I,sBAAJ;AACAlM;AACA,MAAImM,WAAWL,wBAAf,2BAAeA,CAAf;AACA,MAAIM,QAAQN,wBAAZ,0BAAYA,CAAZ;AACA,MAAIO,QAAQP,wBAAZ,0BAAYA,CAAZ;AACA,MAAIQ,QAAQR,wBAAZ,0BAAYA,CAAZ;AACA,MAAIS,YAAYT,wBAAhB,8BAAgBA,CAAhB;AACA9L;AACA,mCAAkC;AAChCwM,2CAAuC,aAAa;AAClD,gBAAU;AACR;AACA;AACD;AAJHA;AAMAA,2CAAuC,aAAa;AAClD,gBAAU;AACR;AACA;AACD;AAJHA;AAMAA,yCAAqC,aAAa;AAChD;AACAtV;AACA,gBAAU;AACR,YAAI,CAAC,6BAAL,4BAAK,CAAL,EAAsD;AACpDpB,sBAAYkK,OAAZlK,gBAAmC,eAAe;AAChD,gBAAIkK,cAAJ,GAAIA,CAAJ,EAAwB;AACtB,qCAAYA,cAAZ,GAAYA,CAAZ;AACD;AAHHlK;AAKD;AACD;AACA;AACD;AAbH0W;AAeD;AACD,uBAAsB;AACpB,QAAIxM,6BAA6B,kBAAOA,cAAP,iBAAjC,SAAgF;AAC9EA,wCAAkC,gBAAQ;AACxC,YAAI/J,kBAAkBA,aAAa+J,OAAnC,UAAoD;AAClD,cAAIyM,MAAM,wCAA6BxW,qDAAmDA,KAAnDA,mBAA7B,QAAV,uBAAU,CAAV;AACAwW,2BAAkBxW,YAAY+J,OAAb,QAAC/J,GAAD,GAACA,GAAlBwW;AACA,cAAIxW,iBAAJ,GAAwB;AACtBwW,8BAAmB/V,SAAST,KAATS,UAAwBsJ,kBAAkB/J,KAA1CS,QAAuDsJ,OAAxD,QAACtJ,GAAD,GAACA,GAAnB+V;AACD;AACD,cAAGxW,KAAH,OAAe;AACb,iBAAI,IAAJ,KAAaA,KAAb,OAAyB;AACvBwW,6BAAexW,WAAfwW,CAAexW,CAAfwW;AACD;AACF;AACDL;AACApM,wBAAc/J,KAAd+J;AACA0M,wBAAczW,KAAdyW;AACD;AAfH1M;AAiBD;AACF;AACDA;AACAA,0BAAwB,uCAAuC;AAC7D,QAAIA,cAAJ,IAAIA,CAAJ,EAAyB;AACvB;AACD;AACD,QAAIjJ,aAAaA,QAAQiJ,OAAzB,UAA0C;AACxC,UAAIyM,MAAM,wCAA6BE,mEAA7B,QAAV,uBAAU,CAAV;AACAF,uBAAkB1V,OAAOiJ,OAAR,QAACjJ,GAAD,GAACA,GAAlB0V;AACA,UAAIG,YAAJ,GAAmB;AACjBH,0BAAmB/V,mBAAmBsJ,kBAAnBtJ,QAA6CsJ,OAA9C,QAACtJ,GAAD,GAACA,GAAnB+V;AACD;AACD,iBAAU;AACR,aAAI,IAAJ,YAAoB;AAClBA,yBAAe7S,MAAf6S,CAAe7S,CAAf6S;AACD;AACF;AACDL;AACApM;AACA0M;AACD;AAlBH1M;AAoBAA,6BAA2B,gBAAgB;AACzC,QAAIjJ,aAAaA,QAAQiJ,OAArBjJ,YAAwCiJ,cAA5C,IAA4CA,CAA5C,EAAiE;AAC/D,UAAIyM,MAAMzM,cAAV,IAAUA,CAAV;AACAyM;AACAA;AACAzM;AACD;AANHA;AAQAA,gCAA8B,YAAY;AACxClK,gBAAYkK,OAAZlK,gBAAmC,eAAe;AAChD,UAAIkK,cAAJ,GAAIA,CAAJ,EAAwB;AACtB,YAAIyM,MAAMzM,cAAV,GAAUA,CAAV;AACAyM;AACAA;AACAzM;AACD;AANHlK;AADFkK;AAUA,MAAI6M,cAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,cAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,YAAJ;AACA,MAAIC,6BAAJ;AAAA,MAA2BC,yBAA3B;AAAA,MAA8CC,yBAA9C;AACA,MAAIC,mBAAmB,SAAnBA,gBAAmB,GAAW;AAChC,QAAIvN,cAAJ,WAA6B;AAC3B,UAAGA,8CAA8C,CAAjD,uBAAyE;AACvEmM;AACAiB,gCAAwB,2QAGR,EAAC/J,UAHO,CAGR,EAHQ,EAAxB+J,uBAAwB,CAAxBA;AAIAE,4BAAoBF,oCAApBE,8BAAoBF,CAApBE;AACAD,4BAAoBD,oCAApBC,8BAAoBD,CAApBC;AACAd,oBAAYa,oCAAZb,kCAAYa,CAAZb;AACAvM;AACD;AACD6M,oBAAc7M,wBAAd6M;AACAC,mBAAa9M,wBAAb8M;AACAC,oBAAc/M,wBAAd+M;AACAC,iBAAWhN,wBAAXgN;AACAC,iBAAWjN,wBAAXiN;AACAE,kBAAYnN,wBAAZmN;AACAZ;AACAA;AACD;AArBH;AAuBAvM;;AAEA,MAAI,OAAOA,cAAP,sCAA2D,OAAOA,cAAP,uBAA/D,YAAuH;AACrHA,8CAA0C,aAAK;AAC7C9I;AACA;AACA,UAAI,CAAC8I,OAAL,cAA0B;AACxBA;AACAA;AACD;AANHA;AAQAA,+CAA2C,aAAK;AAC9C;AACAA;AACAA;AAHFA;AAKAA,6CAAyC,aAAK;AAC5C;AACAA;AACAA;AAHFA;AAKD;AACD,MAAIwN,SAAS,eAAb,WAAa,CAAb;AACA,MAAI/P,6BAAJ,UAAiC;AAC/B;AACA+P;AACD;AACDA,iBAAe,gBAAQ;AACrB1B,qCAAiC,aAAa;AAC5C,UAAI9L,cAAJ,iBAAmC;AACnC;AACA9I;AACA;AACA,UAAIA,uBAAwB,CAAC8I,cAAD,uBAAsCA,OAAlE,OAAiF;AAC/E;AACD;;AAED8L;;AAT4C,kCAU/BK,SAV+B,qBAU/BA,EAV+B;AAAA;;AAY5C,UAAMsB,WAAWzB,mBAAjB,MAAiBA,CAAjB;AACA,oBAAc;AACZ0B,eAAOvB,iCAAPuB;AACAxB,yBAAiBJ,kCAAjBI;AAFF,aAGO;AACLA,yBAAiBJ,kCAAjBI;AACAwB,eAAOvB,iCAAPuB;AACD;;AAED,UAAIC,OAAO,SAAPA,IAAO,IAAa;AACtB;AACAzW;AACA;AACA8I;AACA,YAAI/H,IAAI,CAACwV,WAAWvW,EAAXuW,UAAuBvW,EAAxB,WAAR;AACA,YAAIe,IAAJ,gBAAwB;AACtBA;AACD;AACD,YAAI2V,MAAM3V,qBAAqB+H,OAA/B;AACA,YAAG4N,MAAH,GAAYA;AACZ,YAAG5N,iCAAkC3H,yBAAyB2H,OAA9D,eAAqF,CAArF,OACK;AACHmM,iCAA0BlU,UAA1BkU,cAA0BlU,GAA1BkU;;AAEA,cAAInM,4CAA4C,CAACA,OAA7CA,QAA4D,CAACA,cAAjE,eAA8F;AAC5FX;AACAW,iCAAqB3H,oBAArB2H,CAAqB3H,CAArB2H;AAFF,iBAGO;AACL,gBAAIjJ,OAAO,mBAAQiJ,OAAR,UAAX,gBAAW,CAAX;AACA,sBAAU;AACRjJ,wEAAwD,kBAAO6W,OAA/D7W,CAAwD,CAAxDA,qBAAwF,kBAAOiJ,OAA/FjJ,QAAwF,CAAxFA;AACD;AACF;AACF;;AAED,YAAGiJ,2BAA2BA,wBAA9B,oBAA0E;AACxEqN,mDAAuC,kBAAvCA,GAAuC,CAAvCA,kBAA+D,kBAAOrN,mBAAtEqN,CAA+D,CAA/DA;;AAEAH,qBAAWlN,kBAAXkN;AACA,cAAI1O,QAAQ9H,WAAWkX,MAAvB,QAAYlX,CAAZ;AACA6V,qDAAyCY,UAAUzW,UAAU,CAAC8H,QAAD,MAAewO,WAAzBtW,QAAU,CAAVA,IAAnD6V,CAAyCY,CAAzCZ;AACA,cAAIsB,cAAcrP,YAAawO,WAAD,QAACA,IAAwBtW,UAAU,CAAC8H,QAAD,MAAewO,WAAzBtW,QAAU,CAAVA,IAAvD,CAA+BsW,CAA/B;AACA,cAAIc,eAAepX,UAAUmX,cAAVnX,YAAnB;AACA,cAAIqX,eAAeF,cAAcC,eAAdD,WAAnB;AACAtB,yDAA6CwB,eAA7CxB,sBAA6EuB,eAA7EvB;AACAa;AACD;;AAEDpN;AAvCF;AAyCA,UAAIgO,KAAK,SAALA,EAAK,IAAa;AACpB3O;AACA;AACAnI;AACA;AACAL;AACAA,sDAA8C,EAAEoX,SAAhDpX,KAA8C,EAA9CA;AACAA;AACAA;AACA,YAAG4G,0CAAH,GAAsC;AACpCqO;AACD;AACD,YAAI,CAAC9L,OAAD,oBAA6BA,sBAAsBA,iCAAnD,WAAgGA,OAAhG,QAA+GA,cAAnH,eAAgJ;AAC9I,cAAI/H,IAAI,CAACwV,WAAWvW,EAAXuW,UAAuBvW,EAAxB,WAAR;AACA,cAAIe,IAAJ,gBAAwB;AACtBA;AACD;AACD,cAAI2V,MAAM3V,qBAAqB+H,OAA/B;AACA,cAAG4N,MAAH,GAAYA;AACZ,cAAG5N,iCAAkC3H,yBAAyB2H,OAA9D,eAAqF,CAArF,OACK;AACHmM,mCAA0BlU,UAA1BkU,cAA0BlU,GAA1BkU;AACA9M;AACAW,iCAAqB3H,oBAArB2H,CAAqB3H,CAArB2H;AACD;AACF;AACD,YAAGA,2BAA2BA,wBAA9B,oBAA0E;AACxEoN;AACD;AACDpN;AACAA;AA9BF;AAgCA;AACEnJ,iDAA2C,EAAEoX,SAA7CpX,KAA2C,EAA3CA;AACAA;AACF;AACEA;AACA;AACAA;AACF;AACA;AAtGFiV;AADF0B;;AA2GA1B,2CAAyC,aAAa;AACpD,QAAI,CAAC9L,cAAD,uBAAsCA,OAA1C,OAAwD;AACtD;AACD;AACD,QAAMyN,WAAWzB,mBAAjB,MAAiBA,CAAjB;AACA,QAAIkC,gBAAgBT,WAAW3B,kCAAX2B,MAAmD3B,kCAAvE;AACA,QAAII,iBAAiBuB,WAAW3B,kCAAX2B,SAAsD3B,kCAA3E;;AAEA,QAAIqC,UAAU,SAAVA,OAAU,IAAa;AACzB,UAAIP,MAAM,CAAC,CAACH,WAAWvW,EAAXuW,UAAuBvW,EAAxB,WAAD,kCAAwE8I,OAAlF;AACA4N,YAAMA,cAANA;AACAtB,0BAAoB,kBAApBA,GAAoB,CAApBA;AACA,UAAI8B,aAAa9B,8BAAjB;AACA,UAAItM,2BAA2B,CAACA,wBAAhC,oBAA4E;AAC1EkN,mBAAWlN,kBAAXkN;AACA,YAAI1O,QAAQ9H,WAAWkX,MAAvB,QAAYlX,CAAZ;AACA6V,mDAAyCY,UAAUzW,UAAU,CAAC8H,QAAD,MAAewO,WAAzBtW,QAAU,CAAVA,IAAnD6V,CAAyCY,CAAzCZ;AACA,YAAIsB,cAAcrP,YAAawO,WAAD,QAACA,IAAwBtW,UAAU,CAAC8H,QAAD,MAAewO,WAAzBtW,QAAU,CAAVA,IAAvD,CAA+BsW,CAA/B;AACA,YAAIc,eAAepX,UAAUmX,cAAVnX,YAAnB;AACA,YAAIqX,eAAeF,cAAcC,eAAdD,WAAnB;AACAtB,uDAA6CwB,eAA7CxB,sBAA6EuB,eAA7EvB;AACA,YAAImB,OAAO,CAACD,WAAWvW,EAAXuW,UAAuBvW,EAAxB,2BAAqD4V,aAAhE;AACAY,eAAOA,kBAAPA;AACAA,eAAOA,OAAOxB,iBAAPwB,oBAA4CxB,iBAAnDwB;AACAnB;AACAA,8BAAyB,MAAzBA,WAAyB,GAAzBA;AACAA;AACAD,2BAAsBoB,OAAOZ,aAAPY,IAAwBU,aAA9C9B,CAAsBoB,GAAtBpB;AAdF,aAeO;AACL,YAAIoB,QAAOxW,4BAA4BkX,aAAvC;AACAV,gBAAOA,oBAAPA;AACAA,gBAAOA,QAAOxB,iBAAPwB,aAAqCxB,iBAArCwB,aAAPA;AACApB;AACD;AACD,UAAI,+BAAJ,8BAAI,CAAJ,EAAyD;AACvDA;AADF,aAEO;AACLA;AACD;AA9BH;AAgCA,QAAIqB,OAAO,SAAPA,IAAO,IAAa;AACtBQ;AADF;AAGA,QAAIE,QAAQ,SAARA,KAAQ,IAAa;AACvBvC;AACAA;AACAqC;AACA7B;AACA,UAAItM,2BAA2B,CAACA,wBAAhC,oBAA4E;AAC1EuM;AACD;AAPH;AASAT;AACAA;AACAqC;AAtDFrC;;AAyDA;AACA,MAAIwC,eAAe,SAAfA,YAAe,GAAY;AAC7B,QAAGtO,yBAAH,WAAuCA;AACvC,QAAGA,uBAAuBA,OAA1B,aAA8CA,uBAAuBA,OAAvBA;AAC9C,QAAI,mBAAJ,WAAkC;AAChCkM,uBAAiBJ,kCAAjBI;AACD;AACD,QAAI,CAAClM,OAAD,oBAA4B,CAACA,OAA7B,aAAiD,CAACA,OAAtD,SAAsE;AACpE,UAAMuO,UAAUvO,qBAAqBA,OAArC;AACA,UAAMwO,cAAcnW,OAAO8T,yCAAP9T,OAAuDA,OAAOyT,yBAAlF,KAA2EzT,CAA3E;AACA,UAAI3B,SAAS6X,UAAT7X,gBAAJ,GAA0C;AACxCyV,+BAA0BnM,2BAA2BA,OAArDmM,QAA0BnM,GAA1BmM;AACD;AACF;AAZH;AAcAnM;;AAEA,MAAIyO,sBAAsB,SAAtBA,mBAAsB,OAAgB;AACxCtC,2BAA0BpV,aAAaiJ,OAAvCmM,QAA0BpV,GAA1BoV;AADF;AAGAnM;;AAEA,MAAI0O,cAAc,SAAdA,WAAc,GAAY;AAC5BvC;AADF;AAGAnM;;AAEA,MAAI2O,gBAAgB,SAAhBA,aAAgB,GAAY;AAC9B,QAAIvV,WAAW4G,OAAf;AACA,QAAI5G,YAAYA,kBAAhB,GAAqC;AACnC,UAAIR,MAAMQ,aAAaA,kBAAvB,CAAUA,CAAV;AACA,WAAK,IAAIV,IAAJ,GAAWnC,MAAM6C,SAAtB,QAAuCV,IAAvC,UAAqD;AACnD,YAAIsH,sBAAsB5G,eAAtB4G,CAAsB5G,CAAtB4G,IAA2CA,sBAAsB5G,aAArE,CAAqEA,CAArE,EAAsF;AACpFR,gBAAMQ,aAANR,CAAMQ,CAANR;AACA,eAAK,IAAIC,IAAIH,IAAb,GAAoBG,IAAIO,SAAxB,aAA8C;AAC5C,gBAAIA,oBAAoBA,aAAaP,IAAjCO,CAAoBA,CAApBA,IAAJ,GAAkD;AAChDR,oBAAMQ,aAAaP,IAAnBD,CAAMQ,CAANR;AACA;AACD;AACF;AACD;AACD;AACF;AACDyT,0BAAuBzT,MAAMoH,OAANpH,WAAvByT,GAAuBzT,GAAvByT;AACD;AAjBH;AAmBA,MAAMuC,oBAAoB,2CAA1B,YAA0B,CAA1B;AACAA,4BAA0B,gBAAQ;AAChC5O;AADF4O;;AAIA,yBAAwB;AACtB5O;AACAA;AACAA;AACAA;AACAA;AACAA;AACA4O,8BAA0B,gBAAQ;AAChC5O;AADF4O;AAGA5O;AACD;AACDA;AAxYF;;kBA2Ye;AACb1H,QADa;AAEbmH,UAAQwM;AAFK,C;;;;;;;;AClZf,cAAc,mBAAO,CAAC,EAAkL;;AAExM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,6CAA6C,cAAc,kBAAkB,YAAY,iBAAiB,UAAU,WAAW,aAAa,UAAU,WAAW,gDAAgD,8BAA8B,cAAc,WAAW,gBAAgB,iBAAiB,WAAW,kBAAkB,eAAe,iGAAiG,cAAc,YAAY,cAAc,kBAAkB,OAAO,MAAM,gDAAgD,QAAQ,8BAA8B,iDAAiD,cAAc,QAAQ,yDAAyD,8BAA8B,8CAA8C,aAAa,kBAAkB,OAAO,SAAS,WAAW,YAAY,mBAAmB,gBAAgB,qCAAqC,UAAU,kCAAkC,8BAA8B,0BAA0B,WAAW,gDAAgD,kBAAkB,8DAA8D,cAAc,UAAU,aAAa,YAAY,8CAA8C,qBAAqB,kBAAkB,WAAW,UAAU,MAAM,gBAAgB,kBAAkB,WAAW,qEAAqE,kBAAkB,YAAY,UAAU,kCAAkC,8BAA8B,0BAA0B,YAAY,iBAAiB,WAAW,0BAA0B,kBAAkB,gCAAgC,eAAe,mBAAmB,aAAa,0EAA0E,cAAc,oDAAoD,kBAAkB,2BAA2B,sBAAsB,kEAAkE,cAAc,aAAa,WAAW,8CAA8C,kBAAkB,WAAW,YAAY,MAAM,OAAO,aAAa,2EAA2E,kBAAkB,cAAc,QAAQ,SAAS,uCAAuC,mCAAmC,+BAA+B,4GAA4G,cAAc,wGAAwG,cAAc,kBAAkB,+BAA+B,eAAe,WAAW,gBAAgB,6GAA6G,WAAW,kJAAkJ,WAAW,eAAe,8IAA8I,WAAW,8IAA8I,cAAc,SAAS,iRAAiR,WAAW,8DAA8D,wBAAwB,kLAAkL,qBAAqB,2BAA2B,8KAA8K,wBAAwB,mBAAmB;;AAEllI;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAI4C,SAAS,SAATA,MAAS,GAAY;AACvB,MAAI7O,SAAJ;AACA,MAAI8L,YAAY,0EAA4D9L,sBAAsB,kBAAlF,CAAkF,CAAlF,oEACiCA,mBAAmB,kBADpD,CACoD,CADpD,mBAAhB,eAAgB,CAAhB;AAEAA,uBAAqB,YAAM;AACzB,QAAGA,OAAH,UAAoB;AAClBA;AACD;AAHHA;AAKA,MAAI8O,eAAe,SAAfA,YAAe,GAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI9O,4CAA4C,CAACA,OAA7CA,oBAAwE,CAACA,OAA7E,MAA0F;AACxF8L,4BAAsB,yCAAuC,kBAAO9L,sBAA9C,CAAuC,CAAvC,2BAA2F,kBAAOA,OAAlG,QAA2F,CAA3F,GAAtB8L,SAAsB,CAAtBA;AACD;AAXH;AAaA9L;AACAA;;AAEA,uBAAsB;AACpBA;AACAA;AACAA;AACD;AACDA;AA9BF;;kBAiCe;AACb1H,QADa;AAEbmH,UAAQoP;AAFK,C;;;;;;;;ACnCf,cAAc,mBAAO,CAAC,EAA8K;;AAEpM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,yCAAyC,gBAAgB,yBAAyB,QAAQ,oBAAoB,eAAe,WAAW,iBAAiB,YAAY,kBAAkB,qBAAqB,gBAAgB,2CAA2C,yBAAyB,6DAA6D,WAAW,mEAAmE,cAAc,qBAAqB,cAAc;;AAEnf;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIE,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAI/O,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,MAAIgP,aAAahP,YAAjB;AACA,MAAIjI,MAAM,kCAA0BkX,SAA1B,OAA0BA,GAA1B,wFAA0BA,GAA1B,UAA0BA,GAA1B,kEAAV,iBAAU,CAAV;AAGAjP,uBAAqB,YAAM;AACzB8J;AADF9J;;AAIA,qBAAoB;AAClB,QAAIkP,OAAOnX,kBAAX,MAAWA,CAAX;AACA,cAAS;AACP,UAAIoX,YAAYtY,+CAAhB,WAAgBA,CAAhB;AACA,UAAG,iCAAiCsY,4BAA4B,CAAhE,GAAoE;AAClE;AADF,aAEO;AACLD;AACD;AACF;AACF;AACDlP;;AAEA,yBAAwB;AACtB9I;AACAA;AACD;AACDa;;AAEA,MAAIqX,MAAMrX,kBAAV,KAAUA,CAAV;;AAEA,gCAA8B,gBAAQ;AACpCqX,+BAA2B,aAAa;AACtClY;AACAA;AACA8I;AAHFoP;AADF;;AAQA,yBAAwB;AACtBpP;AACAA;AACD;AACDA;AA7CF;;kBAgDe;AACb1H,QADa;AAEbmH,UAAQsP;AAFK,C;;;;;;;;ACpDf;AAAe,msC;;;;;;;ACCf,cAAc,mBAAO,CAAC,EAAgL;;AAEtM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,2CAA2C,kBAAkB,OAAO,MAAM,WAAW,YAAY,YAAY,aAAa,+BAA+B,qBAAqB,uBAAuB,2BAA2B,sBAAsB,mBAAmB,2BAA2B,8BAA8B,yBAAyB,0BAA0B,sBAAsB,4CAA4C,2BAA2B,mBAAmB,eAAe,iDAAiD,uCAAuC,mCAAmC,+BAA+B,UAAU,kDAAkD,2BAA2B,uDAAuD,UAAU,6DAA6D,qBAAqB,+BAA+B,eAAe,WAAW,iBAAiB,kEAAkE,aAAa,gEAAgE,qBAAqB,iBAAiB,aAAa;;AAE3pC;;;;;;;;ACNA,cAAc,mBAAO,CAAC,GAAmL;;AAEzM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;;;;;;;;;;;;;;;ACnBf;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AA6BA;;;;;;AA3BAtQ,4BAAkB,CACd4Q,UADc,SAEdC,gBAFc,SAGdC,QAHc,SAIdC,aAJc,SAKdC,WALc,SAMdC,aANc,SAOdC,aAPc,SAQdC,WARc,SASdC,eATc,SAUdC,aAVc,SAWdC,aAXc,SAYdC,SAZc,SAadC,KAbc,SAcdC,MAdc,SAedC,OAfc,SAgBdC,WAhBc,SAiBdC,SAjBc,SAkBdC,SAlBc,SAmBdC,SAnBc,SAoBdC,aApBc,SAqBdC,aArBc,SAsBdC,QAtBc,SAuBdC,SAvBc,SAwBdC,YAxBJnS,OAAkB,CAAlBA;;kBA6BeA,gB;;;;;;;;;;;;;ACxDf,IAAI2E,UAAU,SAAVA,OAAU,GAAY;AACxB,MAAIpD,SAAJ;AACA,MAAG,CAACA,cAAD,WAA0B,CAACnJ,OAA9B,uCAA4E;;AAE5E,+BAA8B;AAC5BmJ;AACD;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AAbF;;kBAgBe;AACb1H,QADa;AAEbmH,UAAQ2D;AAFK,C;;;;;;;;;;;;;;AChBf;;AAEA,IAAIyN,gBAAgB,SAAhBA,aAAgB,GAAY;AAC9B,MAAI7Q,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,qCAAoC;AAClC,QAAI,0BAAJ,2BAAI,CAAJ,EAAiD;AAC/CA;AADF,WAEO;AACLA;AACD;AACF;AACDA;AACAA,8BAA4B,YAAM;AAChC;AADFA;;AAIA,uBAAsB;AACpBA;AACAA;AACD;AACDA;;AAEAA,4BAA0B,YAAY;AACpC,QAAIA,SAAJ;AACA,QAAIA,cAAJ,OAAyB;AACvBA;AACD;AACD,wBAASA,OAAT;AACAA;AANFA;;AASAA,6BAA2B,YAAY;AACrC,QAAIA,SAAJ;AACA,QAAIA,cAAJ,OAAyB;AACvBA;AACAA;AACAA,yCAAsCA,6BAA6BA,cAAnEA,KAAsCA,GAAtCA;AACD;AACD,2BAAYA,OAAZ;AACAA;AARFA;AA/BF;;kBA2Ce;AACb1H,QADa;AAEbmH,UAAQoR;AAFK,C;;;;;;;;;;;;;;AC7Cf;;AAEA,IAAIC,QAAQ,SAARA,KAAQ,GAAY;AACtB,MAAI9Q,SAAJ;;AAEA,gCAA8B;AAC5B,QAAI8L,YAAY9L,0BAAhB,UAAgBA,CAAhB;AACA;AACA,QAAI,CAACA,oBAAL,iBAA0C;AAAA,yBAIxC,wBAAyB;AACvB+Q;AALsC;;AAAA,oBA2BxC,mBAAoB;AAClB,YAAI,oBAAS/Q,OAAT,UAAJ,qBAAI,CAAJ,EAAsD;AACpD+Q;AACD;AA9BqC;;AAAA,mBAkCxC,kBAAmB;AACjB,YAAI,oBAAS/Q,OAAT,UAAJ,qBAAI,CAAJ,EAAsD;AACpD+Q;AACD;AArCqC;;AAAA,qBAyCxC,oBAAqB;AACnB,YAAI,oBAAS/Q,OAAT,UAAJ,qBAAI,CAAJ,EAAsD;AACpD+Q;AACAA;AACD;AA7CqC;;AAAA,sBAiDxC,qBAAsB;AACpB/Q;AACAA;AACAA;AACAA;AACAA;AAtDsC;;AACxCA,wBAAkB,mBAAQ+Q,+BAA1B/Q,IAA0B+Q,CAAR,CAAlB/Q;AACAA,kCAA4BA,OAA5BA;;AAKA,oCAA8B,gBAAQ;AACpCA,+CAAuC,aAAK;AAC1C9I;AACAA;AACA,iCAAY8I,OAAZ;AACA,cAAI,oBAASA,OAAT,UAAJ,qBAAI,CAAJ,EAAsD;AACpDA;AACA;AACAA;AAHF,iBAIO;AACLA;AACA;AACA+Q;AACD;AAZH/Q;AADF;;AAiBAA,+BAAyB,oCAAoC,aAAa;AAAEA;AAAnD,SAAzBA,KAAyB,CAAzBA;AACAA,kCAA4B,uCAAuC,aAAa;AAAEA;AAAtD,SAA5BA,KAA4B,CAA5BA;;AAOAA;;AAOAA;;AAQAA;;AASAA;AACD;AACF;AACDA;AAjEF;;kBAqEe;AACb1H,QADa;AAEbmH,UAAQqR;AAFK,C;;;;;;;;;;;;;ACvEf,IAAIE,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIhR,SAAJ;;AAEA,uBAAsB;AACpBA;AACD;AACDA;AANF;;kBASe;AACb1H,QADa;AAEbmH,UAAQuR;AAFK,C;;;;;;;;;;;;;;ACTf;;;;AACA;;;;;;AAEA,IAAIC,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAIjR,SAAJ;;AAEA,gCAA+B;AAC7B;AACAA;AACD;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;;AAEAA,oBAAkB,YAAY;AAC5B,QAAM1I,MAAM,yBAAe,YAA3B,GAAY,CAAZ;AACA;AAFF0I;AAfF;;kBAqBe;AACb1H,QADa;AAEbmH,UAAQwR;AAFK,C;;;;;;;ACxBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEC,WAAUnH,IAAV,EAAgBoH,OAAhB,EAAyB;AACzB,KAAI,IAAJ,EAAgD;AAC/C;AACAC,mCAAO,EAAP,oCAAWD,OAAX;AAAA;AAAA;AAAA;AACA,EAHD,MAGO,EAQL;AACF,CAbA,EAaC,IAbD,EAaO,YAAY;;AAEnB,QAAO,SAASD,QAAT,CAAkBhV,IAAlB,EAAwBmV,WAAxB,EAAqCC,WAArC,EAAkD;;AAExD,MAAI9R,OAAO1I,MAAX;AAAA,MAAmB;AAClBya,gBAAc,0BADf;AAAA,MAC2C;AAC1CC,aAAWF,eAAeC,WAF3B;AAAA,MAGCE,UAAUvV,IAHX;AAAA,MAIC3E,MAAM,CAAC8Z,WAAD,IAAgB,CAACC,WAAjB,IAAgCG,OAJvC;AAAA,MAKCC,SAAS5b,SAAS6b,aAAT,CAAuB,GAAvB,CALV;AAAA,MAMClX,WAAW,UAASjD,CAAT,EAAW;AAAC,UAAOjB,OAAOiB,CAAP,CAAP;AAAkB,GAN1C;AAAA,MAOCoa,SAAUpS,KAAKqS,IAAL,IAAarS,KAAKsS,OAAlB,IAA6BtS,KAAKuS,UAAlC,IAAgDtX,QAP3D;AAAA,MAQCuX,WAAWX,eAAe,UAR3B;AAAA,MASCY,IATD;AAAA,MAUCC,MAVD;AAWCN,WAAQA,OAAOxM,IAAP,GAAcwM,OAAOO,IAAP,CAAY3S,IAAZ,CAAd,GAAkCqS,IAA1C;;AAED,MAAGtb,OAAO,IAAP,MAAe,MAAlB,EAAyB;AAAE;AAC1Bkb,aAAQ,CAACA,OAAD,EAAUD,QAAV,CAAR;AACAA,cAASC,QAAQ,CAAR,CAAT;AACAA,aAAQA,QAAQ,CAAR,CAAR;AACA;;AAGD,MAAGla,OAAOA,IAAId,MAAJ,GAAY,IAAtB,EAA2B;AAAE;AAC5Bub,cAAWza,IAAI6a,KAAJ,CAAU,GAAV,EAAeC,GAAf,GAAqBD,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAX;AACAV,UAAOY,IAAP,GAAc/a,GAAd,CAF0B,CAEP;AACjB,OAAGma,OAAOY,IAAP,CAAY5J,OAAZ,CAAoBnR,GAApB,MAA6B,CAAC,CAAjC,EAAmC;AAAE;AAChC,QAAIgb,OAAK,IAAIC,cAAJ,EAAT;AACAD,SAAKE,IAAL,CAAW,KAAX,EAAkBlb,GAAlB,EAAuB,IAAvB;AACAgb,SAAKG,YAAL,GAAoB,MAApB;AACAH,SAAKI,MAAL,GAAa,UAASxb,CAAT,EAAW;AAC5B+Z,cAAS/Z,EAAEyb,MAAF,CAASC,QAAlB,EAA4Bb,QAA5B,EAAsCT,WAAtC;AACD,KAFK;AAGApR,eAAW,YAAU;AAAEoS,UAAKO,IAAL;AAAa,KAApC,EAAsC,CAAtC,EAP8B,CAOY;AAC7C,WAAOP,IAAP;AACH,IAZyB,CAYxB;AACF,GAnCuD,CAmCtD;;;AAGF;AACA,MAAG,iCAAiC/K,IAAjC,CAAsCiK,OAAtC,CAAH,EAAkD;;AAEjD,OAAGA,QAAQhb,MAAR,GAAkB,OAAK,IAAL,GAAU,KAA5B,IAAsCmb,WAAWnX,QAApD,EAA8D;AAC7DgX,cAAQsB,cAActB,OAAd,CAAR;AACAD,eAASC,QAAQrS,IAAR,IAAgBmS,WAAzB;AACA,IAHD,MAGK;AACJ,WAAO3T,UAAUoV,UAAV,GAAwB;AAC9BpV,cAAUoV,UAAV,CAAqBD,cAActB,OAAd,CAArB,EAA6CO,QAA7C,CADM,GAENiB,MAAMxB,OAAN,CAFD,CADI,CAGc;AAClB;AAED,GAXD,MAWK;AAAC;AACL,OAAG,gBAAgBjK,IAAhB,CAAqBiK,OAArB,CAAH,EAAiC;AAChC,QAAI9Y,IAAE,CAAN;AAAA,QAASua,YAAW,IAAIC,UAAJ,CAAe1B,QAAQhb,MAAvB,CAApB;AAAA,QAAoD2c,KAAGF,UAAUzc,MAAjE;AACA,SAAIkC,CAAJ,EAAMA,IAAEya,EAAR,EAAW,EAAEza,CAAb,EAAgBua,UAAUva,CAAV,IAAc8Y,QAAQ4B,UAAR,CAAmB1a,CAAnB,CAAd;AACf8Y,cAAQ,IAAIG,MAAJ,CAAW,CAACsB,SAAD,CAAX,EAAwB,EAAC9T,MAAMoS,QAAP,EAAxB,CAAR;AACD;AACD;AACDS,SAAOR,mBAAmBG,MAAnB,GACNH,OADM,GAEN,IAAIG,MAAJ,CAAW,CAACH,OAAD,CAAX,EAAsB,EAACrS,MAAMoS,QAAP,EAAtB,CAFD;;AAKA,WAASuB,aAAT,CAAuBO,MAAvB,EAA+B;AAC9B,OAAIC,QAAOD,OAAOlB,KAAP,CAAa,OAAb,CAAX;AAAA,OACAhT,OAAMmU,MAAM,CAAN,CADN;AAAA,OAEA1W,UAAS0W,MAAM,CAAN,KAAY,QAAZ,GAAuBC,IAAvB,GAA8BC,kBAFvC;AAAA,OAGAC,UAAS7W,QAAS0W,MAAMlB,GAAN,EAAT,CAHT;AAAA,OAIAe,KAAIM,QAAQjd,MAJZ;AAAA,OAKAkC,IAAG,CALH;AAAA,OAMAgb,QAAO,IAAIR,UAAJ,CAAeC,EAAf,CANP;;AAQA,QAAIza,CAAJ,EAAMA,IAAEya,EAAR,EAAW,EAAEza,CAAb,EAAgBgb,MAAMhb,CAAN,IAAU+a,QAAQL,UAAR,CAAmB1a,CAAnB,CAAV;;AAEhB,UAAO,IAAIiZ,MAAJ,CAAW,CAAC+B,KAAD,CAAX,EAAoB,EAACvU,MAAMA,IAAP,EAApB,CAAP;AACC;;AAEF,WAAS6T,KAAT,CAAe1b,GAAf,EAAoBqc,OAApB,EAA4B;;AAE3B,OAAI,cAAclC,MAAlB,EAA0B;AAAE;AAC3BA,WAAOY,IAAP,GAAc/a,GAAd;AACAma,WAAOmC,YAAP,CAAoB,UAApB,EAAgC7B,QAAhC;AACAN,WAAOvb,SAAP,GAAmB,kBAAnB;AACAub,WAAOoC,SAAP,GAAmB,gBAAnB;AACApC,WAAO7X,KAAP,CAAaka,OAAb,GAAuB,MAAvB;AACAje,aAASke,IAAT,CAAcC,WAAd,CAA0BvC,MAA1B;AACAvR,eAAW,YAAW;AACrBuR,YAAOwC,KAAP;AACApe,cAASke,IAAT,CAAcG,WAAd,CAA0BzC,MAA1B;AACA,SAAGkC,YAAU,IAAb,EAAkB;AAACzT,iBAAW,YAAU;AAAEX,YAAK4U,GAAL,CAASC,eAAT,CAAyB3C,OAAOY,IAAhC;AAAuC,OAA9D,EAAgE,GAAhE;AAAuE;AAC1F,KAJD,EAIG,EAJH;AAKA,WAAO,IAAP;AACA;;AAED;AACA,OAAG,gDAAgD9K,IAAhD,CAAqD5J,UAAU0W,SAA/D,CAAH,EAA8E;AAC7E,QAAG,SAAS9M,IAAT,CAAcjQ,GAAd,CAAH,EAAuBA,MAAI,UAAQA,IAAI+R,OAAJ,CAAY,qBAAZ,EAAmCiI,WAAnC,CAAZ;AACvB,QAAG,CAACza,OAAO2b,IAAP,CAAYlb,GAAZ,CAAJ,EAAqB;AAAE;AACtB,SAAGgd,QAAQ,gGAAR,CAAH,EAA6G;AAAExL,eAASuJ,IAAT,GAAc/a,GAAd;AAAoB;AACnI;AACD,WAAO,IAAP;AACA;;AAED;AACA,OAAIid,IAAI1e,SAAS6b,aAAT,CAAuB,QAAvB,CAAR;AACA7b,YAASke,IAAT,CAAcC,WAAd,CAA0BO,CAA1B;;AAEA,OAAG,CAACZ,OAAD,IAAY,SAASpM,IAAT,CAAcjQ,GAAd,CAAf,EAAkC;AAAE;AACnCA,UAAI,UAAQA,IAAI+R,OAAJ,CAAY,qBAAZ,EAAmCiI,WAAnC,CAAZ;AACA;AACDiD,KAAEnd,GAAF,GAAME,GAAN;AACA4I,cAAW,YAAU;AAAErK,aAASke,IAAT,CAAcG,WAAd,CAA0BK,CAA1B;AAA+B,IAAtD,EAAwD,GAAxD;AAEA,GAhHuD,CAgHvD;;;AAKD,MAAI5W,UAAUoV,UAAd,EAA0B;AAAE;AAC3B,UAAOpV,UAAUoV,UAAV,CAAqBf,IAArB,EAA2BD,QAA3B,CAAP;AACA;;AAED,MAAGxS,KAAK4U,GAAR,EAAY;AAAE;AACbnB,SAAMzT,KAAK4U,GAAL,CAASK,eAAT,CAAyBxC,IAAzB,CAAN,EAAsC,IAAtC;AACA,GAFD,MAEK;AACJ;AACA,OAAG,OAAOA,IAAP,KAAgB,QAAhB,IAA4BA,KAAKrK,WAAL,KAAmBnN,QAAlD,EAA4D;AAC3D,QAAG;AACF,YAAOwY,MAAO,UAAWzB,QAAX,GAAwB,UAAxB,GAAuChS,KAAKpE,IAAL,CAAU6W,IAAV,CAA9C,CAAP;AACA,KAFD,CAEC,OAAMyC,CAAN,EAAQ;AACR,YAAOzB,MAAO,UAAWzB,QAAX,GAAwB,GAAxB,GAA8BzV,mBAAmBkW,IAAnB,CAArC,CAAP;AACA;AACD;;AAED;AACAC,YAAO,IAAIyC,UAAJ,EAAP;AACAzC,UAAOS,MAAP,GAAc,UAASxb,CAAT,EAAW;AACxB8b,UAAM,KAAKzK,MAAX;AACA,IAFD;AAGA0J,UAAO0C,aAAP,CAAqB3C,IAArB;AACA;AACD,SAAO,IAAP;AACA,EA7ID,CAFmB,CA+IhB;AACH,CA7JA,CAAD,C;;;;;;;;;;;;ACRO,IAAM4C,0CAAiB,SAAjBA,cAAiB,MAAe;AAC3C;AACA,MAAI,CAACtd,UAAL,cAAKA,CAAL,EAAgC;AAC9B,QAAMud,MAAMhf,uBAAZ,KAAYA,CAAZ;AACAgf;AACAvd,UAAMud,eAANvd;AACD;AACD;AAPK,E;;;;;;;;;;;;;ACDP;;;;;;;;AACA;;;;;;;AAOA,IAAMwd,gBAAgB;AACpBC,YADoB,GACP;AACbC,aAFoB,IAEL;AACfC,WAHoB,MAGL;AACfC,gBAJoB,IAIF;AAJE,CAAtB;;AAOA,sBAAuB;AAAA;;AACrB,MAAMlV,SAAN;AACA;AACA,MAAI,CAACA,cAAD,eAA8BA,8BAA8B,CAAhE,GAAoE;AAClE;AACD;AACD,MAAMmV,cAAN;AACA,MAAMC,YAAYpV,cAAlB;AACA,OAAK,IAAL,sBAAiC;AAC/B,QAAIoV,mBAAJ,WAAkC;AAChCD,yBAAmBL,cAAnBK,GAAmBL,CAAnBK;AADF,WAEO;AACLA,yBAAmBC,UAAnBD,GAAmBC,CAAnBD;AACD;AACF;AACDnV,qBAAmB;AACjBqV,WADiB,GACP;AACVC,eAFiB,MAEA;AACjBC,mBAHiB,OAGK;AACtBrR,iBAJiB,EAIF;AAJE,GAAnBlE;;AAOA,4CAA2C;AACzC,QAAMwV,aAAa,SAAbA,UAAa,gBAAmB;AACpC,UAAI,CAACxV,iBAAL,eAAqC;AACnCA;AACAyV;AACD;AAJH;AAMA,WAAO,YAAY,2BAAqB;AACtC,UAAI;AACF,YAAIC,MAAM,IAAI7e,OAAd,cAAU,EAAV;AACA6e;AACAA,qBAAa,YAAY;AACvBF,8BAAoB,EAACjR,QAAQmR,IAAT,QAAqBC,YAAYD,IAAjC,YAAiDA,KAArEF,GAAoB,EAApBA;AADFE;AAGAA,sBAAc,YAAY;AACxBF,8BAAoB,EAACjR,QAAQmR,IAAT,QAAqBC,YAAYD,kBAAjC,qEAAwHA,KAA5IF,GAAoB,EAApBA;AADFE;AAGAA,sBAAc,YAAY;AACxB;AADFA;AAGA1V,qCAA6B,kBAAkB,YAAM;AACnD,cAAIsV,YAAYtV,iBAAhB;AACAnJ;AACAmJ;AACAwV,8BAAoB,EAACjR,QAAQ,CAAT,GAAaoR,YAAjCH,iBAAoB,EAApBA;AAJ2B,WAA7BxV,OAA6B,CAA7BA;AAMA0V;AAlBF,QAmBE,YAAY;AACZ1V;AACAwV,4BAAoB,EAACjR,QAAQ,CAAT,GAAaoR,YAAjCH,eAAoB,EAApBA;AACD;AAvBH,KAAO,CAAP;AAyBD;;AAED,0BAAyB;AACvB;AACA,uBAAmB,eAAnB;AACA;AACA;AACA;AACA;AACD;;AAED,MAAMI,mBAAmB5V,OAAzB;AACAA,oBAAkB,gBAAU;AAC1B,QAAM6V,aAAa,gBAAnB;AACA;AACA,QAAIA,aAAaV,YAAjB,UAAuC;AACrC,UAAIA,YAAJ,SAAyB;AACvBW,0BAAiB,MAAjBA,YAAkCX,YAAlCW,mBAAiE,gBAAU;AACzE,8BAAmB,IAAI9Y,QAAJ,QAAW;AAC5BmC,kBAD4B;AAE5B+E,yBAAa,MAFe;AAG5B0I,sBAAU,kBAHkB;AAI5BmJ,0BAAc,MAJc;AAK5BC,wBAAY,MALgB;AAM5BC,wBAAY,MANgB;AAO5B7e,iBAAK,MAPuB;AAQ5B8e,mBAAO,MARqB;AAS5BC,sBAAUla,KATkB;AAU5Bma,qBAASna,KAVmB;AAW5BgB,kBAAM;AACJC,oBADI;AAEJV,mBAAK,MAFD;AAGJW,sBAAQ;AAHJ,aAXsB;AAgB5BE,uBAAW,eAAc,kBAhBG;AAiB5BC,wBAAY,eAAc,YAAWmK;AAjBT,WAAX,CAAnB;AAmBAmO;AApBFE;AADF,aAuBO;AACLF;AACD;AACD;AACD;AACD,QAAIC,eAAJ,GAAsB;AACpB,oCAA6B,MAA7B;AACA,4BAAqBQ,kBAArB,KAAqBA,CAArB;AACD;AACD,QAAIjf,MAAJ;AACA,QAAI+d,oBAAJ,GAA2B;AACzB/d,YAAM+d,wBAAwBA,YAAxBA,YAAgDnV,OAAtD5I;AADF,WAEO;AACLA,YAAM+d,yBAAyBU,aAAzBV,IAA0CA,YAA1CA,YAAkEnV,OAAxE5I;AACD;AACD;AACA;AA3CF4I;AA6CD;;kBAEc;AACb1H,QADa;AAEbmH,UAAQ6W;AAFK,C;;;;;;;;;;;;;;;;;;;;;;;;AChIf;;;;;;;;IACM1G,W;AACJ,4BAAqB;AAAA;;AACnB;AACA,iBAAa;AACX2G,oBADW;AAEXC,gBAFW;AAGXC,eAHW;AAIXC,cAJW;AAKXC,cAAQ;AALG,KAAb;AAOA;AACA;AACD;;;;iCAEa;AAAA;;AAAA,oBACW,KADX;AAAA;AAAA;;AAEZ,kCAA4B,wBAA5B,IAA4B,CAA5B;AACA,8BAAwB,oBAAxB,IAAwB,CAAxB;AACA,4BAAsB,kBAAtB,IAAsB,CAAtB;AACA,UAAI,CAACC,OAAD,eAAuBA,uBAA3B,MAAwD;AACtD/gB,6CAAqC,YAArCA;AACAiU,yCAAiC,YAAjCA;AACA,YAAIvJ,cAAc,SAAdA,WAAc,GAAM;AACtB1K,kDAAwC,aAAxCA;AACAiU,8CAAoC,aAApCA;AACAzJ,uBAAa,MAAbA;AACA;AAJF;AAMA,sBAAG,KAAH;AACD;AACF;;;gCAEYnJ,C,EAAG;AAAA;;AAEd,aAAOA,aAAa8I,OAAb9I,QAA4BA,aAAa8I,OAAzC9I,SAAyDA,aAAa8I,OAA7E;AACD;;;kCAEc1L,K,EAAO;AACpB,UAAI4C,IAAI5C,SAASuC,OAAjB;AACA,UAAM4f,UAAUvf,EAAhB;AACA,UAAKA,aAAarB,SAAd,IAACqB,KAAgCuf,kBAAkBA,YAAlBA,MAAoCA,YAAzE,EAAKvf,CAAL,EAA0F;AACxFA;AACAA;AACAA;AACA,YAAI,CAACA,EAAL,QAAe;AACbrB,6CAAmC,YAAnCA;AACD;AACD;AACA;AACD;AACF;;;8BAEUvB,K,EAAO;AAChB,UAAI4C,IAAI5C,SAASuC,OAAjB;AACA,UAAM4f,UAAUvf,EAAhB;AACA,UAAI,wBAAwBuf,kBAAkBA,YAAlBA,MAAoCA,YAApCA,MAAsDA,YAAtDA,MAAwEA,YAAxEA,MAA0FA,YAAtH,EAAI,CAAJ,EAAuI;AACrIvf;AACAA;AACAA;AACA;AACA,YAAI,CAACA,EAAL,QAAe;AACb,qDAA2C,YAA3C;AACD;AACD;AACA;AACD;AACF;;;8BAEU;AAAA;AAAA;;AAETrB,4CAAsC,YAAtCA;AACAmK,+CAAyC,YAAzCA;AACA,UAAI,CAAC6W,MAAL,SAAoB;AAClB;AACD;AACD,UAAIA,uBAAJ,GAA8B;AAC5B7W,8BAAsB6W,MAAtB7W;AACD;;AAED,UAAI,CAAC6W,MAAL,UAAqB;AACnB,4BAAoBA,MAApB;AACD;AACDA;AACAA;AACAA;AACAA;AACA;AACD;;;4BAEQ3f,C,EAAG;AAAA;AAAA;;AAEV2f,sBAAgB3f,EAAhB2f;AACAA,uBAAiB3f,EAAjB2f;AACA,UAAI3f,EAAJ,QAAc;AACZ,YAAI8I,cAAJ,kBAAoC;AAClC,8BAAoB6W,MAApB;AADF,eAEO,IAAGA,qBAAH,GAA2B;AAChC,8BAAoBA,MAApB;AACD;AACDA;AACD;AACF;;;mCAEeJ,O,EAASK,W,EAAa;AAAA;AAAA;;AAEpC;AACE;AACE;AACA,2BAAiB;AACfD,kCAAsB,KAAtBA,UAAsB,EAAtBA;AADF,iBAEO;AACL;AACD;AACD;AACF;AACE;AACA;AACA;AACF;AACE;AACA;AACA;AACF;AACE;AACA;AACA;AACF;AACE,cAAI,CAAJ,aAAkB;AAChB7W,4BAAgBA,OAAhBA,IAAgBA,EAAhBA,GAAgCA,OAAhCA,KAAgCA,EAAhCA;AACD;AACD;AACF;AACE,cAAI,oBAASA,OAAT,MAAJ,2BAAI,CAAJ,EAAwD;AACtDA;AACD;AACD;AACF;AACE;AAhCJ;AAkCD;;;yBAEK+W,M,EAAQC,W,EAAa;AAAA;;AAEzB,UAAMC,kBAAkBjX,iCAAxB;AACA,UAAMkX,kBAAkBD,+BAAxB;AACA,UAAIjX,oBAAoBA,OAApBA,aAAyCgX,eAAe,wBAA5D,GAAwF;AACtF;AACD;AACD,kBAAY;AACV,YAAIhX,wCAAJ,GAA+C;AAC7CA;AADF,eAEO;AACLA;AACD;AALH,aAMO;AACL,YAAGA,wBAAwBA,cAAxBA,mBAA0DA,uCAAuCA,OAApG,eAA2H;AACzHA,+BAAqBA,OAArBA;AADF,eAEO;AACL,cAAIA,wCAAwCA,OAA5C,UAA6D;AAC3DA;AADF,iBAEO;AACLA,iCAAqBA,kBAArBA;AACD;AACF;AACF;AACF;;;iCAEa;AACZ,gCAA0B,YAA1B;AACA,iCAA2B,mCAA3B;AACD;;;sCAEkBmX,I,EAAM;AAAA;;AAEvB,UAAI,CAACnX,OAAL,UAAsB;AACpB;AACD;AACD,gBAAU;AACRA;AACA,YAAI,CAAC,oBAASA,OAAT,MAAL,wBAAK,CAAL,EAAsD;AACpD,8BAASA,OAAT;AACD;AAJH,aAKO;AACLK,qBAAa,KAAbA;AACA,qBAAa,WAAW,YAAM;AAC5B,iCAAYL,OAAZ;AADW,WAAb,IAAa,CAAb;AAGD;AACF;;;iCAEaoX,I,EAAM;AAAA;;AAElB,UAAMH,kBAAkBjX,iCAAxB;AACA,UAAMqX,aAAaJ,0BAAnB;AACA;AACA,UAAMnY,SAASkB,OAAf;AACA,UAAIoX,QAAQtY,uBAAZ,GAAsC;AACpCkB,wBAAgBlB,SAAhBkB;AADF,aAEO,IAAI,SAASlB,uBAAb,GAAuC;AAC5CkB,wBAAgBlB,SAAhBkB;AACD;AACF;;;;;;AAGH,IAAIsX,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAItX,SAAJ;AACAA,oBAAkB,aAAlBA,MAAkB,CAAlBA;AAFF;;kBAKe;AACb1H,QADa;AAEbmH,UAAQ6X;AAFK,C;;;;;;;;;;;;;;AClNf;;AAEA,IAAIC,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAIvX,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,4BAA2B;AACzBA,wBAAoBwX,aAApBxX,CAAoBwX,CAApBxX;AACA,QAAI1I,MAAM6c,oBAAoBnU,OAA9B,UAAUmU,CAAV;AACA,QAAI,0BAAJ,kBAAI,CAAJ,EAAwC;AACtCnU;AACAA;AAFF,WAGO;AACLA;AACA,UAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,UAAIG,6BAAJ,aAA8C;AAC5CA,0BAAkB,eAAO,CAAzBA;AACD;AACF;AACF;AACDH;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AAvBF;;kBA0Be;AACb1H,QADa;AAEbmH,UAAQ8X;AAFK,C;;;;;;;;;;;;;AC5Bf,IAAIE,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIzX,SAAJ;AACAA,+BAA6B,wBAAkB;AAC7CE,eAAW,YAAM;AACfb,mDAA6CW,OAA7CX;AACAW;AAFFE;AADFF;AAFF;;kBAUe;AACb1H,QADa;AAEbmH,UAAQgY;AAFK,C;;;;;;;;;;;;;;ACVf;;AACA;;;;;;;;AAEA,IAAIC,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAI1X,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,kCAAiC;AAC/B,QAAI,0BAAJ,4BAAI,CAAJ,EAAkD;AAChDA;AADF,WAEO;AACLA;AACD;AACF;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;;AAEAA,yBAAuB,YAAY;AACjC,QAAI,0BAAJ,wBAAI,CAAJ,EAA8C;AAC5C;AACD;AACD,QAAI,0BAAJ,2BAAI,CAAJ,EAAiD;AAC/C;AACD;AACD,QAAI,0BAAJ,4BAAI,CAAJ,EAAkD;AAChD;AACD;AACD;AACA;AACA;AACA,QAAI2X,UAAU,6DAAd,yBAAc,CAAd;AACA;AACA,QAAIC,aAAa,+EAAkE,UAAlE,mCAA4G,EAACvU,UAA7G,CAA4G,EAA5G,EAAjB,0BAAiB,CAAjB;AACA;AACA;AACA,QAAIwU,UAAU,IAAIC,cAAJ,qBAA6B;AACzC3a,cAAQ;AADiC,KAA7B,CAAd;AAGA,wBAAS,KAAT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI,YAAJ,kBAAkC;AAChC,UAAI,qCAAJ,WAAoD;AAClD,8BAAsB,mCAAtB;AACA;AACD;AACD,UAAI,wCAAJ,WAAuD;AACrD,iCAAyB,sCAAzB;AACD;AACD,UAAI,sCAAJ,WAAqD;AACnD,+BAAuB,oCAAvB;AACA;AACD;AACD,UAAI,uCAAJ,WAAsD;AACpD,gCAAwB,qCAAxB;AACD;AACD,UAAI,uCAAJ,WAAsD;AACpD,gCAAwB,qCAAxB;AACD;AACD,UAAI,wCAAJ,WAAuD;AACrD,iCAAyB,sCAAzB;AACD;AACF;AACD,QAAI,YAAJ,OAAuB;AACrB;AACD;AACD,QAAI6C,SAAJ;AACA,kCAA8B,gBAAQ;AACpC2X,qCAA+B,aAAa;AAC1CzgB;AACAA;AACA8I;AACA;AACA;AALF2X;AADF;AAtDF3X;;AAiEAA,0BAAwB,YAAY;AAClC,2BAAY,KAAZ;AACA;AACA;AACA;AACA;AACA,QAAI,YAAJ,OAAuB;AACrB;AACA;AACA,uCAAoC,2BAA2B,YAA/D,KAAoC,GAApC;AAHF,WAIO;AACL,UAAI,YAAJ,OAAuB;AACrB,YAAI,OAAO,YAAP,UAAJ,UAA2C;AACzC,kCAAwB,YAAxB;AADF,eAEO;AACL,kCAA2B,YAA3B,KAA2B,GAA3B;AACD;AACF;AACD,UAAI,YAAJ,QAAwB;AACtB,YAAI,OAAO,YAAP,WAAJ,UAA4C;AAC1C,mCAAyB,YAAzB;AADF,eAEO;AACL,mCAA4B,YAA5B,MAA4B,GAA5B;AACD;AACF;AACF;;AAED,QAAI2X,UAAU,mBAAQ,KAAR,MAAd,0BAAc,CAAd;AACA,QAAIA,WAAWA,QAAf,YAAmC;AACjCA;AACD;AACD,QAAIC,aAAa,mBAAQ,KAAR,MAAjB,2BAAiB,CAAjB;AACA,QAAIA,cAAcA,WAAlB,YAAyC;AACvCA;AACD;AAlCH5X;AAnFF;;kBAyHe;AACb1H,QADa;AAEbmH,UAAQiY;AAFK,C;;;;;;;AC5Hf;;;;;;;AAOA;;AAEE,WAAU7gB,MAAV,EAAkBqa,OAAlB,EAA4B;AAC5B;AACA,4BAF4B,CAED;AAC3B,MAAK,IAAL,EAAiD;AAC/C;AACAC,qCAAQ,CACN,uBADM,EAEN,uBAFM,CAAR,mCAIA,UAAU4G,OAAV,EAAmBC,UAAnB,EAAgC;AAC5B,aAAO9G,QAASra,MAAT,EAAiBkhB,OAAjB,EAA0BC,UAA1B,CAAP;AACD,KANH;AAAA;AAOD,GATD,MASO,EAcN;AAEF,CA5BC,EA4BCnhB,MA5BD,EA4BS,SAASqa,OAAT,CAAkBra,MAAlB,EAA0BkhB,OAA1B,EAAmCC,UAAnC,EAAgD;;AAE3D;;AAEA;AACA,WAASC,MAAT,CAAiB1gB,CAAjB,EAAoBuB,CAApB,EAAwB;AACtB,SAAM,IAAIof,IAAV,IAAkBpf,CAAlB,EAAsB;AACpBvB,QAAG2gB,IAAH,IAAYpf,EAAGof,IAAH,CAAZ;AACD;AACD,WAAO3gB,CAAP;AACD;;AAED,WAAS4gB,IAAT,GAAgB,CAAE;;AAElB,MAAIC,SAASvhB,OAAOuhB,MAApB;;AAEA;;AAEA,WAASN,WAAT,CAAsBO,OAAtB,EAA+BpV,OAA/B,EAAyC;AACvC;AACA,SAAKoV,OAAL,GAAe,OAAOA,OAAP,IAAkB,QAAlB,GACbxiB,SAASyiB,aAAT,CAAwBD,OAAxB,CADa,GACuBA,OADtC;;AAGA,QAAKD,MAAL,EAAc;AACZ,WAAKG,QAAL,GAAgBH,OAAQ,KAAKC,OAAb,CAAhB;AACD;;AAED;AACA,SAAKpV,OAAL,GAAegV,OAAQ,EAAR,EAAY,KAAKtQ,WAAL,CAAiB6Q,QAA7B,CAAf;AACA,SAAKC,MAAL,CAAaxV,OAAb;;AAEA,SAAKyV,OAAL;AACD;;AAED;AACA,MAAIC,QAAQb,YAAY5S,SAAZ,GAAwBpP,OAAOsP,MAAP,CAAe4S,WAAW9S,SAA1B,CAApC;;AAEA4S,cAAYU,QAAZ,GAAuB,EAAvB;;AAGA;;;;AAIAG,QAAMF,MAAN,GAAe,UAAUG,IAAV,EAAiB;AAC9BX,WAAQ,KAAKhV,OAAb,EAAsB2V,IAAtB;AACD,GAFD;;AAIA;AACA,MAAIC,iBAAiB;AACnBC,cAAU,IADS;AAEnBC,cAAU,IAFS;AAGnBC,WAAO;AAHY,GAArB;;AAMAL,QAAMD,OAAN,GAAgB,YAAW;AACzB;AACA,SAAKO,QAAL,GAAgB,EAAhB;AACA,SAAKC,YAAL;;AAEA,SAAKC,UAAL,GAAkB,EAAEC,GAAG,CAAL,EAAQ3E,GAAG,CAAX,EAAlB;AACA,SAAK4E,SAAL,GAAiB,EAAED,GAAG,CAAL,EAAQ3E,GAAG,CAAX,EAAjB;;AAEA,SAAK6E,aAAL,GAAqBrB,OAAQ,EAAR,EAAY,KAAKgB,QAAjB,CAArB;;AAEA;AACA,QAAIrf,QAAQ2f,iBAAkB,KAAKlB,OAAvB,CAAZ;AACA,QAAK,CAACQ,eAAgBjf,MAAMqf,QAAtB,CAAN,EAAyC;AACvC,WAAKZ,OAAL,CAAaze,KAAb,CAAmBqf,QAAnB,GAA8B,UAA9B;AACD;;AAED;AACA,SAAK/jB,EAAL,CAAS,aAAT,EAAwB,KAAKskB,aAA7B;AACA,SAAKtkB,EAAL,CAAS,WAAT,EAAsB,KAAKukB,WAA3B;;AAEA,SAAKC,MAAL;AACA,SAAKC,UAAL;AACD,GAtBD;;AAwBA;;;AAGAhB,QAAMgB,UAAN,GAAmB,YAAW;AAC5B,SAAKC,OAAL,GAAe,KAAK3W,OAAL,CAAa9F,MAAb,GACb,KAAKkb,OAAL,CAAawB,gBAAb,CAA+B,KAAK5W,OAAL,CAAa9F,MAA5C,CADa,GAC0C,CAAE,KAAKkb,OAAP,CADzD;;AAGA,SAAKyB,WAAL;AACD,GALD;;AAOA;;;;;;AAMAnB,QAAMoB,aAAN,GAAsB,UAAU5a,IAAV,EAAgB7K,KAAhB,EAAuBiS,IAAvB,EAA8B;AAClD,QAAIyT,WAAW,CAAE1lB,KAAF,EAAUoH,MAAV,CAAkB6K,IAAlB,CAAf;AACA,SAAK0T,SAAL,CAAgB9a,IAAhB,EAAsB6a,QAAtB;AACA,SAAKE,mBAAL,CAA0B/a,IAA1B,EAAgC7K,KAAhC,EAAuCiS,IAAvC;AACD,GAJD;;AAMAoS,QAAMuB,mBAAN,GAA4B,UAAU/a,IAAV,EAAgB7K,KAAhB,EAAuBiS,IAAvB,EAA8B;AACxD,QAAI4T,SAAStjB,OAAOuhB,MAApB;AACA;AACA,QAAK,CAAC+B,MAAD,IAAW,CAAC,KAAK5B,QAAtB,EAAiC;AAC/B;AACD;AACD;AACA;AACA,QAAI6B,SAASD,OAAOE,KAAP,CAAc/lB,KAAd,CAAb;AACA8lB,WAAOjb,IAAP,GAAcA,IAAd;AACA,SAAKoZ,QAAL,CAAc+B,OAAd,CAAuBF,MAAvB,EAA+B7T,IAA/B;AACD,GAXD;;AAaA;;AAEA;AACAoS,QAAMO,YAAN,GAAqB,YAAW;AAC9B,QAAItf,QAAQ2f,iBAAkB,KAAKlB,OAAvB,CAAZ;AACA,QAAIe,IAAI,KAAKmB,iBAAL,CAAwB3gB,MAAM8T,IAA9B,EAAoC,OAApC,CAAR;AACA,QAAI+G,IAAI,KAAK8F,iBAAL,CAAwB3gB,MAAM4gB,GAA9B,EAAmC,QAAnC,CAAR;AACA;AACA,SAAKvB,QAAL,CAAcG,CAAd,GAAkBqB,MAAOrB,CAAP,IAAa,CAAb,GAAiBA,CAAnC;AACA,SAAKH,QAAL,CAAcxE,CAAd,GAAkBgG,MAAOhG,CAAP,IAAa,CAAb,GAAiBA,CAAnC;;AAEA,SAAKiG,qBAAL,CAA4B9gB,KAA5B;AACD,GATD;;AAWA+e,QAAM4B,iBAAN,GAA0B,UAAUI,SAAV,EAAqBC,OAArB,EAA+B;AACvD,QAAKD,UAAUlS,OAAV,CAAkB,GAAlB,KAA0B,CAAC,CAAhC,EAAoC;AAClC;AACA,UAAIoS,aAAa9C,QAAS,KAAKM,OAAL,CAAayC,UAAtB,CAAjB;AACA;AACA,aAAO,CAACD,UAAD,GAAc,CAAd,GACHE,WAAYJ,SAAZ,IAA0B,GAA5B,GAAoCE,WAAYD,OAAZ,CADtC;AAED;AACD,WAAOI,SAAUL,SAAV,EAAqB,EAArB,CAAP;AACD,GATD;;AAWA;AACAhC,QAAM+B,qBAAN,GAA8B,UAAU9gB,KAAV,EAAkB;AAC9C,QAAIuV,YAAYvV,MAAMuV,SAAtB;AACA;AACA,QAAKA,UAAU1G,OAAV,CAAkB,QAAlB,MAAgC,CAArC,EAAyC;AACvC;AACD;AACD;AACA,QAAIwS,eAAe9L,UAAUgD,KAAV,CAAgB,GAAhB,CAAnB;AACA;AACA,QAAI+I,SAAS/L,UAAU1G,OAAV,CAAkB,UAAlB,MAAkC,CAAlC,GAAsC,EAAtC,GAA2C,CAAxD;AACA,QAAI0S,aAAaH,SAAUC,aAAcC,MAAd,CAAV,EAAkC,EAAlC,CAAjB;AACA;AACA,QAAIE,aAAaJ,SAAUC,aAAcC,SAAS,CAAvB,CAAV,EAAsC,EAAtC,CAAjB;AACA,SAAKjC,QAAL,CAAcG,CAAd,IAAmB+B,UAAnB;AACA,SAAKlC,QAAL,CAAcxE,CAAd,IAAmB2G,UAAnB;AACD,GAfD;;AAiBA;;AAEAzC,QAAM0C,aAAN,GAAsB,UAAU/mB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC/C,SAAKjD,OAAL,CAAakD,SAAb,CAAuBC,GAAvB,CAA2B,iBAA3B;AACA,SAAKtB,mBAAL,CAA0B,aAA1B,EAAyC5lB,KAAzC,EAAgD,CAAEgnB,OAAF,CAAhD;AACD,GAHD;;AAKA3C,QAAM8C,WAAN,GAAoB,UAAUnnB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,QAAII,SAAS,KAAKC,eAAL,CAAsBrnB,KAAtB,CAAb;AACA,QAAK,CAAConB,MAAD,IAAW,CAAC,KAAKE,SAAtB,EAAkC;AAChC,WAAKC,aAAL;AACA;AACD;AACD;AACA;AACA,SAAKC,kBAAL,GAA0B;AACxBC,aAAOT,QAAQS,KADS;AAExBC,aAAOV,QAAQU;AAFS,KAA1B;;AAKA1nB,UAAM2nB,cAAN;AACA,SAAKC,eAAL;AACA;AACA,SAAKC,oBAAL,CAA2B7nB,KAA3B;AACA,SAAK+jB,OAAL,CAAakD,SAAb,CAAuBC,GAAvB,CAA2B,iBAA3B;AACA,SAAKzB,aAAL,CAAoB,aAApB,EAAmCzlB,KAAnC,EAA0C,CAAEgnB,OAAF,CAA1C;AACD,GAnBD;;AAqBA;;;;;AAKA3C,QAAMyD,SAAN,GAAkB,UAAU9nB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC3C,QAAK,CAAC,KAAKM,SAAX,EAAuB;AACrB;AACD;AACD,SAAK1C,YAAL;AACA,SAAKmD,kBAAL;AACA;AACA,SAAK/C,aAAL,CAAmBF,CAAnB,GAAuB,KAAKH,QAAL,CAAcG,CAArC;AACA,SAAKE,aAAL,CAAmB7E,CAAnB,GAAuB,KAAKwE,QAAL,CAAcxE,CAArC;AACA;AACA,SAAK6H,UAAL;;AAEA,SAAKjD,SAAL,CAAeD,CAAf,GAAmB,CAAnB;AACA,SAAKC,SAAL,CAAe5E,CAAf,GAAmB,CAAnB;;AAEA,SAAK4D,OAAL,CAAakD,SAAb,CAAuBC,GAAvB,CAA2B,aAA3B;AACA,SAAKzB,aAAL,CAAoB,WAApB,EAAiCzlB,KAAjC,EAAwC,CAAEgnB,OAAF,CAAxC;AACA;AACA,SAAKiB,OAAL;AACD,GAnBD;;AAqBA5D,QAAM0D,kBAAN,GAA2B,YAAW;AACpC,QAAIvQ,YAAY,KAAK0Q,YAAL,EAAhB;AACA,QAAK,CAAC1Q,SAAN,EAAkB;AAChB;AACD;;AAED,QAAI2Q,WAAW1E,QAAS,KAAKM,OAAd,CAAf;AACA,QAAIpY,gBAAgB8X,QAASjM,SAAT,CAApB;AACA,QAAI4Q,WAAW,KAAKrE,OAAL,CAAasE,qBAAb,EAAf;AACA,QAAIC,gBAAgB9Q,UAAU6Q,qBAAV,EAApB;;AAEA,QAAIE,cAAc5c,cAAc6c,eAAd,GAAgC7c,cAAc8c,gBAAhE;AACA,QAAIC,cAAc/c,cAAcgd,cAAd,GAA+Bhd,cAAcid,iBAA/D;;AAEA,QAAIjE,WAAW,KAAKkE,qBAAL,GAA6B;AAC1C/D,SAAGsD,SAAShP,IAAT,IAAkBkP,cAAclP,IAAd,GAAqBzN,cAAc6c,eAArD,CADuC;AAE1CrI,SAAGiI,SAASlC,GAAT,IAAiBoC,cAAcpC,GAAd,GAAoBva,cAAcgd,cAAnD;AAFuC,KAA5C;;AAKA,SAAKG,WAAL,GAAmB;AACjBplB,aAASiI,cAAcjI,KAAd,GAAsB6kB,WAAxB,GAAwC5D,SAASG,CAAjD,GAAqDqD,SAASzkB,KADpD;AAEjBI,cAAU6H,cAAc7H,MAAd,GAAuB4kB,WAAzB,GAAyC/D,SAASxE,CAAlD,GAAsDgI,SAASrkB;AAFtD,KAAnB;AAID,GAvBD;;AAyBAugB,QAAM6D,YAAN,GAAqB,YAAW;AAC9B,QAAIa,cAAc,KAAKpa,OAAL,CAAaoa,WAA/B;AACA,QAAK,CAACA,WAAN,EAAoB;AAClB;AACD;AACD,QAAIC,YAAYD,uBAAuBE,WAAvC;AACA;AACA,QAAKD,SAAL,EAAiB;AACf,aAAOD,WAAP;AACD;AACD;AACA,QAAK,OAAOA,WAAP,IAAsB,QAA3B,EAAsC;AACpC,aAAOxnB,SAASyiB,aAAT,CAAwB+E,WAAxB,CAAP;AACD;AACD;AACA,WAAO,KAAKhF,OAAL,CAAayC,UAApB;AACD,GAhBD;;AAkBA;;AAEAnC,QAAMa,aAAN,GAAsB,UAAUllB,KAAV,EAAiBgnB,OAAjB,EAA0BkC,UAA1B,EAAuC;AAC3D,SAAKtD,mBAAL,CAA0B,aAA1B,EAAyC5lB,KAAzC,EAAgD,CAAEgnB,OAAF,EAAWkC,UAAX,CAAhD;AACD,GAFD;;AAIA;;;;;;AAMA7E,QAAM8E,QAAN,GAAiB,UAAUnpB,KAAV,EAAiBgnB,OAAjB,EAA0BkC,UAA1B,EAAuC;AACtD,QAAK,CAAC,KAAK5B,SAAX,EAAuB;AACrB;AACD;AACD,QAAI8B,QAAQF,WAAWpE,CAAvB;AACA,QAAIuE,QAAQH,WAAW/I,CAAvB;;AAEA,QAAImJ,OAAO,KAAK3a,OAAL,CAAa2a,IAAxB;AACA,QAAIC,QAAQD,QAAQA,KAAK,CAAL,CAApB;AACA,QAAIE,QAAQF,QAAQA,KAAK,CAAL,CAApB;;AAEAF,YAAQK,UAAWL,KAAX,EAAkBG,KAAlB,CAAR;AACAF,YAAQI,UAAWJ,KAAX,EAAkBG,KAAlB,CAAR;;AAEAJ,YAAQ,KAAKM,WAAL,CAAkB,GAAlB,EAAuBN,KAAvB,EAA8BG,KAA9B,CAAR;AACAF,YAAQ,KAAKK,WAAL,CAAkB,GAAlB,EAAuBL,KAAvB,EAA8BG,KAA9B,CAAR;;AAEA;AACAJ,YAAQ,KAAKza,OAAL,CAAagb,IAAb,IAAqB,GAArB,GAA2B,CAA3B,GAA+BP,KAAvC;AACAC,YAAQ,KAAK1a,OAAL,CAAagb,IAAb,IAAqB,GAArB,GAA2B,CAA3B,GAA+BN,KAAvC;;AAEA,SAAK1E,QAAL,CAAcG,CAAd,GAAkB,KAAKE,aAAL,CAAmBF,CAAnB,GAAuBsE,KAAzC;AACA,SAAKzE,QAAL,CAAcxE,CAAd,GAAkB,KAAK6E,aAAL,CAAmB7E,CAAnB,GAAuBkJ,KAAzC;AACA;AACA,SAAKtE,SAAL,CAAeD,CAAf,GAAmBsE,KAAnB;AACA,SAAKrE,SAAL,CAAe5E,CAAf,GAAmBkJ,KAAnB;;AAEA,SAAK5D,aAAL,CAAoB,UAApB,EAAgCzlB,KAAhC,EAAuC,CAAEgnB,OAAF,EAAWkC,UAAX,CAAvC;AACD,GA5BD;;AA8BA,WAASO,SAAT,CAAoB/nB,KAApB,EAA2B4nB,IAA3B,EAAiCne,MAAjC,EAA0C;AACxCA,aAASA,UAAU,OAAnB;AACA,WAAOme,OAAOlnB,KAAM+I,MAAN,EAAgBzJ,QAAM4nB,IAAtB,IAA+BA,IAAtC,GAA6C5nB,KAApD;AACD;;AAED2iB,QAAMqF,WAAN,GAAoB,UAAUC,IAAV,EAAgBC,IAAhB,EAAsBN,IAAtB,EAA6B;AAC/C,QAAK,CAAC,KAAK3a,OAAL,CAAaoa,WAAnB,EAAiC;AAC/B,aAAOa,IAAP;AACD;AACD,QAAItD,UAAUqD,QAAQ,GAAR,GAAc,OAAd,GAAwB,QAAtC;;AAEA,QAAIE,MAAM,KAAKhB,qBAAL,CAA4Bc,IAA5B,CAAV;AACA,QAAIG,MAAML,UAAW,CAACI,GAAZ,EAAiBP,IAAjB,EAAuB,MAAvB,CAAV;AACA,QAAI3V,MAAM,KAAKmV,WAAL,CAAkBxC,OAAlB,CAAV;AACA3S,UAAM8V,UAAW9V,GAAX,EAAgB2V,IAAhB,EAAsB,OAAtB,CAAN;AACA,WAAOlnB,KAAKuR,GAAL,CAAUmW,GAAV,EAAe1nB,KAAK0nB,GAAL,CAAUnW,GAAV,EAAeiW,IAAf,CAAf,CAAP;AACD,GAXD;;AAaA;;AAEA;;;;;AAKAvF,QAAMc,WAAN,GAAoB,UAAUnlB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,SAAKjD,OAAL,CAAakD,SAAb,CAAuB8C,MAAvB,CAA8B,iBAA9B;AACA,SAAKnE,mBAAL,CAA0B,WAA1B,EAAuC5lB,KAAvC,EAA8C,CAAEgnB,OAAF,CAA9C;AACD,GAHD;;AAKA;;;;;AAKA3C,QAAM2F,OAAN,GAAgB,UAAUhqB,KAAV,EAAiBgnB,OAAjB,EAA2B;AACzC,QAAK,CAAC,KAAKM,SAAX,EAAuB;AACrB;AACD;AACD;AACA,SAAKvD,OAAL,CAAaze,KAAb,CAAmBuV,SAAnB,GAA+B,EAA/B;AACA,SAAKmN,UAAL;AACA,SAAKjE,OAAL,CAAakD,SAAb,CAAuB8C,MAAvB,CAA8B,aAA9B;AACA,SAAKtE,aAAL,CAAoB,SAApB,EAA+BzlB,KAA/B,EAAsC,CAAEgnB,OAAF,CAAtC;AACD,GATD;;AAWA;;AAEA3C,QAAM4D,OAAN,GAAgB,YAAW;AACzB;AACA,QAAK,CAAC,KAAKgC,UAAX,EAAwB;AACtB;AACD;;AAED,SAAKC,YAAL;;AAEA,QAAIC,QAAQ,IAAZ;AACAC,0BAAuB,SAASC,YAAT,GAAwB;AAC7CF,YAAMlC,OAAN;AACD,KAFD;AAID,GAbD;;AAeA;AACA5D,QAAM2D,UAAN,GAAmB,YAAW;AAC5B,SAAKjE,OAAL,CAAaze,KAAb,CAAmB8T,IAAnB,GAA0B,KAAKuL,QAAL,CAAcG,CAAd,GAAkB,IAA5C;AACA,SAAKf,OAAL,CAAaze,KAAb,CAAmB4gB,GAAnB,GAAyB,KAAKvB,QAAL,CAAcxE,CAAd,GAAkB,IAA3C;AACD,GAHD;;AAKAkE,QAAM6F,YAAN,GAAqB,YAAW;AAC9B,SAAKnG,OAAL,CAAaze,KAAb,CAAmBuV,SAAnB,GAA+B,kBAAkB,KAAKkK,SAAL,CAAeD,CAAjC,GAC7B,MAD6B,GACpB,KAAKC,SAAL,CAAe5E,CADK,GACD,QAD9B;AAED,GAHD;;AAKA;;AAEAkE,QAAMiG,WAAN,GAAoB,UAAUtqB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,SAAKvB,aAAL,CAAoB,aAApB,EAAmCzlB,KAAnC,EAA0C,CAAEgnB,OAAF,CAA1C;AACD,GAFD;;AAIA;;AAEA;;;;AAIA3C,QAAMkG,WAAN,GAAoB,UAAUzF,CAAV,EAAa3E,CAAb,EAAiB;AACnC,SAAKwE,QAAL,CAAcG,CAAd,GAAkBA,CAAlB;AACA,SAAKH,QAAL,CAAcxE,CAAd,GAAkBA,CAAlB;AACA,SAAK6H,UAAL;AACD,GAJD;;AAMA3D,QAAMe,MAAN,GAAe,YAAW;AACxB,SAAKkC,SAAL,GAAiB,IAAjB;AACD,GAFD;;AAIAjD,QAAMmG,OAAN,GAAgB,YAAW;AACzB,SAAKlD,SAAL,GAAiB,KAAjB;AACA,QAAK,KAAK2C,UAAV,EAAuB;AACrB,WAAKD,OAAL;AACD;AACF,GALD;;AAOA3F,QAAMoG,OAAN,GAAgB,YAAW;AACzB,SAAKD,OAAL;AACA;AACA,SAAKzG,OAAL,CAAaze,KAAb,CAAmBuV,SAAnB,GAA+B,EAA/B;AACA,SAAKkJ,OAAL,CAAaze,KAAb,CAAmB8T,IAAnB,GAA0B,EAA1B;AACA,SAAK2K,OAAL,CAAaze,KAAb,CAAmB4gB,GAAnB,GAAyB,EAAzB;AACA,SAAKnC,OAAL,CAAaze,KAAb,CAAmBqf,QAAnB,GAA8B,EAA9B;AACA;AACA,SAAK+F,aAAL;AACA;AACA,QAAK,KAAKzG,QAAV,EAAqB;AACnB,WAAKA,QAAL,CAAc0G,UAAd,CAAyB,aAAzB;AACD;AACF,GAbD;;AAeA;;AAEA;AACAtG,QAAMuG,KAAN,GAAc/G,IAAd;;AAEA,MAAKC,UAAUA,OAAO+G,OAAtB,EAAgC;AAC9B/G,WAAO+G,OAAP,CAAgB,aAAhB,EAA+BrH,WAA/B;AACD;;AAED;;AAEA,SAAOA,WAAP;AAEC,CAvcC,CAAF,C;;;;;;ACTA;;;;;;AAMA;AACA;;AAEA,CAAE,UAAUjhB,MAAV,EAAkBqa,OAAlB,EAA4B;AAC5B,4BAD4B,CACD;AAC3B,MAAK,IAAL,EAAiD;AAC/C;AACAC,wCAAQD,OAAR;AAAA;AAAA;AAAA;AAAA;AACD,GAHD,MAGO,EAMN;AAEF,CAbD,EAaIra,MAbJ,EAaY,SAASqa,OAAT,GAAmB;AAC/B;;AAEA;;AAEA;;AACA,WAASkO,YAAT,CAAuBppB,KAAvB,EAA+B;AAC7B,QAAIqpB,MAAMtE,WAAY/kB,KAAZ,CAAV;AACA;AACA,QAAIspB,UAAUtpB,MAAMyS,OAAN,CAAc,GAAd,KAAsB,CAAC,CAAvB,IAA4B,CAACgS,MAAO4E,GAAP,CAA3C;AACA,WAAOC,WAAWD,GAAlB;AACD;;AAED,WAASlH,IAAT,GAAgB,CAAE;;AAElB,MAAIoH,WAAW,OAAOlgB,OAAP,IAAkB,WAAlB,GAAgC8Y,IAAhC,GACb,UAAUqH,OAAV,EAAoB;AAClBngB,YAAQoI,KAAR,CAAe+X,OAAf;AACD,GAHH;;AAKA;;AAEA,MAAIC,eAAe,CACjB,aADiB,EAEjB,cAFiB,EAGjB,YAHiB,EAIjB,eAJiB,EAKjB,YALiB,EAMjB,aANiB,EAOjB,WAPiB,EAQjB,cARiB,EASjB,iBATiB,EAUjB,kBAViB,EAWjB,gBAXiB,EAYjB,mBAZiB,CAAnB;;AAeA,MAAIC,qBAAqBD,aAAajpB,MAAtC;;AAEA,WAASmpB,WAAT,GAAuB;AACrB,QAAIC,OAAO;AACT5nB,aAAO,CADE;AAETI,cAAQ,CAFC;AAGTynB,kBAAY,CAHH;AAITC,mBAAa,CAJJ;AAKTC,kBAAY,CALH;AAMTC,mBAAa;AANJ,KAAX;AAQA,SAAM,IAAItnB,IAAE,CAAZ,EAAeA,IAAIgnB,kBAAnB,EAAuChnB,GAAvC,EAA6C;AAC3C,UAAIunB,cAAcR,aAAa/mB,CAAb,CAAlB;AACAknB,WAAMK,WAAN,IAAsB,CAAtB;AACD;AACD,WAAOL,IAAP;AACD;;AAED;;AAEA;;;;AAIA,WAASM,QAAT,CAAmBrmB,IAAnB,EAA0B;AACxB,QAAID,QAAQ2f,iBAAkB1f,IAAlB,CAAZ;AACA,QAAK,CAACD,KAAN,EAAc;AACZ2lB,eAAU,oBAAoB3lB,KAApB,GACR,6DADQ,GAER,gCAFF;AAGD;AACD,WAAOA,KAAP;AACD;;AAED;;AAEA,MAAIumB,UAAU,KAAd;;AAEA,MAAIC,cAAJ;;AAEA;;;;;AAKA,WAASC,KAAT,GAAiB;AACf;AACA,QAAKF,OAAL,EAAe;AACb;AACD;AACDA,cAAU,IAAV;;AAEA;;AAEA;;;;AAIA,QAAItL,MAAMhf,SAAS6b,aAAT,CAAuB,KAAvB,CAAV;AACAmD,QAAIjb,KAAJ,CAAU5B,KAAV,GAAkB,OAAlB;AACA6c,QAAIjb,KAAJ,CAAU0mB,OAAV,GAAoB,iBAApB;AACAzL,QAAIjb,KAAJ,CAAU2mB,WAAV,GAAwB,OAAxB;AACA1L,QAAIjb,KAAJ,CAAU4mB,WAAV,GAAwB,iBAAxB;AACA3L,QAAIjb,KAAJ,CAAU6mB,SAAV,GAAsB,YAAtB;;AAEA,QAAI1M,OAAOle,SAASke,IAAT,IAAiBle,SAAS6qB,eAArC;AACA3M,SAAKC,WAAL,CAAkBa,GAAlB;AACA,QAAIjb,QAAQsmB,SAAUrL,GAAV,CAAZ;AACA;AACAuL,qBAAiB1pB,KAAKiqB,KAAL,CAAYvB,aAAcxlB,MAAM5B,KAApB,CAAZ,KAA6C,GAA9D;AACA+f,YAAQqI,cAAR,GAAyBA,cAAzB;;AAEArM,SAAKG,WAAL,CAAkBW,GAAlB;AACD;;AAED;;AAEA,WAASkD,OAAT,CAAkBle,IAAlB,EAAyB;AACvBwmB;;AAEA;AACA,QAAK,OAAOxmB,IAAP,IAAe,QAApB,EAA+B;AAC7BA,aAAOhE,SAASyiB,aAAT,CAAwBze,IAAxB,CAAP;AACD;;AAED;AACA,QAAK,CAACA,IAAD,IAAS,OAAOA,IAAP,IAAe,QAAxB,IAAoC,CAACA,KAAK+mB,QAA/C,EAA0D;AACxD;AACD;;AAED,QAAIhnB,QAAQsmB,SAAUrmB,IAAV,CAAZ;;AAEA;AACA,QAAKD,MAAMka,OAAN,IAAiB,MAAtB,EAA+B;AAC7B,aAAO6L,aAAP;AACD;;AAED,QAAIC,OAAO,EAAX;AACAA,SAAK5nB,KAAL,GAAa6B,KAAKgnB,WAAlB;AACAjB,SAAKxnB,MAAL,GAAcyB,KAAKinB,YAAnB;;AAEA,QAAIC,cAAcnB,KAAKmB,WAAL,GAAmBnnB,MAAM6mB,SAAN,IAAmB,YAAxD;;AAEA;AACA,SAAM,IAAI/nB,IAAE,CAAZ,EAAeA,IAAIgnB,kBAAnB,EAAuChnB,GAAvC,EAA6C;AAC3C,UAAIunB,cAAcR,aAAa/mB,CAAb,CAAlB;AACA,UAAI1C,QAAQ4D,MAAOqmB,WAAP,CAAZ;AACA,UAAIZ,MAAMtE,WAAY/kB,KAAZ,CAAV;AACA;AACA4pB,WAAMK,WAAN,IAAsB,CAACxF,MAAO4E,GAAP,CAAD,GAAgBA,GAAhB,GAAsB,CAA5C;AACD;;AAED,QAAI2B,eAAepB,KAAKqB,WAAL,GAAmBrB,KAAKsB,YAA3C;AACA,QAAIC,gBAAgBvB,KAAKwB,UAAL,GAAkBxB,KAAKyB,aAA3C;AACA,QAAIC,cAAc1B,KAAK2B,UAAL,GAAkB3B,KAAK4B,WAAzC;AACA,QAAIC,eAAe7B,KAAK8B,SAAL,GAAiB9B,KAAK+B,YAAzC;AACA,QAAInB,cAAcZ,KAAK9C,eAAL,GAAuB8C,KAAK7C,gBAA9C;AACA,QAAI6E,eAAehC,KAAK3C,cAAL,GAAsB2C,KAAK1C,iBAA9C;;AAEA,QAAI2E,uBAAuBd,eAAeX,cAA1C;;AAEA;AACA,QAAI0B,aAAa1C,aAAcxlB,MAAM5B,KAApB,CAAjB;AACA,QAAK8pB,eAAe,KAApB,EAA4B;AAC1BlC,WAAK5nB,KAAL,GAAa8pB;AACX;AACED,6BAAuB,CAAvB,GAA2Bb,eAAeR,WAFjC,CAAb;AAGD;;AAED,QAAIuB,cAAc3C,aAAcxlB,MAAMxB,MAApB,CAAlB;AACA,QAAK2pB,gBAAgB,KAArB,EAA6B;AAC3BnC,WAAKxnB,MAAL,GAAc2pB;AACZ;AACEF,6BAAuB,CAAvB,GAA2BV,gBAAgBS,YAFjC,CAAd;AAGD;;AAEDhC,SAAKC,UAAL,GAAkBD,KAAK5nB,KAAL,IAAegpB,eAAeR,WAA9B,CAAlB;AACAZ,SAAKE,WAAL,GAAmBF,KAAKxnB,MAAL,IAAgB+oB,gBAAgBS,YAAhC,CAAnB;;AAEAhC,SAAKG,UAAL,GAAkBH,KAAK5nB,KAAL,GAAaspB,WAA/B;AACA1B,SAAKI,WAAL,GAAmBJ,KAAKxnB,MAAL,GAAcqpB,YAAjC;;AAEA,WAAO7B,IAAP;AACD;;AAED,SAAO7H,OAAP;AAEC,CArMD,E;;;;;;ACTA;;;;;;AAMA;;AAEE,WAAUlhB,MAAV,EAAkBqa,OAAlB,EAA4B;AAC5B;AACA,2BAF4B,CAEF;;AAE1B,MAAK,IAAL,EAAiD;AAC/C;AACAC,qCAAQ,CACN,uBADM,CAAR,mCAEG,UAAU6Q,UAAV,EAAuB;AACxB,aAAO9Q,QAASra,MAAT,EAAiBmrB,UAAjB,CAAP;AACD,KAJD;AAAA;AAKD,GAPD,MAOO,EAYN;AAEF,CAzBC,EAyBCnrB,MAzBD,EAyBS,SAASqa,OAAT,CAAkBra,MAAlB,EAA0BmrB,UAA1B,EAAuC;;AAElD;;AAEA;;AAEA,WAAShK,UAAT,GAAsB,CAAE;;AAExB;AACA,MAAIW,QAAQX,WAAW9S,SAAX,GAAuBpP,OAAOsP,MAAP,CAAe4c,WAAW9c,SAA1B,CAAnC;;AAEA;;AAEAyT,QAAMmB,WAAN,GAAoB,YAAW;AAC7B,SAAKmI,YAAL,CAAmB,IAAnB;AACD,GAFD;;AAIAtJ,QAAMqG,aAAN,GAAsB,YAAW;AAC/B,SAAKiD,YAAL,CAAmB,KAAnB;AACD,GAFD;;AAIA;;;;AAIAtJ,QAAMsJ,YAAN,GAAqB,UAAUC,KAAV,EAAkB;AACrC;AACAA,YAAQA,UAAU/a,SAAV,GAAsB,IAAtB,GAA6B+a,KAArC;AACA;AACA,QAAIC,aAAaD,QAAQ,kBAAR,GAA6B,qBAA9C;AACA,QAAIE,cAAcF,QAAQ,KAAKG,iBAAb,GAAiC,EAAnD;AACA,SAAM,IAAI3pB,IAAE,CAAZ,EAAeA,IAAI,KAAKkhB,OAAL,CAAapjB,MAAhC,EAAwCkC,GAAxC,EAA8C;AAC5C,UAAIyE,SAAS,KAAKyc,OAAL,CAAalhB,CAAb,CAAb;AACA,WAAK4pB,eAAL,CAAsBnlB,MAAtB,EAA8B+kB,KAA9B;AACA/kB,aAAQglB,UAAR,EAAsB,OAAtB,EAA+B,IAA/B;AACA;AACA,UAAKtrB,OAAO0rB,YAAZ,EAA2B;AACzBplB,eAAOvD,KAAP,CAAawoB,WAAb,GAA2BA,WAA3B;AACD;AACF;AACF,GAfD;;AAiBA;AACAzJ,QAAM0J,iBAAN,GAA0B,MAA1B;;AAEA;;AAEA;;;;;AAKA1J,QAAM8C,WAAN,GAAoB,UAAUnnB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,QAAII,SAAS,KAAKC,eAAL,CAAsBrnB,KAAtB,CAAb;AACA,QAAK,CAAConB,MAAN,EAAe;AACb;AACD;AACD;AACA;AACA,SAAKI,kBAAL,GAA0B;AACxBC,aAAOT,QAAQS,KADS;AAExBC,aAAOV,QAAQU;AAFS,KAA1B;;AAKA1nB,UAAM2nB,cAAN;AACA,SAAKC,eAAL;AACA;AACA,SAAKC,oBAAL,CAA2B7nB,KAA3B;AACA,SAAK2lB,SAAL,CAAgB,aAAhB,EAA+B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA/B;AACD,GAjBD;;AAmBA;AACA,MAAIkH,cAAc;AAChBC,cAAU,IADM;AAEhBC,WAAO,IAFS;AAGhBC,YAAQ,IAHQ;AAIhBC,YAAQ;AAJQ,GAAlB;;AAOA;AACA,MAAIC,aAAa;AACfC,WAAO,IADQ;AAEfC,cAAU,IAFK;AAGfC,YAAQ,IAHO;AAIfC,YAAQ,IAJO;AAKfC,WAAO,IALQ;AAMfC,UAAM;AANS,GAAjB;;AASA;AACAxK,QAAMgD,eAAN,GAAwB,UAAUrnB,KAAV,EAAkB;AACxC,QAAI8uB,eAAeZ,YAAaluB,MAAMqe,MAAN,CAAa0Q,QAA1B,CAAnB;AACA,QAAIC,cAAcT,WAAYvuB,MAAMqe,MAAN,CAAaxT,IAAzB,CAAlB;AACA,QAAIuc,SAAS,CAAC0H,YAAD,IAAiBE,WAA9B;AACA,QAAK,CAAC5H,MAAN,EAAe;AACb,WAAKG,aAAL;AACD;AACD,WAAOH,MAAP;AACD,GARD;;AAUA;AACA/C,QAAMuD,eAAN,GAAwB,YAAW;AACjC,QAAIqH,UAAU1tB,SAAS2tB,aAAvB;AACA;AACA,QAAIC,UAAUF,WAAWA,QAAQG,IAAnB,IAA2BH,WAAW1tB,SAASke,IAA7D;AACA,QAAK0P,OAAL,EAAe;AACbF,cAAQG,IAAR;AACD;AACF,GAPD;;AASA;;AAEA;;;;;AAKA/K,QAAMgL,WAAN,GAAoB,UAAUrvB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,QAAIkC,aAAa,KAAKoG,gBAAL,CAAuBtvB,KAAvB,EAA8BgnB,OAA9B,CAAjB;AACA,SAAKrB,SAAL,CAAgB,aAAhB,EAA+B,CAAE3lB,KAAF,EAASgnB,OAAT,EAAkBkC,UAAlB,CAA/B;AACA,SAAKqG,SAAL,CAAgBvvB,KAAhB,EAAuBgnB,OAAvB,EAAgCkC,UAAhC;AACD,GAJD;;AAMA;AACA7E,QAAMiL,gBAAN,GAAyB,UAAUtvB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAClD,QAAIkC,aAAa;AACfpE,SAAGkC,QAAQS,KAAR,GAAgB,KAAKD,kBAAL,CAAwBC,KAD5B;AAEftH,SAAG6G,QAAQU,KAAR,GAAgB,KAAKF,kBAAL,CAAwBE;AAF5B,KAAjB;AAIA;AACA,QAAK,CAAC,KAAKuC,UAAN,IAAoB,KAAKuF,cAAL,CAAqBtG,UAArB,CAAzB,EAA6D;AAC3D,WAAKuG,UAAL,CAAiBzvB,KAAjB,EAAwBgnB,OAAxB;AACD;AACD,WAAOkC,UAAP;AACD,GAVD;;AAYA;AACA7E,QAAMmL,cAAN,GAAuB,UAAUtG,UAAV,EAAuB;AAC5C,WAAO9mB,KAAKstB,GAAL,CAAUxG,WAAWpE,CAArB,IAA2B,CAA3B,IAAgC1iB,KAAKstB,GAAL,CAAUxG,WAAW/I,CAArB,IAA2B,CAAlE;AACD,GAFD;;AAIA;;AAEA;;;;;AAKAkE,QAAMsL,SAAN,GAAkB,UAAU3vB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC3C,SAAKrB,SAAL,CAAgB,WAAhB,EAA6B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA7B;AACA,SAAK4I,cAAL,CAAqB5vB,KAArB,EAA4BgnB,OAA5B;AACD,GAHD;;AAKA3C,QAAMuL,cAAN,GAAuB,UAAU5vB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAChD,QAAK,KAAKiD,UAAV,EAAuB;AACrB,WAAK4F,QAAL,CAAe7vB,KAAf,EAAsBgnB,OAAtB;AACD,KAFD,MAEO;AACL;AACA,WAAK8I,YAAL,CAAmB9vB,KAAnB,EAA0BgnB,OAA1B;AACD;AACF,GAPD;;AASA;;AAEA;AACA3C,QAAMoL,UAAN,GAAmB,UAAUzvB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC5C,SAAKiD,UAAL,GAAkB,IAAlB;AACA;AACA,SAAK8F,kBAAL,GAA0B,IAA1B;AACA,SAAKjI,SAAL,CAAgB9nB,KAAhB,EAAuBgnB,OAAvB;AACD,GALD;;AAOA3C,QAAMyD,SAAN,GAAkB,UAAU9nB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC3C,SAAKrB,SAAL,CAAgB,WAAhB,EAA6B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA7B;AACD,GAFD;;AAIA;AACA3C,QAAMkL,SAAN,GAAkB,UAAUvvB,KAAV,EAAiBgnB,OAAjB,EAA0BkC,UAA1B,EAAuC;AACvD;AACA,QAAK,CAAC,KAAKe,UAAX,EAAwB;AACtB;AACD;;AAED,SAAKd,QAAL,CAAenpB,KAAf,EAAsBgnB,OAAtB,EAA+BkC,UAA/B;AACD,GAPD;;AASA7E,QAAM8E,QAAN,GAAiB,UAAUnpB,KAAV,EAAiBgnB,OAAjB,EAA0BkC,UAA1B,EAAuC;AACtDlpB,UAAM2nB,cAAN;AACA,SAAKhC,SAAL,CAAgB,UAAhB,EAA4B,CAAE3lB,KAAF,EAASgnB,OAAT,EAAkBkC,UAAlB,CAA5B;AACD,GAHD;;AAKA;AACA7E,QAAMwL,QAAN,GAAiB,UAAU7vB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC1C;AACA,SAAKiD,UAAL,GAAkB,KAAlB;AACA;AACAre,eAAY,YAAW;AACrB,aAAO,KAAKmkB,kBAAZ;AACD,KAFW,CAEVnS,IAFU,CAEJ,IAFI,CAAZ;;AAIA,SAAKoM,OAAL,CAAchqB,KAAd,EAAqBgnB,OAArB;AACD,GATD;;AAWA3C,QAAM2F,OAAN,GAAgB,UAAUhqB,KAAV,EAAiBgnB,OAAjB,EAA2B;AACzC,SAAKrB,SAAL,CAAgB,SAAhB,EAA2B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA3B;AACD,GAFD;;AAIA;;AAEA;AACA3C,QAAM2L,OAAN,GAAgB,UAAUhwB,KAAV,EAAkB;AAChC,QAAK,KAAK+vB,kBAAV,EAA+B;AAC7B/vB,YAAM2nB,cAAN;AACD;AACF,GAJD;;AAMA;;AAEA;AACAtD,QAAMyL,YAAN,GAAqB,UAAU9vB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC9C;AACA,QAAK,KAAKiJ,iBAAL,IAA0BjwB,MAAM6K,IAAN,IAAc,SAA7C,EAAyD;AACvD;AACD;;AAED,SAAKyf,WAAL,CAAkBtqB,KAAlB,EAAyBgnB,OAAzB;;AAEA;AACA,QAAKhnB,MAAM6K,IAAN,IAAc,SAAnB,EAA+B;AAC7B,WAAKolB,iBAAL,GAAyB,IAAzB;AACA;AACArkB,iBAAY,YAAW;AACrB,eAAO,KAAKqkB,iBAAZ;AACD,OAFW,CAEVrS,IAFU,CAEJ,IAFI,CAAZ,EAEgB,GAFhB;AAGD;AACF,GAhBD;;AAkBAyG,QAAMiG,WAAN,GAAoB,UAAUtqB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,SAAKrB,SAAL,CAAgB,aAAhB,EAA+B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA/B;AACD,GAFD;;AAIA;;AAEAtD,aAAWwM,eAAX,GAA6BxC,WAAWwC,eAAxC;;AAEA;;AAEA,SAAOxM,UAAP;AAEC,CAlRC,CAAF,C;;;;;;ACRA;;;;;;AAMA;;AAEE,WAAUnhB,MAAV,EAAkBqa,OAAlB,EAA4B;AAC5B;AACA,4BAF4B,CAED;AAC3B,MAAK,IAAL,EAAiD;AAC/C;AACAC,qCAAQ,CACN,uBADM,CAAR,mCAEG,UAAUsT,SAAV,EAAsB;AACvB,aAAOvT,QAASra,MAAT,EAAiB4tB,SAAjB,CAAP;AACD,KAJD;AAAA;AAKD,GAPD,MAOO,EAYN;AAEF,CAxBC,EAwBC5tB,MAxBD,EAwBS,SAASqa,OAAT,CAAkBra,MAAlB,EAA0B4tB,SAA1B,EAAsC;;AAEjD;;AAEA,WAAStM,IAAT,GAAgB,CAAE;;AAElB,WAAS6J,UAAT,GAAsB,CAAE;;AAExB;AACA,MAAIrJ,QAAQqJ,WAAW9c,SAAX,GAAuBpP,OAAOsP,MAAP,CAAeqf,UAAUvf,SAAzB,CAAnC;;AAEAyT,QAAM+L,cAAN,GAAuB,UAAU7qB,IAAV,EAAiB;AACtC,SAAKyoB,eAAL,CAAsBzoB,IAAtB,EAA4B,IAA5B;AACD,GAFD;;AAIA8e,QAAMgM,gBAAN,GAAyB,UAAU9qB,IAAV,EAAiB;AACxC,SAAKyoB,eAAL,CAAsBzoB,IAAtB,EAA4B,KAA5B;AACD,GAFD;;AAIA;;;;AAIA8e,QAAM2J,eAAN,GAAwB,UAAUzoB,IAAV,EAAgBqoB,KAAhB,EAAwB;AAC9C;AACAA,YAAQA,UAAU/a,SAAV,GAAsB,IAAtB,GAA6B+a,KAArC;AACA,QAAIC,aAAaD,QAAQ,kBAAR,GAA6B,qBAA9C;;AAEA;AACA,QAAI0C,aAAa,WAAjB;AACA,QAAK/tB,OAAO0rB,YAAZ,EAA2B;AACzB;AACAqC,mBAAa,aAAb;AACD,KAHD,MAGO,IAAK,kBAAkB/tB,MAAvB,EAAgC;AACrC;AACA+tB,mBAAa,YAAb;AACD;AACD/qB,SAAMsoB,UAAN,EAAoByC,UAApB,EAAgC,IAAhC;AACD,GAfD;;AAiBA;AACAjM,QAAMkM,WAAN,GAAoB,UAAUvwB,KAAV,EAAkB;AACpC,QAAImL,SAAS,OAAOnL,MAAM6K,IAA1B;AACA,QAAK,KAAMM,MAAN,CAAL,EAAsB;AACpB,WAAMA,MAAN,EAAgBnL,KAAhB;AACD;AACF,GALD;;AAOA;AACAqkB,QAAMmM,QAAN,GAAiB,UAAUC,OAAV,EAAoB;AACnC,SAAM,IAAIrsB,IAAE,CAAZ,EAAeA,IAAIqsB,QAAQvuB,MAA3B,EAAmCkC,GAAnC,EAAyC;AACvC,UAAIvB,QAAQ4tB,QAAQrsB,CAAR,CAAZ;AACA,UAAKvB,MAAM6tB,UAAN,IAAoB,KAAKC,iBAA9B,EAAkD;AAChD,eAAO9tB,KAAP;AACD;AACF;AACF,GAPD;;AASA;;AAEAwhB,QAAMuM,WAAN,GAAoB,UAAU5wB,KAAV,EAAkB;AACpC;AACA,QAAI0uB,SAAS1uB,MAAM0uB,MAAnB;AACA,QAAKA,UAAYA,WAAW,CAAX,IAAgBA,WAAW,CAA5C,EAAkD;AAChD;AACD;AACD,SAAKmC,YAAL,CAAmB7wB,KAAnB,EAA0BA,KAA1B;AACD,GAPD;;AASAqkB,QAAMyM,YAAN,GAAqB,UAAU9wB,KAAV,EAAkB;AACrC,SAAK6wB,YAAL,CAAmB7wB,KAAnB,EAA0BA,MAAM+wB,cAAN,CAAqB,CAArB,CAA1B;AACD,GAFD;;AAIA1M,QAAM2M,aAAN,GAAsB,UAAUhxB,KAAV,EAAkB;AACtC,SAAK6wB,YAAL,CAAmB7wB,KAAnB,EAA0BA,KAA1B;AACD,GAFD;;AAIA;;;;;AAKAqkB,QAAMwM,YAAN,GAAqB,UAAU7wB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC9C;AACA;AACA,QAAKhnB,MAAM0uB,MAAN,IAAgB,KAAKuC,aAA1B,EAA0C;AACxC;AACD;;AAED,SAAKA,aAAL,GAAqB,IAArB;AACA;AACA,SAAKN,iBAAL,GAAyB3J,QAAQkK,SAAR,KAAsBre,SAAtB;AACvB;AACAmU,YAAQkK,SAFe,GAEHlK,QAAQ0J,UAF9B;;AAIA,SAAKvJ,WAAL,CAAkBnnB,KAAlB,EAAyBgnB,OAAzB;AACD,GAdD;;AAgBA3C,QAAM8C,WAAN,GAAoB,UAAUnnB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,SAAKa,oBAAL,CAA2B7nB,KAA3B;AACA,SAAK2lB,SAAL,CAAgB,aAAhB,EAA+B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA/B;AACD,GAHD;;AAKA;AACA,MAAImK,kBAAkB;AACpBC,eAAW,CAAE,WAAF,EAAe,SAAf,CADS;AAEpBC,gBAAY,CAAE,WAAF,EAAe,UAAf,EAA2B,aAA3B,CAFQ;AAGpBC,iBAAa,CAAE,aAAF,EAAiB,WAAjB,EAA8B,eAA9B;AAHO,GAAtB;;AAMAjN,QAAMwD,oBAAN,GAA6B,UAAU7nB,KAAV,EAAkB;AAC7C,QAAK,CAACA,KAAN,EAAc;AACZ;AACD;AACD;AACA,QAAIkZ,SAASiY,gBAAiBnxB,MAAM6K,IAAvB,CAAb;AACA;AACAqO,WAAOrF,OAAP,CAAgB,UAAU0d,SAAV,EAAsB;AACpChvB,aAAOivB,gBAAP,CAAyBD,SAAzB,EAAoC,IAApC;AACD,KAFD,EAEG,IAFH;AAGA;AACA,SAAKE,mBAAL,GAA2BvY,MAA3B;AACD,GAZD;;AAcAmL,QAAMqN,sBAAN,GAA+B,YAAW;AACxC;AACA,QAAK,CAAC,KAAKD,mBAAX,EAAiC;AAC/B;AACD;AACD,SAAKA,mBAAL,CAAyB5d,OAAzB,CAAkC,UAAU0d,SAAV,EAAsB;AACtDhvB,aAAOovB,mBAAP,CAA4BJ,SAA5B,EAAuC,IAAvC;AACD,KAFD,EAEG,IAFH;;AAIA,WAAO,KAAKE,mBAAZ;AACD,GAVD;;AAYA;;AAEApN,QAAMuN,WAAN,GAAoB,UAAU5xB,KAAV,EAAkB;AACpC,SAAK6xB,YAAL,CAAmB7xB,KAAnB,EAA0BA,KAA1B;AACD,GAFD;;AAIAqkB,QAAMyN,aAAN,GAAsB,UAAU9xB,KAAV,EAAkB;AACtC,QAAKA,MAAMkxB,SAAN,IAAmB,KAAKP,iBAA7B,EAAiD;AAC/C,WAAKkB,YAAL,CAAmB7xB,KAAnB,EAA0BA,KAA1B;AACD;AACF,GAJD;;AAMAqkB,QAAM0N,WAAN,GAAoB,UAAU/xB,KAAV,EAAkB;AACpC,QAAI6C,QAAQ,KAAK2tB,QAAL,CAAexwB,MAAM+wB,cAArB,CAAZ;AACA,QAAKluB,KAAL,EAAa;AACX,WAAKgvB,YAAL,CAAmB7xB,KAAnB,EAA0B6C,KAA1B;AACD;AACF,GALD;;AAOA;;;;;;AAMAwhB,QAAMwN,YAAN,GAAqB,UAAU7xB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC9C,SAAKqI,WAAL,CAAkBrvB,KAAlB,EAAyBgnB,OAAzB;AACD,GAFD;;AAIA;AACA3C,QAAMgL,WAAN,GAAoB,UAAUrvB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC7C,SAAKrB,SAAL,CAAgB,aAAhB,EAA+B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA/B;AACD,GAFD;;AAIA;;;AAGA3C,QAAM2N,SAAN,GAAkB,UAAUhyB,KAAV,EAAkB;AAClC,SAAKiyB,UAAL,CAAiBjyB,KAAjB,EAAwBA,KAAxB;AACD,GAFD;;AAIAqkB,QAAM6N,WAAN,GAAoB,UAAUlyB,KAAV,EAAkB;AACpC,QAAKA,MAAMkxB,SAAN,IAAmB,KAAKP,iBAA7B,EAAiD;AAC/C,WAAKsB,UAAL,CAAiBjyB,KAAjB,EAAwBA,KAAxB;AACD;AACF,GAJD;;AAMAqkB,QAAM8N,UAAN,GAAmB,UAAUnyB,KAAV,EAAkB;AACnC,QAAI6C,QAAQ,KAAK2tB,QAAL,CAAexwB,MAAM+wB,cAArB,CAAZ;AACA,QAAKluB,KAAL,EAAa;AACX,WAAKovB,UAAL,CAAiBjyB,KAAjB,EAAwB6C,KAAxB;AACD;AACF,GALD;;AAOA;;;;;;AAMAwhB,QAAM4N,UAAN,GAAmB,UAAUjyB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC5C,SAAKoL,YAAL;AACA,SAAKzC,SAAL,CAAgB3vB,KAAhB,EAAuBgnB,OAAvB;AACD,GAHD;;AAKA;AACA3C,QAAMsL,SAAN,GAAkB,UAAU3vB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC3C,SAAKrB,SAAL,CAAgB,WAAhB,EAA6B,CAAE3lB,KAAF,EAASgnB,OAAT,CAA7B;AACD,GAFD;;AAIA;;AAEA;AACA3C,QAAM+N,YAAN,GAAqB,YAAW;AAC9B,SAAK7K,aAAL;AACA,SAAKmK,sBAAL;AACA,SAAKW,WAAL;AACD,GAJD;;AAMAhO,QAAMkD,aAAN,GAAsB,YAAW;AAC/B;AACA,SAAK0J,aAAL,GAAqB,KAArB;AACA,WAAO,KAAKN,iBAAZ;AACD,GAJD;;AAMAtM,QAAMgO,WAAN,GAAoBxO,IAApB;;AAEA;;AAEAQ,QAAMiO,eAAN,GAAwB,UAAUtyB,KAAV,EAAkB;AACxC,QAAKA,MAAMkxB,SAAN,IAAmB,KAAKP,iBAA7B,EAAiD;AAC/C,WAAK4B,cAAL,CAAqBvyB,KAArB,EAA4BA,KAA5B;AACD;AACF,GAJD;;AAMAqkB,QAAMmO,aAAN,GAAsB,UAAUxyB,KAAV,EAAkB;AACtC,QAAI6C,QAAQ,KAAK2tB,QAAL,CAAexwB,MAAM+wB,cAArB,CAAZ;AACA,QAAKluB,KAAL,EAAa;AACX,WAAK0vB,cAAL,CAAqBvyB,KAArB,EAA4B6C,KAA5B;AACD;AACF,GALD;;AAOA;;;;;;AAMAwhB,QAAMkO,cAAN,GAAuB,UAAUvyB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAChD,SAAKoL,YAAL;AACA,SAAKK,aAAL,CAAoBzyB,KAApB,EAA2BgnB,OAA3B;AACD,GAHD;;AAKA;AACA3C,QAAMoO,aAAN,GAAsB,UAAUzyB,KAAV,EAAiBgnB,OAAjB,EAA2B;AAC/C,SAAKrB,SAAL,CAAgB,eAAhB,EAAiC,CAAE3lB,KAAF,EAASgnB,OAAT,CAAjC;AACD,GAFD;;AAIA;;AAEA;AACA0G,aAAWwC,eAAX,GAA6B,UAAUlJ,OAAV,EAAoB;AAC/C,WAAO;AACLlC,SAAGkC,QAAQS,KADN;AAELtH,SAAG6G,QAAQU;AAFN,KAAP;AAID,GALD;;AAOA;;AAEA,SAAOgG,UAAP;AAEC,CApSC,CAAF,C;;;;;;ACRA;;;;;;AAMA;;AAEE,WAAUgF,MAAV,EAAkB9V,OAAlB,EAA4B;AAC5B;AACA,4BAF4B,CAED;AAC3B,MAAK,IAAL,EAAiD;AAC/C;AACAC,wCAAQD,OAAR;AAAA;AAAA;AAAA;AAAA;AACD,GAHD,MAGO,EAMN;AAEF,CAdC,EAcC,OAAOra,MAAP,IAAiB,WAAjB,GAA+BA,MAA/B,GAAwC,IAdzC,EAc+C,YAAW;;AAE5D;;AAEA,WAAS4tB,SAAT,GAAqB,CAAE;;AAEvB,MAAI9L,QAAQ8L,UAAUvf,SAAtB;;AAEAyT,QAAMzjB,EAAN,GAAW,UAAU2wB,SAAV,EAAqB7f,QAArB,EAAgC;AACzC,QAAK,CAAC6f,SAAD,IAAc,CAAC7f,QAApB,EAA+B;AAC7B;AACD;AACD;AACA,QAAIwH,SAAS,KAAKyZ,OAAL,GAAe,KAAKA,OAAL,IAAgB,EAA5C;AACA;AACA,QAAI9gB,YAAYqH,OAAQqY,SAAR,IAAsBrY,OAAQqY,SAAR,KAAuB,EAA7D;AACA;AACA,QAAK1f,UAAUsC,OAAV,CAAmBzC,QAAnB,KAAiC,CAAC,CAAvC,EAA2C;AACzCG,gBAAUlL,IAAV,CAAgB+K,QAAhB;AACD;;AAED,WAAO,IAAP;AACD,GAdD;;AAgBA2S,QAAMxjB,IAAN,GAAa,UAAU0wB,SAAV,EAAqB7f,QAArB,EAAgC;AAC3C,QAAK,CAAC6f,SAAD,IAAc,CAAC7f,QAApB,EAA+B;AAC7B;AACD;AACD;AACA,SAAK9Q,EAAL,CAAS2wB,SAAT,EAAoB7f,QAApB;AACA;AACA;AACA,QAAIkhB,aAAa,KAAKC,WAAL,GAAmB,KAAKA,WAAL,IAAoB,EAAxD;AACA;AACA,QAAIC,gBAAgBF,WAAYrB,SAAZ,IAA0BqB,WAAYrB,SAAZ,KAA2B,EAAzE;AACA;AACAuB,kBAAephB,QAAf,IAA4B,IAA5B;;AAEA,WAAO,IAAP;AACD,GAfD;;AAiBA2S,QAAMhT,GAAN,GAAY,UAAUkgB,SAAV,EAAqB7f,QAArB,EAAgC;AAC1C,QAAIG,YAAY,KAAK8gB,OAAL,IAAgB,KAAKA,OAAL,CAAcpB,SAAd,CAAhC;AACA,QAAK,CAAC1f,SAAD,IAAc,CAACA,UAAU3P,MAA9B,EAAuC;AACrC;AACD;AACD,QAAIgI,QAAQ2H,UAAUsC,OAAV,CAAmBzC,QAAnB,CAAZ;AACA,QAAKxH,SAAS,CAAC,CAAf,EAAmB;AACjB2H,gBAAUE,MAAV,CAAkB7H,KAAlB,EAAyB,CAAzB;AACD;;AAED,WAAO,IAAP;AACD,GAXD;;AAaAma,QAAMsB,SAAN,GAAkB,UAAU4L,SAAV,EAAqBtf,IAArB,EAA4B;AAC5C,QAAIJ,YAAY,KAAK8gB,OAAL,IAAgB,KAAKA,OAAL,CAAcpB,SAAd,CAAhC;AACA,QAAK,CAAC1f,SAAD,IAAc,CAACA,UAAU3P,MAA9B,EAAuC;AACrC;AACD;AACD;AACA2P,gBAAYA,UAAUK,KAAV,CAAgB,CAAhB,CAAZ;AACAD,WAAOA,QAAQ,EAAf;AACA;AACA,QAAI6gB,gBAAgB,KAAKD,WAAL,IAAoB,KAAKA,WAAL,CAAkBtB,SAAlB,CAAxC;;AAEA,SAAM,IAAIntB,IAAE,CAAZ,EAAeA,IAAIyN,UAAU3P,MAA7B,EAAqCkC,GAArC,EAA2C;AACzC,UAAIsN,WAAWG,UAAUzN,CAAV,CAAf;AACA,UAAI2uB,SAASD,iBAAiBA,cAAephB,QAAf,CAA9B;AACA,UAAKqhB,MAAL,EAAc;AACZ;AACA;AACA,aAAK1hB,GAAL,CAAUkgB,SAAV,EAAqB7f,QAArB;AACA;AACA,eAAOohB,cAAephB,QAAf,CAAP;AACD;AACD;AACAA,eAAShB,KAAT,CAAgB,IAAhB,EAAsBuB,IAAtB;AACD;;AAED,WAAO,IAAP;AACD,GA1BD;;AA4BAoS,QAAM2O,MAAN,GAAe,YAAW;AACxB,WAAO,KAAKL,OAAZ;AACA,WAAO,KAAKE,WAAZ;AACD,GAHD;;AAKA,SAAO1C,SAAP;AAEC,CAvGC,CAAF,C;;;;;;;;;;;;;ACPA;;AAEA,IAAI8C,MAAM,SAANA,GAAM,GAAY;AAAA;;AACpB,MAAIvnB,SAAJ;AACA,2BAA0B;AACxB,QAAIA,iBAAiBnK,SAArB,yBAAuD;AACrDmK;AADF,WAEO;AACLnK;AACD;AACF;AACDmK;;AAEA,MAAMwnB,kCAAkC,SAAlCA,+BAAkC,IAAO;AAC7C,QAAM5c,OAAO5K,aAAb;AACA;AACA,QAAI4K,SAAS9Q,uBAAb,KAAmC;AACjC;AACAkG,6CAAuC9I,EAAvC8I;AAFF,WAGO,IAAI4K,SAAS9Q,uBAAb,QAAsC;AAC3C;AACAkG;AACD;AATH;;AAYAA,yDAAuD,qBAAqB;AAC1E,wBAASA,OAAT;AACAA;AAFFA;;AAKAA,yDAAuD,YAAY;AACjE,2BAAYA,OAAZ;AACAA;AAFFA;;AAKA,4CAA+BA,OAA/B,UACAA,+DADA,+BACAA,CADA;;AAGA,uBAAsB;AACpBA;AACAA;AACA,8CAA+BA,OAA/B,UACAA,kEADA,+BACAA,CADA;AAED;AACDA;AA1CF;;kBA6Ce;AACb1H,QADa;AAEbmH,UAAQ8nB;AAFK,C;;;;;;;;;;;;;AChDf,IAAIE,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAIznB,SAAJ;AACA,MAAI0nB,UAAU1nB,cAAd;AACAA,6BAA2B,CAA3BA;;AAEA,gCAA+B;AAC7B,QAAIA,+BAA+B0nB,gBAAnC,QAA2D;AACzD1nB;AACAA;AACAA,mBAAa0nB,gBAAgB1nB,OAA7BA,iBAAa0nB,CAAb1nB;AACAA,gCAA0BA,2BAA1BA;AACA,UAAIA,iCAAiC0nB,gBAArC,QAA6D;AAC3D1nB;AACD;AACF;AACF;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AAtBF;;kBAyBe;AACb1H,QADa;AAEbmH,UAAQgoB;AAFK,C;;;;;;;;;;;;;;ACzBf;;AAEA,IAAIE,SAAS,SAATA,MAAS,GAAY;AACvB,MAAI3nB,SAAJ;AACA,MAAI4nB,eAAe5nB,cAAnB;AACA,MAAI,CAAJ,cAAmB;AAAE;AAAQ;;AAE7B,8BAA6B;AAC3B,2BAAYA,OAAZ;AACAA,iBAAaA,cAAbA;AACD;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AAfF;;kBAkBe;AACb1H,QADa;AAEbmH,UAAQkoB;AAFK,C;;;;;;;;;;;;;ACpBf,IAAIE,SAAS,SAATA,MAAS,GAAY;AACvB,MAAI7nB,SAAJ;AACA,MAAI8nB,eAAe9nB,cAAnB;AACA,MAAI,CAAJ,cAAmB;AAAE;AAAQ;;AAE7B,8BAA6B;AAC3BA,kBAAc8nB,aAAd9nB,WAAsC8nB,aAAtC9nB;AACD;AACDA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;;AAEAA,2BAAyB,YAAY;AACnC,QAAIA,SAAJ;AACA,QAAI,CAACA,OAAL,WAAuB;AACrBA;AACD;;AAED,QAAIhI,QAAQgI,YAAZ;AACA,QAAI5H,SAAS4H,YAAb;AACA,QAAI+nB,cAAc/nB,aAAlB;AACA,QAAIgoB,eAAehoB,aAAnB;;AAEA,QAAI,CAACA,qBAAD,eAAqCA,qBAAzC,aAA2E;AACzEA,gCAA0B5H,SAA1B4H;AACAA,iCAA2BhI,QAA3BgI;AACD;;AAED,QAAIioB,aAAJ;AACA,QAAIjoB,6BAA6BA,qBAAjC,MAA4D;AAC1D,UAAIA,qBAAJ,aAAsC;AACpC,YAAK+nB,cAAD,YAACA,GAA+B3vB,SAApC,OAAqD;AAAE;AACrD,cAAI8vB,aAAJ;AACA,cAAKF,eAAD,WAACA,GAA+B5vB,SAApC,OAAqD;AAAE;AACrD8vB,yBAAa9vB,uBAAb8vB;AADF,iBAEO;AAAE;AACPA;AACD;AACDD,kBAAQ7vB,SAAR6vB;AAPF,eAQO;AAAE;AACP,cAAIE,cAAJ;AACA,cAAKH,eAAD,WAACA,GAA+B5vB,SAApC,OAAqD;AAAE;AACrD+vB;AADF,iBAEO;AAAE;AACPA,0BAAcnwB,uBAAdmwB;AACD;AACDF,kBAAQjwB,QAARiwB;AACD;AAjBH,aAkBO;AACL,YAAIjwB,SAAJ,QAAqB;AACnBiwB,kBAAQjwB,QAARiwB;AADF,eAEO;AACLA,kBAAQ7vB,SAAR6vB;AACD;AACF;AACDA,cAAQ5vB,OAAO4vB,cAAfA,CAAeA,CAAP5vB,CAAR4vB;AA1BF,WA2BO;AACLA;AACD;;AAED,QAAIjoB,qBAAJ,aAAsC;AACpCA;AACAA,iDAAyCA,OAAzCA;AACAA,uDAA+CA,OAA/CA;AAHF,WAIO;AACL,UAAIA,qBAAJ,aAAsC;AACpCA;AACAA,mDAAyCA,OAAzCA;AACAA,yDAA+CA,OAA/CA;AAHF,aAIO;AACLA;AACAA,kDAAwCA,OAAxCA;AACAA,wDAA8CA,OAA9CA;AACD;AACF;AA9DHA;;AAiEAA,kBAAgB,YAA4D;AAAA,QAAlDooB,YAAkD,oEAAtC,KAAsC;AAAA,QAA/BC,cAA+B,oEAAjB,IAAiB;AAAA,QAAXC,QAAW,oEAAH,CAAG;;AAC1E,QAAItoB,SAAJ;AACA,QAAI,CAACA,OAAL,WAAuB;AACrBA;AACD;AACD,QAAIuoB,SAASH,gBAAgB,CAA7B;;AAEApoB,uBAAmB,CAACA,uBAAuBuoB,gBAAxB,SAAnBvoB;AACA;;AAEAA,0BAAsBA,mBAAtBA;AAVFA;AAjFF;;kBA+Fe;AACb1H,QADa;AAEbmH,UAAQooB;AAFK,C;;;;;;;;;;;;;AC/Ff,IAAIW,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIxoB,SAAJ;AACA,MAAIyoB,oBAAoBzoB,cAAxB;AACA,MAAI,CAAJ,mBAAwB;AACtB;AACD;;AAEDA;;AAEA,MAAI0oB,iBAAJ;AACA,MAAGD,6BAA6BA,8BAAhC,GAAiE;AAC/DC,qBAAiBD,kBAAjBC;AACD;AACD,MAAIvpB,OAAOspB,qDAAqDA,kBAAhE;AACA,MAAIp0B,SAASo0B,kDAAkDA,kBAA/D;;AAEA,MAAIE,SAAS9yB,uBAAb,QAAaA,CAAb;AACA,MAAI+yB,YAAYD,kBAAhB,IAAgBA,CAAhB;AACA,MAAIE,MAAM,IAAV,KAAU,EAAV;AACAF,iBAAe,qBAAfA;AACAA,kBAAgB,sBAAhBA;;AAEA,MAAIG,iBAAiB,SAAjBA,cAAiB,iBAA0B;AAC7C,QAAIC,WAAWlzB,uBAAf,GAAeA,CAAf;AACAkzB;AACAA;AACA,QAAIz0B,QAAQuB,qBAAZ,aAAYA,CAAZ;AACAvB;AACAy0B;AANF;;AASA/oB,sBAAoB,YAAuB;AAAA,QAAbgpB,OAAa,oEAAN,IAAM;;AACzCA,WAAOP,iDAAiDA,kBAAxDO;AACAL,mBAAe3oB,2BAAf2oB;AACAA,oBAAgB3oB,4BAAhB2oB;AACAE,iBAAc,YAAY;AACxBD,0BAAoB5oB,OAApB4oB,aAAwCD,OAAxCC,OAAsDD,OAAtDC;AACAC,gBAAUF,qDAAVE,oBAAUF,CAAVE;AACA,UAAII,gBAAgBJ,sCAApB,+BAAoBA,CAApB;AACA7oB;AACAgpB,cAAQF,8BAA8B,OAAtCE,MAAQF,CAARE;AALFH,KAAc,EAAdA;AAJF7oB;AAYAA,kCAAgCA,OAAhCA;;AAEA,uBAAsB;AACpBA,qCAAiCA,OAAjCA;AACAA;AACD;AACDA;AAjDF;;kBAoDe;AACb1H,QADa;AAEbmH,UAAQ+oB;AAFK,C;;;;;;;;;;;;;;ACpDf;;;;;;;;AAEA,sBAAuB;AACrB,MAAMxoB,SAAN;AACA,MAAG,CAACA,cAAJ,kBAAoC;AACpC,MAAIkpB,kBAAJ;AACA,MAAIC,iBAAJ;AAAA,MAAeC,uBAAf;AAAA,MAAgCC,qBAAhC;AACArpB,0BAAwB,YAAM;AAC5BqpB,oBAAgB,YAAY,YAAM;AAChC,UAAIrpB,sBAAsBkpB,mBAAtBlpB,YAAqDA,OAAzD,QAAwE;AACtE,YAAImpB,mBAAmBA,cAAvB,GAAwC;AACtCA;AACA9oB;AACA+oB;AACD;AALH,aAMO;AACL,YAAI,CAAJ,WAAgB;AACdD;AACAC,4BAAkB,WAAW,YAAM;AACjC,gBAAID,cAAJ,GAAqB;AACnBA;AACAnpB,mCAAqB,IAAIhD,QAAJ,QAArBgD,OAAqB,CAArBA;AACD;AACDopB;AALgB,aAAlBA,KAAkB,CAAlBA;AAOD;AACF;AACDF,wBAAkBlpB,OAAlBkpB;AAnBc,OAAhBG,IAAgB,CAAhBA;AADFrpB;AAuBD;;kBAEc;AACb1H,QADa;AAEbmH,UAAQ6pB;AAFK,C;;;;;;;;;;;;;;AChCf;;AACA;;;;;;;;AAEA,IAAIxqB,SAAS,SAATA,MAAS,GAAY;AACvB,MAAIkB,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAI8L,iBAAJ;AAAA,MAAeyd,cAAf;AAAA,MAAuBzhB,WAAvB;AAAA,MAA4B0hB,gBAA5B;AACA,uBAAsB;AACpB;AACA,QAAG,CAACxpB,OAAJ,UAAqB;AACrBA,oBAAgBA,cAAhBA;AACA8L,gBAAY9L,8BAAZ8L,kBAAY9L,CAAZ8L;AACA,QAAG,CAAH,WAAe;AACfyd,aAASzd,wBAATyd,kBAASzd,CAATyd;AACAzhB,UAAMgE,wBAANhE,eAAMgE,CAANhE;AACA0hB,eAAW1d,wBAAX0d,gBAAW1d,CAAX0d;AACA,QAAI/rB,6BAAJ,UAAiC;AAC/B,UAAGuC,kBAAH,GAAwB;AACtBA;AACD;AACDypB;AACD;AACF;AACDzpB;;AAEA,+BAA8B;AAC5B,QAAG,CAAH,QAAY;AACZA;AACAupB;AACA;;AAEA,QAAIG,UAAU5hB,IAAd,qBAAcA,EAAd;AACA,QAAI6hB,MAAM,EAACvQ,GAAGliB,EAAJ,SAAeud,GAAGvd,EAA5B,OAAU,EAAV;AACA,QAAIkB,SAASoxB,iCAAb;AACA,QAAII,SAAJ;AACA,QAAIC,SAAS,SAATA,MAAS,IAAa;AACxB3yB;AACAA;AACA;AACA0yB;AACA,UAAI3xB,IAAIG,SAASlB,EAATkB,UAAqBuxB,IAA7B;AACA,UAAI/b,MAAM3V,IAAIyxB,QAAd;AACAF;AACAxpB,sBAAgBtJ,SAASA,cAATA,CAASA,CAATA,EAAhBsJ,CAAgBtJ,CAAhBsJ;AARF;AAUA,QAAI8pB,OAAO,SAAPA,IAAO,IAAa;AACtB5yB;AACAA;AACA;AACAL;AACAA;AACAA;AACAA;;AAEA,UAAI,CAAJ,QAAa;AACX,YAAIoB,IAAIyxB,kBAAkBxyB,YAAYwyB,QAAtC,GAAQA,CAAR;AACA,YAAI9b,MAAM3V,IAAIyxB,QAAd;AACAF;AACA,YAAI5b,OAAJ,GAAc;AACZ,cAAI5N,gBAAJ,GAAuB;AACrBwpB,8BAAkBxpB,aAAlBwpB;AADF,iBAEO;AACL5b,kBAAM4b,SAAN5b;AACD;AACF;AACD5N,wBAAgBtJ,SAASA,cAATA,CAASA,CAATA,EAAhBsJ,CAAgBtJ,CAAhBsJ;AACD;AACDupB,sBAAgBvpB,OAAhBupB;AACAK;AAvBF;AAyBA/yB;AACAA;AACAA;AACAA;AACA;AACD;AACDmJ;;AAEA,+BAA8B;AAC5B,QAAIvC,6BAAJ,UAAiC;AAC/B,UAAIuC,aAAJ,OAAwB;AACtBA;AACAA;AACAA;AAHF,aAIO;AACLA;AACAA;AACAA;AACD;AATH,WAUO;AACL,UAAG,CAAH,QAAY;AACZA;AACA,UAAIA,gBAAJ,KAAyB;AACvB,YAAIupB,gBAAJ,KAAyB;AACvBvpB;AADF,eAEO;AACLA,0BAAgBupB,OAAhBvpB;AACD;AACDA;AANF,aAOO;AACLA;AACAA;AACD;AACF;AACD;AACD;AACDA;;AAEA,+BAA8B;AAC5B;AACA,mBAAe;AACb8L;AACD;AACF;AACD9L;;AAEA,+BAA8B;AAC5B;AACD;AACDA;;AAEA,MAAI+pB,eAAJ;AACA,4BAA2B;AACzB,sBAAkB;AAChB1pB;AACD;AACD0pB,mBAAe,WAAW,YAAM;AAC9B,UAAItsB,6BAAJ,UAAiC;AAC/B;AACA;AACA,YAAIuC,sBAAsBA,aAA1B,cAAqD;AACnD,cAAI,CAACA,aAAL,OAAyB;AACvBA;AACD;AACDA;AACA;AALF,eAMO;AACL;AACD;AAXH,aAYO;AACL;AACA;AACA;AACA,YAAIA,uBAAuBA,OAA3B,OAAyC;AACvC;AADF,eAEO,IAAIA,gBAAJ,KAAyB;AAC9B;AADK,eAEA;AACL;AACD;AACD,YAAI,CAAJ,KAAU;AACV,YAAIgqB,kBAAkBliB,sCAAtB;AACA0hB,gCAA2BxpB,gBAA3BwpB,eAA2BxpB,GAA3BwpB;AACD;AA3BY,OAAfO,EAAe,CAAfA;AA6BD;AACD/pB;;AAEA,uBAAsB;AACpBA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACA,sBAAkB;AAChBK;AACA0pB;AACD;AACF;AACD/pB;AAxKF;;kBA2Ke;AACb1H,QADa;AAEbmH,UAAQX;AAFK,C;;;;;;;;;;;;;;;;;;;;;;;;AC9Kf;;;;;;;;;;;;;;AACA,IAAMmrB,eAAe;AACnBC,UADmB,MACL;AACdtf,QAFmB,UAEH;AAChBuf,gBAHmB,IAGD;AAClBC,YAJmB,MAIH;AAChBC,gBALmB,GAKF;AACjBC,aANmB,IAMJ;AACfC,aAPmB,IAOJ;AACfC,WARmB,IAQN;AACbC,iBATmB,IASA;AACnBvtB,QAVmB,UAUH;AAChBwtB,aAXmB,OAWD;;;AAGpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAxBqB,CAArB;IA0BMC,c;AACJ,4CAAkC;AAAA;;AAAA;;AAChC,QAAMC,WAAW,yBAAyB5qB,OAA1C,oBAAiB,CAAjB;AACA4qB;AACA;AACA;AACA,wBAAoB;AAClBC,eADkB;AAElBlJ,oBAAc;AAFI,KAApB;AAIA;AACA,wBAAoB/nB,MAApB;AACA,kDAA8C,gBAAQ;AACpD,oBAAa,iBAAb,KAAa,CAAb;AADF;;AAIA,QAAIoG,mBAAmBpG,MAAvB,QAAqC;AACnC,iCAA2B,KAA3B;AACAoG,yBAAmB,KAAnBA;AACAA,wBAAkB,KAAlBA;AACD;AACF;;;;2BAEO8qB,S,EAA2C;AAAA,UAAhClxB,QAAgC,oEAAxB,EAAwB;AAAA,UAApBmxB,cAAoB,oEAAN,IAAM;;AACjD,UAAMnU,SAAS;AACboU,mBADa;AAEbD,qBAAaA;AAFA,OAAf;AAIAj1B,6BAAuB,eAAO;AAC5B8gB,sBAAchd,MAAdgd,GAAchd,CAAdgd;AADF9gB;AAGA,aAAO,IAAIm1B,oBAAJ,QAAP,MAAO,CAAP;AACD;;;4BAEOL,Q,EAAU;AAChB,aAAO,qBAAP,QAAO,CAAP;AACD;;;gCAEY;AACX,aAAO,cAAP,SAAO,EAAP;AACD;;;iCAEaM,S,EAAWC,W,EAAaC,U,EAAY;AAChD,aAAO,mDAAP,UAAO,CAAP;AACD;;;8BAEU;AAAA,0BACyB,KADzB;AAAA;AAAA;;AAET,UAAI,iBAAiB,CAArB,cAAoC;AAClC;AACD;AACD;AACA,UAAIC,SAAS1J,eAAb;AACA,UAAI,oBAAJ,QAAgC;AAC9B0J,iBAAS,KAATA;AACD;AACD,wBAAkB,2CAAlB;AACD;;;6BAES;AACR;AACA,UAAMA,SAAS,4BAA4B,kBAA3C;AACA,wBAAkB,2CAAlB;AACD;;;qCAEiBpvB,I,EAAM;AACtB,kCAA4BA,KAA5B;AACA,uCAAiCA,KAAjC;AACD;;;8BAEU;AACT,kCAA4B,KAA5B;AACA,+BAAyB,KAAzB;AACA,8BAAwB,KAAxB;AACA;AACA;AACD;;;;;;AAGH,IAAI6uB,YAAY,qBAAY;AAAA;;AAC1B,MAAM9qB,SAAN;AAD0B,kBAEJA,OAFI,MAEJA,CAFI;;AAG1B,MAAI,CAAJ,WAAgB;AACd;AACD;AACD,MAAIsrB,iBAAiBtrB,gCAArB;AACAlK,gCAA8B,eAAO;AACnC,QAAIw1B,wBAAJ,WAAuC;AACrCA,4BAAsBrB,aAAtBqB,GAAsBrB,CAAtBqB;AACD;AAHHx1B;AAKAkK;AACAA,8BAA4B,uBAAiB;AAC3C,QAAI,CAAC/J,KAAD,MAAY,CAACA,KAAjB,UAAgC;AAC9BA;AACD;AACD,KAACA,KAAD,QAAcA,WAAWA,KAAzB;AACA,KAACA,KAAD,aAAmBA,gBAAgBA,KAAnC;AACAA,qCAAiCA,iBAAiBA,KAAlDA;AACA,KAAC+J,OAAD,yBAAiCA,8BAA8B/J,kBAAkBA,KAAjF;AAPF+J;;AAUA,mBAAiB,wBAAwBA,cAAxB,WAAjB,cAAiB,CAAjB;;AAEAA,wBAAsB,qBAAkC;AAAA,QAAtBurB,aAAsB,oEAAT,IAAS;;AACtD,QAAIJ,cAAJ;AACAL,kBAAc,uBAAiB;AAC7B,UAAI,CAAC70B,KAAD,MAAY,CAACA,KAAjB,UAAgC;AAC9BA;AACD;AACD,OAACA,KAAD,QAAcA,WAAWA,KAAzB;AACA,OAACA,KAAD,aAAmBA,gBAAgBA,KAAnC;AACAA,uCAAiCA,iBAAiBA,KAAlDA;AACAA,yBAAmBk1B,cAAnBl1B;AAPF60B;AASA9qB;AACA;AACAA,mCAA+B;AAC7B2F,WAD6B;AAE7B6lB,oBAF6B;AAG7BjxB,YAAMuwB;AAHuB,KAA/B9qB;AAbFA;;AAoBAA,0BAAwB,YAAyC;AAAA,QAAxC4qB,WAAwC,oEAA7B,EAAE5vB,IAAF,IAAUywB,UAAV,IAA6B;;AAC/D,2CAAqC,gBAAQ;AAC3C,UAAIxvB,cAAJ,GAAqB;AACnB2uB;AACAA;AACAA;AACA5qB;AACD;AANH;AADFA;;AAWAA,4BAA0B,YAAM;AAC9B;AACAA,mCAA+B;AAC7B2F,WAD6B;AAE7B6lB,oBAF6B;AAG7BjxB,YAAM;AAHuB,KAA/ByF;AAFFA;;AASA,uBAAsB;AACpB;AACA;AACD;AACDA;AArEF;;kBAwEe;AACb1H,QADa;AAEbmH,UAAQqrB;AAFK,C;;;;;;;AClLf,CAAC,UAASY,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAqDkD,OAAOC,OAAP,GAAenD,GAApE,GAAwE,SAAxE;AAAqJ,CAAnK,CAAoK,IAApK,EAAyK,YAAU;AAAC;AAAa,WAASw0B,CAAT,CAAWA,CAAX,EAAa;AAAC,WAAOA,KAAGA,EAAEC,UAAL,IAAiB71B,OAAOoP,SAAP,CAAiBK,cAAjB,CAAgCJ,IAAhC,CAAqCumB,CAArC,EAAuC,SAAvC,CAAjB,GAAmEA,EAAEE,OAArE,GAA6EF,CAApF;AAAsF,YAASx0B,CAAT,CAAWw0B,CAAX,EAAax0B,CAAb,EAAe;AAAC,WAAOA,IAAE,EAACmD,SAAQ,EAAT,EAAF,EAAeqxB,EAAEx0B,CAAF,EAAIA,EAAEmD,OAAN,CAAf,EAA8BnD,EAAEmD,OAAvC;AAA+C,YAASwxB,CAAT,CAAWH,CAAX,EAAa;AAAC,QAAIx0B,CAAJ,EAAM20B,CAAN,CAAQ,KAAKC,OAAL,GAAa,IAAIJ,CAAJ,CAAM,UAASA,CAAT,EAAW90B,CAAX,EAAa;AAAC,UAAG,KAAK,CAAL,KAASM,CAAT,IAAY,KAAK,CAAL,KAAS20B,CAAxB,EAA0B,MAAMzjB,UAAU,yBAAV,CAAN,CAA2ClR,IAAEw0B,CAAF,EAAIG,IAAEj1B,CAAN;AAAQ,KAAjG,CAAb,EAAgH,KAAK6e,OAAL,GAAasW,EAAE70B,CAAF,CAA7H,EAAkI,KAAK80B,MAAL,GAAYD,EAAEF,CAAF,CAA9I;AAAmJ,YAASj1B,CAAT,CAAW80B,CAAX,EAAa;AAAC,QAAIx0B,IAAEw0B,EAAEl1B,MAAR,CAAe,OAAO,MAAIU,CAAJ,GAAM,CAAC,MAAI,KAAGmB,OAAOqzB,EAAE,CAAF,CAAP,CAAH,GAAgBrzB,OAAOqzB,EAAE,CAAF,CAAP,CAApB,IAAkC,GAAlC,GAAsC,MAAIrzB,OAAOqzB,EAAE,CAAF,CAAP,CAA3C,IAAyD,GAA/D,GAAmE,MAAIx0B,CAAJ,GAAM,CAAC,KAAGmB,OAAOqzB,EAAE,CAAF,CAAP,CAAH,GAAgB,GAAhB,GAAoB,MAAIrzB,OAAOqzB,EAAE,CAAF,CAAP,CAAzB,IAAuC,GAA7C,GAAiDrzB,OAAOqzB,EAAE,CAAF,CAAP,CAA3H;AAAwI,YAAShzB,CAAT,CAAWgzB,CAAX,EAAa;AAAC,WAAM,yBAAwBnkB,IAAxB,CAA6BmkB,CAA7B;AAAN;AAAsC,YAASjlB,CAAT,CAAWilB,CAAX,EAAa;AAAC,WAAOA,CAAP;AAAS,YAASO,CAAT,CAAWP,CAAX,EAAax0B,CAAb,EAAe;AAAC,WAAOw0B,KAAG,CAAH,IAAMA,IAAEx0B,EAAEV,MAAV,GAAiBU,EAAEw0B,CAAF,CAAjB,GAAsB,EAA7B;AAAgC,YAASn0B,CAAT,CAAWm0B,CAAX,EAAax0B,CAAb,EAAe;AAAC,QAAG,CAACw0B,CAAJ,EAAM,OAAM,CAAC,CAAP,CAAS,IAAGA,EAAEnQ,SAAL,EAAe,OAAO9jB,MAAMyN,SAAN,CAAgBgnB,IAAhB,CAAqB/mB,IAArB,CAA0BumB,EAAEnQ,SAA5B,EAAsC,UAASmQ,CAAT,EAAW;AAAC,aAAOA,MAAIx0B,CAAX;AAAa,KAA/D,CAAP,CAAwE,IAAI20B,IAAEH,EAAEx1B,SAAF,IAAa,aAAWi2B,GAAGT,EAAEx1B,SAAL,CAAxB,GAAwCw1B,EAAEU,YAAF,CAAe,OAAf,CAAxC,GAAgEV,EAAEx1B,SAAxE,CAAkF,OAAO21B,KAAG,CAAC,CAACA,EAAEQ,KAAF,CAAQ,IAAIC,MAAJ,CAAW,YAAUp1B,CAAV,GAAY,SAAvB,CAAR,CAAZ;AAAuD,YAASq1B,CAAT,CAAWb,CAAX,EAAax0B,CAAb,EAAe;AAACw0B,UAAIA,EAAEnQ,SAAF,GAAYrkB,EAAEmS,OAAF,CAAU,cAAV,EAAyB,EAAzB,EAA6B8I,KAA7B,CAAmC,MAAnC,EAA2ChK,OAA3C,CAAmD,UAASjR,CAAT,EAAW;AAACA,WAAGw0B,EAAEnQ,SAAF,CAAYC,GAAZ,CAAgBtkB,CAAhB,CAAH;AAAsB,KAArF,CAAZ,GAAmGK,EAAEm0B,CAAF,EAAIx0B,CAAJ,MAASw0B,EAAEx1B,SAAF,IAAa,aAAWi2B,GAAGT,EAAEx1B,SAAL,CAAxB,GAAwCw1B,EAAE9X,YAAF,CAAe,OAAf,EAAuB8X,EAAEU,YAAF,CAAe,OAAf,IAAwB,GAAxB,GAA4Bl1B,CAAnD,CAAxC,GAA8Fw0B,EAAEx1B,SAAF,IAAa,MAAIgB,CAAxH,CAAvG;AAAmO,YAAS8P,CAAT,CAAW0kB,CAAX,EAAax0B,CAAb,EAAe;AAACw0B,UAAIA,EAAEnQ,SAAF,GAAYrkB,EAAEib,KAAF,CAAQ,MAAR,EAAgBhK,OAAhB,CAAwB,UAASjR,CAAT,EAAW;AAACw0B,QAAEnQ,SAAF,CAAY8C,MAAZ,CAAmBnnB,CAAnB;AAAsB,KAA1D,CAAZ,GAAwEK,EAAEm0B,CAAF,EAAIx0B,CAAJ,KAAQA,EAAEib,KAAF,CAAQ,MAAR,EAAgBhK,OAAhB,CAAwB,UAASjR,CAAT,EAAW;AAAC,UAAI20B,IAAE,IAAIS,MAAJ,CAAW,YAAUp1B,CAAV,GAAY,SAAvB,CAAN,CAAwCw0B,EAAEx1B,SAAF,IAAa,aAAWi2B,GAAGT,EAAEx1B,SAAL,CAAxB,GAAwCw1B,EAAE9X,YAAF,CAAe,OAAf,EAAuB8X,EAAEU,YAAF,CAAe,OAAf,EAAwB/iB,OAAxB,CAAgCwiB,CAAhC,EAAkC,GAAlC,CAAvB,CAAxC,GAAuGH,EAAEx1B,SAAF,GAAYw1B,EAAEx1B,SAAF,CAAYmT,OAAZ,CAAoBwiB,CAApB,EAAsB,GAAtB,CAAnH;AAA8I,KAA1N,CAApF;AAAiT,YAASvlB,CAAT,CAAWolB,CAAX,EAAax0B,CAAb,EAAe20B,CAAf,EAAiB;AAAC,QAAIj1B,IAAEM,EAAEV,MAAR,CAAe,IAAGI,IAAE,CAAL,EAAO,OAAM,CAAC,CAAP,CAAS,IAAGi1B,IAAEA,IAAE,CAAF,GAAI,CAAJ,GAAMA,KAAGj1B,CAAH,GAAKA,IAAE,CAAP,GAASi1B,CAAjB,EAAmB30B,EAAE20B,CAAF,EAAKvyB,KAAL,IAAYoyB,CAAZ,IAAeA,IAAEx0B,EAAE20B,CAAF,EAAKjzB,GAA5C,EAAgD,OAAOizB,CAAP,CAAS,KAAI,IAAInzB,IAAExB,EAAE20B,CAAF,EAAKjzB,GAAL,IAAU8yB,CAAV,GAAYG,IAAE,CAAd,GAAgB,CAA1B,EAA4BnzB,IAAE9B,CAA9B,EAAgC8B,GAAhC,EAAoC;AAAC,UAAGxB,EAAEwB,CAAF,EAAKY,KAAL,IAAYoyB,CAAZ,IAAeA,IAAEx0B,EAAEwB,CAAF,EAAKE,GAAzB,EAA6B,OAAOF,CAAP,CAAS,IAAGgzB,IAAEx0B,EAAEwB,CAAF,EAAKE,GAAP,IAAYF,IAAE,CAAF,GAAI9B,CAAhB,IAAmB80B,IAAEx0B,EAAEwB,IAAE,CAAJ,EAAOY,KAA/B,EAAqC,OAAM,CAAC,CAAP,CAAS,IAAGoyB,IAAEx0B,EAAEwB,CAAF,EAAKE,GAAP,IAAYF,IAAE,CAAF,IAAK9B,CAApB,EAAsB,OAAM,CAAC,CAAP;AAAS,YAAM,CAAC,CAAP;AAAS,YAAS2d,CAAT,CAAWmX,CAAX,EAAax0B,CAAb,EAAe20B,CAAf,EAAiB;AAAC,QAAIj1B,IAAEM,EAAEV,MAAR,CAAe,IAAGI,IAAE,CAAL,EAAO,OAAM,EAAN,CAAS,IAAI8B,IAAE,EAAN,CAAS,IAAG,CAACmzB,IAAEA,IAAE,CAAF,GAAI,CAAJ,GAAMA,KAAGj1B,CAAH,GAAKA,IAAE,CAAP,GAASi1B,CAAlB,IAAqBj1B,CAAxB,EAA0B,KAAI,IAAI6P,IAAEvP,EAAE20B,CAAF,EAAKjzB,GAAL,IAAU8yB,CAAV,GAAYG,CAAZ,GAAc,CAAxB,EAA0BplB,IAAE7P,CAAF,KAAMM,EAAEuP,CAAF,EAAKnN,KAAL,IAAYoyB,CAAZ,IAAeA,IAAEx0B,EAAEuP,CAAF,EAAK7N,GAAtB,IAA2BF,EAAEuC,IAAF,CAAOwL,CAAP,CAA3B,EAAqC,EAAEilB,IAAEx0B,EAAEuP,CAAF,EAAKnN,KAAT,CAA3C,CAA1B,EAAsFmN,GAAtF,CAA0F,CAAC,OAAO/N,CAAP;AAAS,YAASR,CAAT,CAAWwzB,CAAX,EAAa;AAAC,WAAO51B,OAAOoP,SAAP,CAAiB1K,QAAjB,CAA0B2K,IAA1B,CAA+BumB,CAA/B,EAAkCW,KAAlC,CAAwC,mBAAxC,EAA6D,CAA7D,CAAP;AAAuE,YAASvnB,CAAT,GAAY;AAAC,QAAI4mB,IAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,KAA7D;AAAA,QAAmErG,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA5H;AAAA,QAA+HsuB,IAAEtuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAAxL;AAAA,QAA2L3G,IAAE2G,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAApP;AAAA,QAAuP7E,IAAE7C,SAAS6b,aAAT,CAAuBga,CAAvB,CAAzP,CAAmR,OAAOhzB,EAAExC,SAAF,GAAYU,CAAZ,EAAc8B,EAAEmb,SAAF,GAAY3c,CAA1B,EAA4Bs1B,GAAGX,CAAH,EAAM1jB,OAAN,CAAc,UAASjR,CAAT,EAAW;AAAC,UAAIN,IAAEM,CAAN;AAAA,UAAQuP,IAAEolB,EAAE30B,CAAF,CAAV,CAAe,YAAUw0B,CAAV,IAAa,YAAUA,CAAvB,IAA0B,iBAAeA,CAAzC,GAA2CjlB,KAAG/N,EAAEkb,YAAF,CAAehd,CAAf,EAAiB6P,CAAjB,CAA9C,GAAkE/N,EAAEkb,YAAF,CAAehd,CAAf,EAAiB6P,CAAjB,CAAlE;AAAsF,KAA/H,CAA5B,EAA6J/N,CAApK;AAAsK,YAAS+zB,CAAT,GAAY;AAAC,QAAIf,IAAE/tB,UAAU0W,SAAhB;AAAA,QAA0Bnd,IAAE,oBAAoBqQ,IAApB,CAAyBmkB,CAAzB,CAA5B;AAAA,QAAwDG,IAAE,gBAAgBtkB,IAAhB,CAAqBmkB,CAArB,KAAyBx0B,CAAnF;AAAA,QAAqFN,IAAE,cAAc2Q,IAAd,CAAmBmkB,CAAnB,CAAvF;AAAA,QAA6GhzB,IAAE,cAAc6O,IAAd,CAAmBmkB,CAAnB,CAA/G;AAAA,QAAqIjlB,IAAE,oBAAoBc,IAApB,CAAyBmkB,CAAzB,KAA6B90B,KAAG,CAAC,aAAa2Q,IAAb,CAAkBmkB,CAAlB,CAAjC,IAAuDhzB,KAAG,aAAa6O,IAAb,CAAkBmkB,CAAlB,CAAjM,CAAsN,OAAM,cAAankB,IAAb,CAAkBmkB,CAAlB,KAAsB,CAACjlB,CAAvB,IAA0B7P,CAA1B,IAA6Bi1B,CAA7B,IAAgCplB;AAAtC;AAAwC,YAASimB,CAAT,CAAWhB,CAAX,EAAa;AAAC,QAAIx0B,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D;AAAA,QAAgEsuB,IAAE,EAAlE,CAAqEH,EAAEjxB,GAAF,CAAM,UAASixB,CAAT,EAAW;AAACG,WAAG,MAAI30B,CAAJ,GAAM,GAAN,GAAUw0B,EAAE31B,GAAZ,GAAgB,IAAhB,GAAqB21B,EAAE9xB,KAAvB,GAA6B,GAAhC;AAAoC,KAAtD,EAAwD,IAAIhD,IAAEf,SAAS6b,aAAT,CAAuB,OAAvB,CAAN;AAAA,QAAsChZ,IAAE7C,SAAS82B,IAAT,IAAe92B,SAAS+2B,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAvD,CAAgG,IAAGh2B,EAAEuI,IAAF,GAAO,UAAP,EAAkBvI,EAAEoE,EAAF,GAAK,MAAvB,EAA8BpE,EAAEi2B,UAAnC,EAA8C;AAAC,UAAIpmB,IAAE,YAAU;AAAC,YAAG;AAAC7P,YAAEi2B,UAAF,CAAaC,OAAb,GAAqBjB,CAArB;AAAuB,SAA3B,CAA2B,OAAMH,CAAN,EAAQ,CAAE;AAAC,OAAvD,CAAwD90B,EAAEi2B,UAAF,CAAaE,QAAb,GAAsB7sB,WAAWuG,CAAX,EAAa,EAAb,CAAtB,GAAuCA,GAAvC;AAA2C,KAAlJ,MAAsJ;AAAC,UAAIwlB,IAAEp2B,SAASm3B,cAAT,CAAwBnB,CAAxB,CAAN,CAAiCj1B,EAAEod,WAAF,CAAciY,CAAd;AAAiB,OAAEjY,WAAF,CAAcpd,CAAd;AAAiB,YAAS6d,CAAT,CAAWiX,CAAX,EAAax0B,CAAb,EAAe;AAAC+1B,WAAKA,KAAG,IAAIC,EAAJ,EAAR,GAAgBD,GAAGE,WAAH,CAAezB,CAAf,EAAiBx0B,CAAjB,CAAhB;AAAoC,YAASk2B,CAAT,CAAW1B,CAAX,EAAax0B,CAAb,EAAe;AAAC+1B,UAAIA,GAAGI,UAAH,CAAc3B,CAAd,EAAgBx0B,CAAhB,CAAJ;AAAuB,YAASo2B,CAAT,CAAW5B,CAAX,EAAa;AAAC,QAAIx0B,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D;AAAA,QAAgEsuB,IAAE,EAACtvB,MAAKgxB,GAAG7B,CAAH,EAAMnvB,IAAZ,EAAiBC,KAAI+wB,GAAG7B,CAAH,EAAMlvB,GAA3B,EAAlE,CAAkG,OAAOgwB,GAAGt1B,CAAH,EAAMuD,GAAN,CAAU,UAASixB,CAAT,EAAW;AAACG,QAAEH,CAAF,IAAKx0B,EAAEw0B,CAAF,CAAL;AAAU,KAAhC,GAAkCG,CAAzC;AAA2C,YAAS2B,CAAT,CAAW9B,CAAX,EAAax0B,CAAb,EAAe20B,CAAf,EAAiBj1B,CAAjB,EAAmB8B,CAAnB,EAAqB;AAACA,QAAEmzB,EAAEyB,EAAE,CAAF,EAAI50B,CAAJ,CAAF,EAAS,EAACrE,QAAOuC,EAAEvC,MAAV,EAAT,CAAF,GAA8BuC,EAAEvC,MAAF,IAAUq3B,EAAEnxB,IAAF,GAAO3D,EAAE2D,IAAT,EAAcmxB,EAAEr3B,MAAF,GAASuC,EAAEvC,MAAzB,EAAgCq3B,EAAE+B,MAAF,GAAS72B,EAAE62B,MAA3C,EAAkDv2B,EAAEw0B,CAAF,CAA5D,IAAkEG,EAAEyB,EAAE,CAAF,CAAF,CAAhG;AAAwG,YAASlU,CAAT,CAAWsS,CAAX,EAAa;AAAC,WAAO,IAAIgC,EAAJ,CAAO,UAASx2B,CAAT,EAAW20B,CAAX,EAAa;AAAC,UAAGH,EAAEnxB,IAAL,EAAU,OAAO,KAAKrD,EAAEw0B,CAAF,CAAZ,CAAiB,IAAGA,EAAEiC,IAAL,EAAU;AAAC,YAAI/2B,IAAEg3B,GAAGC,SAAH,CAAanC,EAAEiC,IAAf,CAAN,CAA2B,OAAOjC,EAAEnxB,IAAF,GAAO3D,CAAP,EAAS80B,EAAEr3B,MAAF,GAAS,MAAlB,EAAyB,KAAK6C,EAAEw0B,CAAF,CAArC;AAA0C,WAAGA,EAAEoC,aAAF,IAAiB,CAACpC,EAAEp0B,GAAvB,EAA2Bs2B,GAAGjxB,KAAH,CAAS+uB,EAAEoC,aAAX,EAAyB,UAASl3B,CAAT,EAAW8B,CAAX,EAAa;AAAC80B,UAAE9B,CAAF,EAAIx0B,CAAJ,EAAM20B,CAAN,EAAQj1B,CAAR,EAAU8B,CAAV;AAAa,OAApD,EAA3B,KAAsF,IAAGgzB,EAAEp0B,GAAL,EAAS,IAAIy2B,EAAJ,CAAO,EAACz2B,KAAIo0B,EAAEp0B,GAAP,EAAW6H,MAAK,MAAhB,EAAP,EAAgC6uB,IAAhC,CAAqC,UAASp3B,CAAT,EAAW;AAACg3B,WAAGjxB,KAAH,CAAS/F,EAAEgJ,GAAF,CAAMgT,QAAf,EAAwB,UAAShc,CAAT,EAAW8B,CAAX,EAAa;AAAC80B,YAAE9B,CAAF,EAAIx0B,CAAJ,EAAM20B,CAAN,EAAQj1B,CAAR,EAAU8B,CAAV;AAAa,SAAnD;AAAqD,OAAtG,EAAwGu1B,KAAxG,CAA8G,UAAS/2B,CAAT,EAAW;AAAC,YAAIN,IAAE02B,EAAE,CAAF,EAAI,EAAC3X,YAAWze,EAAEye,UAAd,EAAyBpR,QAAOrN,EAAEqN,MAAlC,EAAyCpF,MAAKjI,EAAEiI,IAAhD,EAAqDqgB,SAAQ,iBAA7D,EAA+EloB,KAAIo0B,EAAEp0B,GAArF,EAAJ,CAAN,CAAqGu0B,EAAEj1B,CAAF;AAAK,OAApO,EAAT,KAAmP;AAAC,YAAI8B,IAAE40B,EAAE,CAAF,CAAN,CAAWzB,EAAEnzB,CAAF;AAAK;AAAC,KAA3d,CAAP;AAAoe,YAASI,CAAT,CAAW4yB,CAAX,EAAax0B,CAAb,EAAe;AAAC,WAAM,CAAC,EAAEw0B,EAAE1wB,EAAF,IAAM0wB,EAAE1wB,EAAF,KAAO9D,EAAE8D,EAAf,IAAmB0wB,EAAED,QAAF,IAAYC,EAAED,QAAF,KAAav0B,EAAEu0B,QAAhD,CAAP;AAAiE,OAAI7qB,IAAE,UAAS8qB,CAAT,EAAW;AAAC,QAAG,KAAK,CAAL,IAAQA,CAAX,EAAa,MAAMtjB,UAAU,2BAAyBsjB,CAAnC,CAAN,CAA4C,OAAOA,CAAP;AAAS,GAApF;AAAA,MAAqFzzB,IAAE,UAASyzB,CAAT,EAAW;AAAC,WAAO51B,OAAO8K,EAAE8qB,CAAF,CAAP,CAAP;AAAoB,GAAvH;AAAA,MAAwHwC,IAAE,GAAG3oB,cAA7H;AAAA,MAA4I4oB,IAAE,UAASzC,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAOg3B,EAAE/oB,IAAF,CAAOumB,CAAP,EAASx0B,CAAT,CAAP;AAAmB,GAA/K;AAAA,MAAgLk3B,IAAEl3B,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAEw0B,EAAErxB,OAAF,GAAU,EAAC+C,SAAQ,QAAT,EAAhB,CAAmC,YAAU,OAAOixB,GAAjB,KAAuBA,MAAIn3B,CAA3B;AAA8B,GAA/E,CAAlL;AAAA,MAAmQo3B,KAAGF,EAAEhxB,OAAF,EAAUlG,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAEw0B,EAAErxB,OAAF,GAAU,eAAa,OAAOxD,MAApB,IAA4BA,OAAOH,IAAP,IAAaA,IAAzC,GAA8CG,MAA9C,GAAqD,eAAa,OAAO0I,IAApB,IAA0BA,KAAK7I,IAAL,IAAWA,IAArC,GAA0C6I,IAA1C,GAA+C0F,SAAS,aAAT,GAApH,CAA8I,YAAU,OAAOspB,GAAjB,KAAuBA,MAAIr3B,CAA3B;AAA8B,GAA1L,CAAb,CAAnQ;AAAA,MAA6cs3B,IAAEt3B,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAEo3B,EAAE,oBAAF,MAA0BA,EAAE,oBAAF,IAAwB,EAAlD,CAAN,CAA4D,CAAC5C,EAAErxB,OAAF,GAAU,UAASqxB,CAAT,EAAWG,CAAX,EAAa;AAAC,aAAO30B,EAAEw0B,CAAF,MAAOx0B,EAAEw0B,CAAF,IAAK,KAAK,CAAL,KAASG,CAAT,GAAWA,CAAX,GAAa,EAAzB,CAAP;AAAoC,KAA7D,EAA+D,UAA/D,EAA0E,EAA1E,EAA8E5wB,IAA9E,CAAmF,EAACmC,SAAQgxB,EAAEhxB,OAAX,EAAmBwN,MAAK,MAAxB,EAA+B6jB,WAAU,sCAAzC,EAAnF;AAAqK,GAA/O,CAA/c;AAAA,MAAgsB51B,IAAE,CAAlsB;AAAA,MAAosB61B,IAAEh4B,KAAKi4B,MAAL,EAAtsB;AAAA,MAAotBC,IAAE,UAASlD,CAAT,EAAW;AAAC,WAAM,UAAUhwB,MAAV,CAAiB,KAAK,CAAL,KAASgwB,CAAT,GAAW,EAAX,GAAcA,CAA/B,EAAiC,IAAjC,EAAsC,CAAC,EAAE7yB,CAAF,GAAI61B,CAAL,EAAQl0B,QAAR,CAAiB,EAAjB,CAAtC,CAAN;AAAkE,GAApyB;AAAA,MAAqyBq0B,IAAEL,EAAE,MAAF,CAAvyB;AAAA,MAAizBM,IAAE,UAASpD,CAAT,EAAW;AAAC,WAAOmD,EAAEnD,CAAF,MAAOmD,EAAEnD,CAAF,IAAKkD,EAAElD,CAAF,CAAZ,CAAP;AAAyB,GAAx1B;AAAA,MAAy1BqD,IAAED,EAAE,UAAF,CAA31B;AAAA,MAAy2BE,IAAEl5B,OAAOoP,SAAl3B;AAAA,MAA43B+pB,IAAEn5B,OAAOo5B,cAAP,IAAuB,UAASxD,CAAT,EAAW;AAAC,WAAOA,IAAEzzB,EAAEyzB,CAAF,CAAF,EAAOyC,EAAEzC,CAAF,EAAIqD,CAAJ,IAAOrD,EAAEqD,CAAF,CAAP,GAAY,cAAY,OAAOrD,EAAE/jB,WAArB,IAAkC+jB,aAAaA,EAAE/jB,WAAjD,GAA6D+jB,EAAE/jB,WAAF,CAAczC,SAA3E,GAAqFwmB,aAAa51B,MAAb,GAAoBk5B,CAApB,GAAsB,IAArI;AAA0I,GAA3iC;AAAA,MAA4iCjD,IAAE,UAASL,CAAT,EAAW;AAAC,QAAG,cAAY,OAAOA,CAAtB,EAAwB,MAAMtjB,UAAUsjB,IAAE,qBAAZ,CAAN,CAAyC,OAAOA,CAAP;AAAS,GAApoC;AAAA,MAAqoCyD,IAAE,UAASzD,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,QAAGE,EAAEL,CAAF,GAAK,KAAK,CAAL,KAASx0B,CAAjB,EAAmB,OAAOw0B,CAAP,CAAS,QAAOG,CAAP,GAAU,KAAK,CAAL;AAAO,eAAO,UAASA,CAAT,EAAW;AAAC,iBAAOH,EAAEvmB,IAAF,CAAOjO,CAAP,EAAS20B,CAAT,CAAP;AAAmB,SAAtC,CAAuC,KAAK,CAAL;AAAO,eAAO,UAASA,CAAT,EAAWj1B,CAAX,EAAa;AAAC,iBAAO80B,EAAEvmB,IAAF,CAAOjO,CAAP,EAAS20B,CAAT,EAAWj1B,CAAX,CAAP;AAAqB,SAA1C,CAA2C,KAAK,CAAL;AAAO,eAAO,UAASi1B,CAAT,EAAWj1B,CAAX,EAAa8B,CAAb,EAAe;AAAC,iBAAOgzB,EAAEvmB,IAAF,CAAOjO,CAAP,EAAS20B,CAAT,EAAWj1B,CAAX,EAAa8B,CAAb,CAAP;AAAuB,SAA9C,CAAjH,CAAgK,OAAO,YAAU;AAAC,aAAOgzB,EAAE1mB,KAAF,CAAQ9N,CAAR,EAAUqG,SAAV,CAAP;AAA4B,KAA9C;AAA+C,GAAl4C;AAAA,MAAm4C6xB,IAAE,UAAS1D,CAAT,EAAW;AAAC,WAAM,YAAU,OAAOA,CAAjB,GAAmB,SAAOA,CAA1B,GAA4B,cAAY,OAAOA,CAArD;AAAuD,GAAx8C;AAAA,MAAy8C2D,IAAE,UAAS3D,CAAT,EAAW;AAAC,QAAG,CAAC0D,EAAE1D,CAAF,CAAJ,EAAS,MAAMtjB,UAAUsjB,IAAE,oBAAZ,CAAN,CAAwC,OAAOA,CAAP;AAAS,GAAjhD;AAAA,MAAkhD4D,IAAE,UAAS5D,CAAT,EAAW;AAAC,QAAG;AAAC,aAAM,CAAC,CAACA,GAAR;AAAY,KAAhB,CAAgB,OAAMA,CAAN,EAAQ;AAAC,aAAM,CAAC,CAAP;AAAS;AAAC,GAAnkD;AAAA,MAAokD6D,IAAE,CAACD,EAAE,YAAU;AAAC,WAAO,KAAGx5B,OAAOuP,cAAP,CAAsB,EAAtB,EAAyB,GAAzB,EAA6B,EAAC3H,KAAI,YAAU;AAAC,eAAO,CAAP;AAAS,OAAzB,EAA7B,EAAyDnG,CAAnE;AAAqE,GAAlF,CAAvkD;AAAA,MAA2pDi4B,IAAElB,EAAEz4B,QAA/pD;AAAA,MAAwqD45B,IAAEL,EAAEI,CAAF,KAAMJ,EAAEI,EAAE9d,aAAJ,CAAhrD;AAAA,MAAmsDge,IAAE,UAAShE,CAAT,EAAW;AAAC,WAAO+D,IAAED,EAAE9d,aAAF,CAAgBga,CAAhB,CAAF,GAAqB,EAA5B;AAA+B,GAAhvD;AAAA,MAAivDiE,IAAE,CAACJ,CAAD,IAAI,CAACD,EAAE,YAAU;AAAC,WAAO,KAAGx5B,OAAOuP,cAAP,CAAsBqqB,EAAE,KAAF,CAAtB,EAA+B,GAA/B,EAAmC,EAAChyB,KAAI,YAAU;AAAC,eAAO,CAAP;AAAS,OAAzB,EAAnC,EAA+DnG,CAAzE;AAA2E,GAAxF,CAAxvD;AAAA,MAAk1Dq4B,IAAE,UAASlE,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAG,CAACk4B,EAAE1D,CAAF,CAAJ,EAAS,OAAOA,CAAP,CAAS,IAAIG,CAAJ,EAAMj1B,CAAN,CAAQ,IAAGM,KAAG,cAAY,QAAO20B,IAAEH,EAAElxB,QAAX,CAAf,IAAqC,CAAC40B,EAAEx4B,IAAEi1B,EAAE1mB,IAAF,CAAOumB,CAAP,CAAJ,CAAzC,EAAwD,OAAO90B,CAAP,CAAS,IAAG,cAAY,QAAOi1B,IAAEH,EAAEmE,OAAX,CAAZ,IAAiC,CAACT,EAAEx4B,IAAEi1B,EAAE1mB,IAAF,CAAOumB,CAAP,CAAJ,CAArC,EAAoD,OAAO90B,CAAP,CAAS,IAAG,CAACM,CAAD,IAAI,cAAY,QAAO20B,IAAEH,EAAElxB,QAAX,CAAhB,IAAsC,CAAC40B,EAAEx4B,IAAEi1B,EAAE1mB,IAAF,CAAOumB,CAAP,CAAJ,CAA1C,EAAyD,OAAO90B,CAAP,CAAS,MAAMwR,UAAU,yCAAV,CAAN;AAA2D,GAAvnE;AAAA,MAAwnE0nB,IAAEh6B,OAAOuP,cAAjoE;AAAA,MAAgpE0qB,IAAE,EAACxb,GAAEgb,IAAEz5B,OAAOuP,cAAT,GAAwB,UAASqmB,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,UAAGwD,EAAE3D,CAAF,GAAKx0B,IAAE04B,EAAE14B,CAAF,EAAI,CAAC,CAAL,CAAP,EAAem4B,EAAExD,CAAF,CAAf,EAAoB8D,CAAvB,EAAyB,IAAG;AAAC,eAAOG,EAAEpE,CAAF,EAAIx0B,CAAJ,EAAM20B,CAAN,CAAP;AAAgB,OAApB,CAAoB,OAAMH,CAAN,EAAQ,CAAE,KAAG,SAAQG,CAAR,IAAW,SAAQA,CAAtB,EAAwB,MAAMzjB,UAAU,0BAAV,CAAN,CAA4C,OAAM,WAAUyjB,CAAV,KAAcH,EAAEx0B,CAAF,IAAK20B,EAAE71B,KAArB,GAA4B01B,CAAlC;AAAoC,KAA1M,EAAlpE;AAAA,MAA81EsE,IAAE,UAAStE,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAM,EAACuO,YAAW,EAAE,IAAEimB,CAAJ,CAAZ,EAAmBlmB,cAAa,EAAE,IAAEkmB,CAAJ,CAAhC,EAAuChmB,UAAS,EAAE,IAAEgmB,CAAJ,CAAhD,EAAuD11B,OAAMkB,CAA7D,EAAN;AAAsE,GAAp7E;AAAA,MAAq7E+4B,IAAEV,IAAE,UAAS7D,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,WAAOkE,EAAExb,CAAF,CAAImX,CAAJ,EAAMx0B,CAAN,EAAQ84B,EAAE,CAAF,EAAInE,CAAJ,CAAR,CAAP;AAAuB,GAAzC,GAA0C,UAASH,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,WAAOH,EAAEx0B,CAAF,IAAK20B,CAAL,EAAOH,CAAd;AAAgB,GAAjgF;AAAA,MAAkgFwE,IAAE,UAASxE,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,QAAIj1B,CAAJ;AAAA,QAAM8B,CAAN;AAAA,QAAQ+N,CAAR;AAAA,QAAUwlB,IAAEP,IAAEwE,EAAEnE,CAAhB;AAAA,QAAkBx0B,IAAEm0B,IAAEwE,EAAET,CAAxB;AAAA,QAA0BlD,IAAEb,IAAEwE,EAAE/B,CAAhC;AAAA,QAAkCnnB,IAAE0kB,IAAEwE,EAAE1B,CAAxC;AAAA,QAA0CloB,IAAEolB,IAAEwE,EAAEd,CAAhD;AAAA,QAAkD7a,IAAEmX,IAAEwE,EAAEV,CAAxD;AAAA,QAA0Dt3B,IAAEX,IAAE62B,CAAF,GAAIA,EAAEl3B,CAAF,MAAOk3B,EAAEl3B,CAAF,IAAK,EAAZ,CAAhE;AAAA,QAAgF4N,IAAE5M,EAAEgN,SAApF;AAAA,QAA8FunB,IAAEl1B,IAAE+2B,CAAF,GAAI/B,IAAE+B,EAAEp3B,CAAF,CAAF,GAAO,CAACo3B,EAAEp3B,CAAF,KAAM,EAAP,EAAWgO,SAAtH,CAAgI3N,MAAIs0B,IAAE30B,CAAN,EAAS,KAAIN,CAAJ,IAASi1B,CAAT,EAAW,CAACnzB,IAAE,CAACuzB,CAAD,IAAIQ,CAAJ,IAAO,KAAK,CAAL,KAASA,EAAE71B,CAAF,CAAnB,KAA0Bu3B,EAAEj2B,CAAF,EAAItB,CAAJ,CAA1B,KAAmC6P,IAAE/N,IAAE+zB,EAAE71B,CAAF,CAAF,GAAOi1B,EAAEj1B,CAAF,CAAT,EAAcsB,EAAEtB,CAAF,IAAKW,KAAG,cAAY,OAAOk1B,EAAE71B,CAAF,CAAtB,GAA2Bi1B,EAAEj1B,CAAF,CAA3B,GAAgC0P,KAAG5N,CAAH,GAAKy2B,EAAE1oB,CAAF,EAAI6nB,CAAJ,CAAL,GAAY/Z,KAAGkY,EAAE71B,CAAF,KAAM6P,CAAT,GAAW,UAASilB,CAAT,EAAW;AAAC,UAAIx0B,IAAE,UAASA,CAAT,EAAW20B,CAAX,EAAaj1B,CAAb,EAAe;AAAC,YAAG,gBAAgB80B,CAAnB,EAAqB;AAAC,kBAAOnuB,UAAU/G,MAAjB,GAAyB,KAAK,CAAL;AAAO,qBAAO,IAAIk1B,CAAJ,EAAP,CAAa,KAAK,CAAL;AAAO,qBAAO,IAAIA,CAAJ,CAAMx0B,CAAN,CAAP,CAAgB,KAAK,CAAL;AAAO,qBAAO,IAAIw0B,CAAJ,CAAMx0B,CAAN,EAAQ20B,CAAR,CAAP,CAA3E,CAA6F,OAAO,IAAIH,CAAJ,CAAMx0B,CAAN,EAAQ20B,CAAR,EAAUj1B,CAAV,CAAP;AAAoB,gBAAO80B,EAAE1mB,KAAF,CAAQ,IAAR,EAAazH,SAAb,CAAP;AAA+B,OAA5L,CAA6L,OAAOrG,EAAEgO,SAAF,GAAYwmB,EAAExmB,SAAd,EAAwBhO,CAA/B;AAAiC,KAA1O,CAA2OuP,CAA3O,CAAX,GAAyPO,KAAG,cAAY,OAAOP,CAAtB,GAAwB0oB,EAAElqB,SAASE,IAAX,EAAgBsB,CAAhB,CAAxB,GAA2CA,CAAnW,EAAqWO,MAAI,CAAC9O,EAAEi4B,OAAF,KAAYj4B,EAAEi4B,OAAF,GAAU,EAAtB,CAAD,EAA4Bv5B,CAA5B,IAA+B6P,CAA/B,EAAiCilB,IAAEwE,EAAEpB,CAAJ,IAAOhqB,CAAP,IAAU,CAACA,EAAElO,CAAF,CAAX,IAAiBq5B,EAAEnrB,CAAF,EAAIlO,CAAJ,EAAM6P,CAAN,CAAtD,CAAxY;AAAyc,GAAjnG,CAAknGypB,EAAEnE,CAAF,GAAI,CAAJ,EAAMmE,EAAET,CAAF,GAAI,CAAV,EAAYS,EAAE/B,CAAF,GAAI,CAAhB,EAAkB+B,EAAE1B,CAAF,GAAI,CAAtB,EAAwB0B,EAAEd,CAAF,GAAI,EAA5B,EAA+Bc,EAAEV,CAAF,GAAI,EAAnC,EAAsCU,EAAER,CAAF,GAAI,EAA1C,EAA6CQ,EAAEpB,CAAF,GAAI,GAAjD,CAAqD,IAAIsB,IAAEF,CAAN;AAAA,MAAQG,KAAG,UAAS3E,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAI20B,IAAE,CAACuC,EAAEt4B,MAAF,IAAU,EAAX,EAAe41B,CAAf,KAAmB51B,OAAO41B,CAAP,CAAzB;AAAA,QAAmC90B,IAAE,EAArC,CAAwCA,EAAE80B,CAAF,IAAKx0B,EAAE20B,CAAF,CAAL,EAAUuE,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAIuD,EAAE,YAAU;AAACzD,QAAE,CAAF;AAAK,KAAlB,CAAV,EAA8B,QAA9B,EAAuCj1B,CAAvC,CAAV;AAAoD,GAArH,CAAsHy5B,GAAG,gBAAH,EAAoB,YAAU;AAAC,WAAO,UAAS3E,CAAT,EAAW;AAAC,aAAOuD,EAAEh3B,EAAEyzB,CAAF,CAAF,CAAP;AAAe,KAAlC;AAAmC,GAAlE,EAAoE,IAAI4E,KAAGlC,EAAEt4B,MAAF,CAASo5B,cAAhB;AAAA,MAA+BqB,KAAG7E,EAAEx0B,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ0E,EAAT,EAAY3E,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAF,CAAlC;AAAA,MAA0F6E,KAAG9E,EAAEx0B,EAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAACA,MAAEy0B,UAAF,GAAa,CAAC,CAAd,EAAgBz0B,EAAE00B,OAAF,GAAU,UAASF,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAG,EAAEw0B,aAAax0B,CAAf,CAAH,EAAqB,MAAM,IAAIkR,SAAJ,CAAc,mCAAd,CAAN;AAAyD,KAAtH;AAAuH,GAAvI,CAAF,CAA7F;AAAA,MAAyOqoB,KAAG/5B,KAAKg6B,IAAjP;AAAA,MAAsPC,KAAGj6B,KAAKk6B,KAA9P;AAAA,MAAoQC,KAAG,UAASnF,CAAT,EAAW;AAAC,WAAOjR,MAAMiR,IAAE,CAACA,CAAT,IAAY,CAAZ,GAAc,CAACA,IAAE,CAAF,GAAIiF,EAAJ,GAAOF,EAAR,EAAY/E,CAAZ,CAArB;AAAoC,GAAvT;AAAA,MAAwToF,KAAGb,CAA3T;AAAA,MAA6Tc,KAAG,EAAhU;AAAA,MAAmUC,KAAG,GAAGx2B,QAAzU;AAAA,MAAkVy2B,KAAG,UAASvF,CAAT,EAAW;AAAC,WAAOsF,GAAG7rB,IAAH,CAAQumB,CAAR,EAAWllB,KAAX,CAAiB,CAAjB,EAAmB,CAAC,CAApB,CAAP;AAA8B,GAA/X;AAAA,MAAgY0qB,KAAGp7B,OAAO,GAAP,EAAYq7B,oBAAZ,CAAiC,CAAjC,IAAoCr7B,MAApC,GAA2C,UAAS41B,CAAT,EAAW;AAAC,WAAM,YAAUuF,GAAGvF,CAAH,CAAV,GAAgBA,EAAEvZ,KAAF,CAAQ,EAAR,CAAhB,GAA4Brc,OAAO41B,CAAP,CAAlC;AAA4C,GAAte;AAAA,MAAue0F,KAAG,UAAS1F,CAAT,EAAW;AAAC,WAAOwF,GAAGtwB,EAAE8qB,CAAF,CAAH,CAAP;AAAgB,GAAtgB;AAAA,MAAugB2F,KAAG36B,KAAK0nB,GAA/gB;AAAA,MAAmhBkT,KAAG,UAAS5F,CAAT,EAAW;AAAC,WAAOA,IAAE,CAAF,GAAI2F,GAAGR,GAAGnF,CAAH,CAAH,EAAS,gBAAT,CAAJ,GAA+B,CAAtC;AAAwC,GAA1kB;AAAA,MAA2kB6F,KAAG76B,KAAKuR,GAAnlB;AAAA,MAAulBupB,KAAG96B,KAAK0nB,GAA/lB;AAAA,MAAmmBqT,KAAG,UAAS/F,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAOw0B,IAAEmF,GAAGnF,CAAH,CAAF,EAAQA,IAAE,CAAF,GAAI6F,GAAG7F,IAAEx0B,CAAL,EAAO,CAAP,CAAJ,GAAcs6B,GAAG9F,CAAH,EAAKx0B,CAAL,CAA7B;AAAqC,GAAzpB;AAAA,MAA0pBw6B,KAAG,UAAShG,CAAT,EAAW;AAAC,WAAO,UAASx0B,CAAT,EAAW20B,CAAX,EAAaj1B,CAAb,EAAe;AAAC,UAAI8B,CAAJ;AAAA,UAAM+N,IAAE2qB,GAAGl6B,CAAH,CAAR;AAAA,UAAc+0B,IAAEqF,GAAG7qB,EAAEjQ,MAAL,CAAhB;AAAA,UAA6Be,IAAEk6B,GAAG76B,CAAH,EAAKq1B,CAAL,CAA/B,CAAuC,IAAGP,KAAGG,KAAGA,CAAT,EAAW;AAAC,eAAKI,IAAE10B,CAAP,GAAU,IAAG,CAACmB,IAAE+N,EAAElP,GAAF,CAAH,KAAYmB,CAAf,EAAiB,OAAM,CAAC,CAAP;AAAS,OAAhD,MAAqD,OAAKuzB,IAAE10B,CAAP,EAASA,GAAT,EAAa,IAAG,CAACm0B,KAAGn0B,KAAKkP,CAAT,KAAaA,EAAElP,CAAF,MAAOs0B,CAAvB,EAAyB,OAAOH,KAAGn0B,CAAH,IAAM,CAAb,CAAe,OAAM,CAACm0B,CAAD,IAAI,CAAC,CAAX;AAAa,KAArL;AAAsL,GAAlM,CAAmM,CAAC,CAApM,CAA7pB;AAAA,MAAo2BiG,KAAG7C,EAAE,UAAF,CAAv2B;AAAA,MAAq3B8C,KAAG,UAASlG,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAI20B,CAAJ;AAAA,QAAMj1B,IAAEw6B,GAAG1F,CAAH,CAAR;AAAA,QAAchzB,IAAE,CAAhB;AAAA,QAAkB+N,IAAE,EAApB,CAAuB,KAAIolB,CAAJ,IAASj1B,CAAT,EAAWi1B,KAAG8F,EAAH,IAAOxD,EAAEv3B,CAAF,EAAIi1B,CAAJ,CAAP,IAAeplB,EAAExL,IAAF,CAAO4wB,CAAP,CAAf,CAAyB,OAAK30B,EAAEV,MAAF,GAASkC,CAAd,GAAiBy1B,EAAEv3B,CAAF,EAAIi1B,IAAE30B,EAAEwB,GAAF,CAAN,MAAgB,CAACg5B,GAAGjrB,CAAH,EAAKolB,CAAL,CAAD,IAAUplB,EAAExL,IAAF,CAAO4wB,CAAP,CAA1B,EAAqC,OAAOplB,CAAP;AAAS,GAAhgC;AAAA,MAAigCorB,KAAG,gGAAgG1f,KAAhG,CAAsG,GAAtG,CAApgC;AAAA,MAA+mC2f,KAAGh8B,OAAOkS,IAAP,IAAa,UAAS0jB,CAAT,EAAW;AAAC,WAAOkG,GAAGlG,CAAH,EAAKmG,EAAL,CAAP;AAAgB,GAA3pC;AAAA,MAA4pCE,KAAGxC,IAAEz5B,OAAOwP,gBAAT,GAA0B,UAASomB,CAAT,EAAWx0B,CAAX,EAAa;AAACm4B,MAAE3D,CAAF,EAAK,KAAI,IAAIG,CAAJ,EAAMj1B,IAAEk7B,GAAG56B,CAAH,CAAR,EAAcwB,IAAE9B,EAAEJ,MAAlB,EAAyBiQ,IAAE,CAA/B,EAAiC/N,IAAE+N,CAAnC,GAAsCspB,EAAExb,CAAF,CAAImX,CAAJ,EAAMG,IAAEj1B,EAAE6P,GAAF,CAAR,EAAevP,EAAE20B,CAAF,CAAf,EAAqB,OAAOH,CAAP;AAAS,GAAhxC;AAAA,MAAixCsG,KAAG1D,EAAEz4B,QAAtxC;AAAA,MAA+xCo8B,KAAGD,MAAIA,GAAGtR,eAAzyC;AAAA,MAAyzCwR,KAAGpD,EAAE,UAAF,CAA5zC;AAAA,MAA00CqD,KAAG,YAAU,CAAE,CAAz1C;AAAA,MAA01CC,KAAG,YAAU;AAAC,QAAI1G,CAAJ;AAAA,QAAMx0B,IAAEw4B,EAAE,QAAF,CAAR;AAAA,QAAoB7D,IAAEgG,GAAGr7B,MAAzB,CAAgC,KAAIU,EAAE0C,KAAF,CAAQka,OAAR,GAAgB,MAAhB,EAAuBme,GAAGje,WAAH,CAAe9c,CAAf,CAAvB,EAAyCA,EAAEE,GAAF,GAAM,aAA/C,EAA6D,CAACs0B,IAAEx0B,EAAEm7B,aAAF,CAAgBx8B,QAAnB,EAA6B2c,IAA7B,EAA7D,EAAiGkZ,EAAE4G,KAAF,CAAQ,qCAAR,CAAjG,EAAgJ5G,EAAE6G,KAAF,EAAhJ,EAA0JH,KAAG1G,EAAEK,CAAnK,EAAqKF,GAArK,GAA0K,OAAOuG,GAAGltB,SAAH,CAAa2sB,GAAGhG,CAAH,CAAb,CAAP,CAA2B,OAAOuG,IAAP;AAAY,GAAzlD;AAAA,MAA0lDI,KAAG18B,OAAOsP,MAAP,IAAe,UAASsmB,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAI20B,CAAJ,CAAM,OAAO,SAAOH,CAAP,IAAUyG,GAAGjtB,SAAH,GAAamqB,EAAE3D,CAAF,CAAb,EAAkBG,IAAE,IAAIsG,EAAJ,EAApB,EAA2BA,GAAGjtB,SAAH,GAAa,IAAxC,EAA6C2mB,EAAEqG,EAAF,IAAMxG,CAA7D,IAAgEG,IAAEuG,IAAlE,EAAuE,KAAK,CAAL,KAASl7B,CAAT,GAAW20B,CAAX,GAAakG,GAAGlG,CAAH,EAAK30B,CAAL,CAA3F;AAAmG,GAAnuD;AAAA,MAAouDu7B,KAAGv7B,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAEs3B,EAAE,KAAF,CAAN;AAAA,QAAe3C,IAAEyC,EAAEoE,MAAnB;AAAA,QAA0B97B,IAAE,cAAY,OAAOi1B,CAA/C,CAAiD,CAACH,EAAErxB,OAAF,GAAU,UAASqxB,CAAT,EAAW;AAAC,aAAOx0B,EAAEw0B,CAAF,MAAOx0B,EAAEw0B,CAAF,IAAK90B,KAAGi1B,EAAEH,CAAF,CAAH,IAAS,CAAC90B,IAAEi1B,CAAF,GAAI+C,CAAL,EAAQ,YAAUlD,CAAlB,CAArB,CAAP;AAAkD,KAAzE,EAA2EiH,KAA3E,GAAiFz7B,CAAjF;AAAmF,GAAlJ,CAAvuD;AAAA,MAA23D07B,KAAG7C,EAAExb,CAAh4D;AAAA,MAAk4Dse,KAAGJ,GAAG,aAAH,CAAr4D;AAAA,MAAu5DK,KAAG,UAASpH,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAACH,SAAG,CAACyC,EAAEzC,IAAEG,IAAEH,CAAF,GAAIA,EAAExmB,SAAV,EAAoB2tB,EAApB,CAAJ,IAA6BD,GAAGlH,CAAH,EAAKmH,EAAL,EAAQ,EAACrtB,cAAa,CAAC,CAAf,EAAiBxP,OAAMkB,CAAvB,EAAR,CAA7B;AAAgE,GAA1+D;AAAA,MAA2+D67B,KAAG,EAA9+D,CAAi/D9C,EAAE8C,EAAF,EAAKN,GAAG,UAAH,CAAL,EAAoB,YAAU;AAAC,WAAO,IAAP;AAAY,GAA3C,EAA6C,IAAIO,KAAG,UAAStH,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAACH,MAAExmB,SAAF,GAAYstB,GAAGO,EAAH,EAAM,EAACE,MAAKjD,EAAE,CAAF,EAAInE,CAAJ,CAAN,EAAN,CAAZ,EAAiCiH,GAAGpH,CAAH,EAAKx0B,IAAE,WAAP,CAAjC;AAAqD,GAA5E;AAAA,MAA6Eg8B,KAAGT,GAAG,UAAH,CAAhF;AAAA,MAA+FU,KAAG,EAAE,GAAGnrB,IAAH,IAAS,UAAQ,GAAGA,IAAH,EAAnB,CAAlG;AAAA,MAAgIorB,KAAG,YAAU;AAAC,WAAO,IAAP;AAAY,GAA1J;AAAA,MAA2JC,KAAG,UAAS3H,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAej1B,CAAf,EAAiB8B,CAAjB,EAAmB+N,CAAnB,EAAqBwlB,CAArB,EAAuB;AAAC+G,OAAGnH,CAAH,EAAK30B,CAAL,EAAON,CAAP,EAAU,IAAIW,CAAJ;AAAA,QAAMg1B,CAAN;AAAA,QAAQvlB,CAAR;AAAA,QAAUV,IAAE,UAASolB,CAAT,EAAW;AAAC,UAAG,CAACyH,EAAD,IAAKzH,KAAKe,CAAb,EAAe,OAAOA,EAAEf,CAAF,CAAP,CAAY,QAAOA,CAAP,GAAU,KAAI,MAAJ,CAAW,KAAI,QAAJ;AAAa,iBAAO,YAAU;AAAC,mBAAO,IAAIG,CAAJ,CAAM,IAAN,EAAWH,CAAX,CAAP;AAAqB,WAAvC,CAAlC,CAA0E,OAAO,YAAU;AAAC,eAAO,IAAIG,CAAJ,CAAM,IAAN,EAAWH,CAAX,CAAP;AAAqB,OAAvC;AAAwC,KAArK;AAAA,QAAsKnX,IAAErd,IAAE,WAA1K;AAAA,QAAsLgB,IAAE,YAAUQ,CAAlM;AAAA,QAAoMoM,IAAE,CAAC,CAAvM;AAAA,QAAyM2nB,IAAEf,EAAExmB,SAA7M;AAAA,QAAuNwnB,IAAED,EAAEyG,EAAF,KAAOzG,EAAE,YAAF,CAAP,IAAwB/zB,KAAG+zB,EAAE/zB,CAAF,CAApP;AAAA,QAAyP+b,IAAEiY,KAAGpmB,EAAE5N,CAAF,CAA9P;AAAA,QAAmQ00B,IAAE10B,IAAER,IAAEoO,EAAE,SAAF,CAAF,GAAemO,CAAjB,GAAmB,KAAK,CAA7R;AAAA,QAA+R6Y,IAAE,WAASp2B,CAAT,GAAWu1B,EAAE6G,OAAF,IAAW5G,CAAtB,GAAwBA,CAAzT,CAA2T,IAAGY,KAAG,CAACtmB,IAAEioB,EAAE3B,EAAEnoB,IAAF,CAAO,IAAIumB,CAAJ,EAAP,CAAF,CAAH,MAAuB51B,OAAOoP,SAAjC,IAA4C8B,EAAEisB,IAA9C,IAAoDH,GAAG9rB,CAAH,EAAKuN,CAAL,EAAO,CAAC,CAAR,CAApD,EAA+Drc,KAAGw0B,CAAH,IAAM,aAAWA,EAAEp0B,IAAnB,KAA0BwM,IAAE,CAAC,CAAH,EAAK2P,IAAE,YAAU;AAAC,aAAOiY,EAAEvnB,IAAF,CAAO,IAAP,CAAP;AAAoB,KAAhE,CAA/D,EAAiI8mB,MAAIkH,MAAIruB,CAAJ,IAAO,CAAC2nB,EAAEyG,EAAF,CAAZ,KAAoBjD,EAAExD,CAAF,EAAIyG,EAAJ,EAAOze,CAAP,CAArJ,EAA+Jsc,GAAG75B,CAAH,IAAMud,CAArK,EAAuKsc,GAAGxc,CAAH,IAAM6e,EAA7K,EAAgL16B,CAAnL,EAAqL,IAAGnB,IAAE,EAACg8B,QAAOr7B,IAAEuc,CAAF,GAAInO,EAAE,QAAF,CAAZ,EAAwB0B,MAAKvB,IAAEgO,CAAF,GAAInO,EAAE,MAAF,CAAjC,EAA2CgtB,SAAQlG,CAAnD,EAAF,EAAwDnB,CAA3D,EAA6D,KAAIM,CAAJ,IAASh1B,CAAT,EAAWg1B,KAAKE,CAAL,IAAQqE,GAAGrE,CAAH,EAAKF,CAAL,EAAOh1B,EAAEg1B,CAAF,CAAP,CAAR,CAAxE,KAAkG6D,EAAEA,EAAE5B,CAAF,GAAI4B,EAAErE,CAAF,IAAKoH,MAAIruB,CAAT,CAAN,EAAkB5N,CAAlB,EAAoBK,CAApB,EAAuB,OAAOA,CAAP;AAAS,GAAlzB;AAAA,MAAmzBi8B,KAAG,UAAS9H,CAAT,EAAW;AAAC,WAAO,UAASx0B,CAAT,EAAW20B,CAAX,EAAa;AAAC,UAAIj1B,CAAJ;AAAA,UAAM8B,CAAN;AAAA,UAAQ+N,IAAEnQ,OAAOsK,EAAE1J,CAAF,CAAP,CAAV;AAAA,UAAuB+0B,IAAE4E,GAAGhF,CAAH,CAAzB;AAAA,UAA+Bt0B,IAAEkP,EAAEjQ,MAAnC,CAA0C,OAAOy1B,IAAE,CAAF,IAAKA,KAAG10B,CAAR,GAAUm0B,IAAE,EAAF,GAAK,KAAK,CAApB,IAAuB90B,IAAE6P,EAAE2M,UAAF,CAAa6Y,CAAb,CAAF,EAAkBr1B,IAAE,KAAF,IAASA,IAAE,KAAX,IAAkBq1B,IAAE,CAAF,KAAM10B,CAAxB,IAA2B,CAACmB,IAAE+N,EAAE2M,UAAF,CAAa6Y,IAAE,CAAf,CAAH,IAAsB,KAAjD,IAAwDvzB,IAAE,KAA1D,GAAgEgzB,IAAEjlB,EAAEgtB,MAAF,CAASxH,CAAT,CAAF,GAAcr1B,CAA9E,GAAgF80B,IAAEjlB,EAAED,KAAF,CAAQylB,CAAR,EAAUA,IAAE,CAAZ,CAAF,GAAiBvzB,IAAE,KAAF,IAAS9B,IAAE,KAAF,IAAS,EAAlB,IAAsB,KAAhK,CAAP;AAA8K,KAA7O;AAA8O,GAA1P,CAA2P,CAAC,CAA5P,CAAtzB,CAAqjCy8B,GAAG/8B,MAAH,EAAU,QAAV,EAAmB,UAASo1B,CAAT,EAAW;AAAC,SAAKiG,EAAL,GAAQr7B,OAAOo1B,CAAP,CAAR,EAAkB,KAAKgI,EAAL,GAAQ,CAA1B;AAA4B,GAA3D,EAA4D,YAAU;AAAC,QAAIhI,CAAJ;AAAA,QAAMx0B,IAAE,KAAKy6B,EAAb;AAAA,QAAgB9F,IAAE,KAAK6H,EAAvB,CAA0B,OAAO7H,KAAG30B,EAAEV,MAAL,GAAY,EAACR,OAAM,KAAK,CAAZ,EAAc29B,MAAK,CAAC,CAApB,EAAZ,IAAoCjI,IAAE8H,GAAGt8B,CAAH,EAAK20B,CAAL,CAAF,EAAU,KAAK6H,EAAL,IAAShI,EAAEl1B,MAArB,EAA4B,EAACR,OAAM01B,CAAP,EAASiI,MAAK,CAAC,CAAf,EAAhE,CAAP;AAA0F,GAA3L,EAA6L,IAAIC,KAAG,UAASlI,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAM,EAAClB,OAAMkB,CAAP,EAASy8B,MAAK,CAAC,CAACjI,CAAhB,EAAN;AAAyB,GAA9C,CAA+C2H,GAAG57B,KAAH,EAAS,OAAT,EAAiB,UAASi0B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,SAAKy6B,EAAL,GAAQP,GAAG1F,CAAH,CAAR,EAAc,KAAKgI,EAAL,GAAQ,CAAtB,EAAwB,KAAKG,EAAL,GAAQ38B,CAAhC;AAAkC,GAAjE,EAAkE,YAAU;AAAC,QAAIw0B,IAAE,KAAKiG,EAAX;AAAA,QAAcz6B,IAAE,KAAK28B,EAArB;AAAA,QAAwBhI,IAAE,KAAK6H,EAAL,EAA1B,CAAoC,OAAM,CAAChI,CAAD,IAAIG,KAAGH,EAAEl1B,MAAT,IAAiB,KAAKm7B,EAAL,GAAQ,KAAK,CAAb,EAAeiC,GAAG,CAAH,CAAhC,IAAuC,UAAQ18B,CAAR,GAAU08B,GAAG,CAAH,EAAK/H,CAAL,CAAV,GAAkB,YAAU30B,CAAV,GAAY08B,GAAG,CAAH,EAAKlI,EAAEG,CAAF,CAAL,CAAZ,GAAuB+H,GAAG,CAAH,EAAK,CAAC/H,CAAD,EAAGH,EAAEG,CAAF,CAAH,CAAL,CAAtF;AAAqG,GAAtN,EAAuN,QAAvN,EAAiOkF,GAAG+C,SAAH,GAAa/C,GAAGt5B,KAAhB,CAAsB,KAAI,IAAIs8B,KAAGtB,GAAG,aAAH,CAAP,EAAyBuB,KAAG,wbAAwb7hB,KAAxb,CAA8b,GAA9b,CAA5B,EAA+d8hB,KAAG,CAAte,EAAweA,KAAGD,GAAGx9B,MAA9e,EAAqfy9B,IAArf,EAA0f;AAAC,QAAIC,KAAGF,GAAGC,EAAH,CAAP;AAAA,QAAcE,KAAG7F,EAAE4F,EAAF,CAAjB;AAAA,QAAuBE,KAAGD,MAAIA,GAAGjvB,SAAjC,CAA2CkvB,MAAI,CAACA,GAAGL,EAAH,CAAL,IAAa9D,EAAEmE,EAAF,EAAKL,EAAL,EAAQG,EAAR,CAAb,EAAyBnD,GAAGmD,EAAH,IAAOnD,GAAGt5B,KAAnC;AAAyC,OAAI48B,KAAG,EAAC9f,GAAEke,EAAH,EAAP;AAAA,MAAc6B,KAAGD,GAAG9f,CAAH,CAAK,UAAL,CAAjB;AAAA,MAAkCggB,KAAGr9B,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ0I,EAAT,EAAY3I,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAArC,CAA0FD,EAAE6I,EAAF,EAAM,IAAIC,KAAGt9B,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAE03B,EAAE,MAAF,CAAN;AAAA,QAAgB/C,IAAEkE,EAAExb,CAApB;AAAA,QAAsB3d,IAAE,CAAxB;AAAA,QAA0B8B,IAAE5C,OAAO2+B,YAAP,IAAqB,YAAU;AAAC,aAAM,CAAC,CAAP;AAAS,KAArE;AAAA,QAAsEhuB,IAAE,CAAC6oB,EAAE,YAAU;AAAC,aAAO52B,EAAE5C,OAAO4+B,iBAAP,CAAyB,EAAzB,CAAF,CAAP;AAAuC,KAApD,CAAzE;AAAA,QAA+HzI,IAAE,UAASP,CAAT,EAAW;AAACG,QAAEH,CAAF,EAAIx0B,CAAJ,EAAM,EAAClB,OAAM,EAAC0C,GAAE,MAAK,EAAE9B,CAAV,EAAYqB,GAAE,EAAd,EAAP,EAAN;AAAiC,KAA9K;AAAA,QAA+KV,IAAE,UAASm0B,CAAT,EAAWG,CAAX,EAAa;AAAC,UAAG,CAACuD,EAAE1D,CAAF,CAAJ,EAAS,OAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAnB,GAAqB,CAAC,YAAU,OAAOA,CAAjB,GAAmB,GAAnB,GAAuB,GAAxB,IAA6BA,CAAxD,CAA0D,IAAG,CAACyC,EAAEzC,CAAF,EAAIx0B,CAAJ,CAAJ,EAAW;AAAC,YAAG,CAACwB,EAAEgzB,CAAF,CAAJ,EAAS,OAAM,GAAN,CAAU,IAAG,CAACG,CAAJ,EAAM,OAAM,GAAN,CAAUI,EAAEP,CAAF;AAAK,cAAOA,EAAEx0B,CAAF,EAAKwB,CAAZ;AAAc,KAApU;AAAA,QAAqU6zB,IAAE,UAASb,CAAT,EAAWG,CAAX,EAAa;AAAC,UAAG,CAACsC,EAAEzC,CAAF,EAAIx0B,CAAJ,CAAJ,EAAW;AAAC,YAAG,CAACwB,EAAEgzB,CAAF,CAAJ,EAAS,OAAM,CAAC,CAAP,CAAS,IAAG,CAACG,CAAJ,EAAM,OAAM,CAAC,CAAP,CAASI,EAAEP,CAAF;AAAK,cAAOA,EAAEx0B,CAAF,EAAKe,CAAZ;AAAc,KAArZ;AAAA,QAAsZ+O,IAAE,UAAS0kB,CAAT,EAAW;AAAC,aAAOjlB,KAAGH,EAAEquB,IAAL,IAAWj8B,EAAEgzB,CAAF,CAAX,IAAiB,CAACyC,EAAEzC,CAAF,EAAIx0B,CAAJ,CAAlB,IAA0B+0B,EAAEP,CAAF,CAA1B,EAA+BA,CAAtC;AAAwC,KAA5c;AAAA,QAA6cplB,IAAEolB,EAAErxB,OAAF,GAAU,EAACu6B,KAAI19B,CAAL,EAAOy9B,MAAK,CAAC,CAAb,EAAeE,SAAQt9B,CAAvB,EAAyBu9B,SAAQvI,CAAjC,EAAmCwI,UAAS/tB,CAA5C,EAAzd;AAAwgB,GAAthB,CAAP;AAAA,MAA+hBguB,MAAIR,GAAGI,GAAH,EAAOJ,GAAGG,IAAV,EAAeH,GAAGK,OAAlB,EAA0BL,GAAGM,OAA7B,EAAqCN,GAAGO,QAAxC,EAAiDhF,EAAExb,CAAvD,CAA/hB;AAAA,MAAylB0gB,KAAG,UAASvJ,CAAT,EAAW;AAAC,QAAIx0B,IAAEk3B,EAAEsE,MAAF,KAAWtE,EAAEsE,MAAF,GAAS,EAApB,CAAN,CAA8B,OAAKhH,EAAE+H,MAAF,CAAS,CAAT,CAAL,IAAkB/H,KAAKx0B,CAAvB,IAA0B89B,GAAG99B,CAAH,EAAKw0B,CAAL,EAAO,EAAC11B,OAAMq+B,GAAG9f,CAAH,CAAKmX,CAAL,CAAP,EAAP,CAA1B;AAAkD,GAAxrB;AAAA,MAAyrBwJ,KAAG,EAAC3gB,GAAEze,OAAOq/B,qBAAV,EAA5rB;AAAA,MAA6tBC,KAAG,EAAC7gB,GAAE,GAAG4c,oBAAN,EAAhuB;AAAA,MAA4vBkE,KAAG,UAAS3J,CAAT,EAAW;AAAC,QAAIx0B,IAAE46B,GAAGpG,CAAH,CAAN;AAAA,QAAYG,IAAEqJ,GAAG3gB,CAAjB,CAAmB,IAAGsX,CAAH,EAAK,KAAI,IAAIj1B,CAAJ,EAAM8B,IAAEmzB,EAAEH,CAAF,CAAR,EAAajlB,IAAE2uB,GAAG7gB,CAAlB,EAAoB0X,IAAE,CAA1B,EAA4BvzB,EAAElC,MAAF,GAASy1B,CAArC,GAAwCxlB,EAAEtB,IAAF,CAAOumB,CAAP,EAAS90B,IAAE8B,EAAEuzB,GAAF,CAAX,KAAoB/0B,EAAE+D,IAAF,CAAOrE,CAAP,CAApB,CAA8B,OAAOM,CAAP;AAAS,GAAl3B;AAAA,MAAm3Bo+B,KAAG79B,MAAM89B,OAAN,IAAe,UAAS7J,CAAT,EAAW;AAAC,WAAM,WAASuF,GAAGvF,CAAH,CAAf;AAAqB,GAAt6B;AAAA,MAAu6B9tB,KAAGi0B,GAAGn2B,MAAH,CAAU,QAAV,EAAmB,WAAnB,CAA16B;AAAA,MAA08B85B,KAAG,EAACjhB,GAAEze,OAAO2/B,mBAAP,IAA4B,UAAS/J,CAAT,EAAW;AAAC,aAAOkG,GAAGlG,CAAH,EAAK9tB,EAAL,CAAP;AAAgB,KAA3D,EAA78B;AAAA,MAA0gC83B,KAAGF,GAAGjhB,CAAhhC;AAAA,MAAkhCohB,KAAG,GAAGn7B,QAAxhC;AAAA,MAAiiCo7B,KAAG,YAAU,OAAO/+B,MAAjB,IAAyBA,MAAzB,IAAiCf,OAAO2/B,mBAAxC,GAA4D3/B,OAAO2/B,mBAAP,CAA2B5+B,MAA3B,CAA5D,GAA+F,EAAnoC;AAAA,MAAsoCg/B,KAAG,UAASnK,CAAT,EAAW;AAAC,QAAG;AAAC,aAAOgK,GAAGhK,CAAH,CAAP;AAAa,KAAjB,CAAiB,OAAMA,CAAN,EAAQ;AAAC,aAAOkK,GAAGpvB,KAAH,EAAP;AAAkB;AAAC,GAAlsC;AAAA,MAAmsCsvB,KAAG,EAACvhB,GAAE,UAASmX,CAAT,EAAW;AAAC,aAAOkK,MAAI,qBAAmBD,GAAGxwB,IAAH,CAAQumB,CAAR,CAAvB,GAAkCmK,GAAGnK,CAAH,CAAlC,GAAwCgK,GAAGtE,GAAG1F,CAAH,CAAH,CAA/C;AAAyD,KAAxE,EAAtsC;AAAA,MAAgxCqK,KAAGjgC,OAAOkgC,wBAA1xC;AAAA,MAAmzCC,KAAG,EAAC1hB,GAAEgb,IAAEwG,EAAF,GAAK,UAASrK,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAGw0B,IAAE0F,GAAG1F,CAAH,CAAF,EAAQx0B,IAAE04B,EAAE14B,CAAF,EAAI,CAAC,CAAL,CAAV,EAAkBy4B,CAArB,EAAuB,IAAG;AAAC,eAAOoG,GAAGrK,CAAH,EAAKx0B,CAAL,CAAP;AAAe,OAAnB,CAAmB,OAAMw0B,CAAN,EAAQ,CAAE,KAAGyC,EAAEzC,CAAF,EAAIx0B,CAAJ,CAAH,EAAU,OAAO84B,EAAE,CAACoF,GAAG7gB,CAAH,CAAKpP,IAAL,CAAUumB,CAAV,EAAYx0B,CAAZ,CAAH,EAAkBw0B,EAAEx0B,CAAF,CAAlB,CAAP;AAA+B,KAAnH,EAAtzC;AAAA,MAA26Cg/B,KAAG1B,GAAGI,GAAj7C;AAAA,MAAq7CuB,KAAGF,GAAG1hB,CAA37C;AAAA,MAA67C6hB,KAAGrG,EAAExb,CAAl8C;AAAA,MAAo8C8hB,KAAGP,GAAGvhB,CAA18C;AAAA,MAA48C+hB,KAAGhI,EAAEoE,MAAj9C;AAAA,MAAw9C6D,KAAGjI,EAAEvyB,IAA79C;AAAA,MAAk+Cy6B,KAAGD,MAAIA,GAAGv6B,SAA5+C;AAAA,MAAs/Cy6B,KAAGhE,GAAG,SAAH,CAAz/C;AAAA,MAAugDiE,KAAGjE,GAAG,aAAH,CAA1gD;AAAA,MAA4hDkE,KAAG,GAAGxF,oBAAliD;AAAA,MAAujDyF,KAAGpI,EAAE,iBAAF,CAA1jD;AAAA,MAA+kDqI,KAAGrI,EAAE,SAAF,CAAllD;AAAA,MAA+lDsI,KAAGtI,EAAE,YAAF,CAAlmD;AAAA,MAAknDuI,KAAGjhC,OAAOoP,SAA5nD;AAAA,MAAsoD8xB,KAAG,cAAY,OAAOV,EAAnB,IAAuB,CAAC,CAACpB,GAAG3gB,CAArqD;AAAA,MAAuqD0iB,KAAG3I,EAAE4I,OAA5qD;AAAA,MAAorDC,KAAG,CAACF,EAAD,IAAK,CAACA,GAAG/xB,SAAT,IAAoB,CAAC+xB,GAAG/xB,SAAH,CAAakyB,SAAztD;AAAA,MAAmuDC,KAAG9H,KAAGD,EAAE,YAAU;AAAC,WAAO,KAAGkD,GAAG4D,GAAG,EAAH,EAAM,GAAN,EAAU,EAAC14B,KAAI,YAAU;AAAC,eAAO04B,GAAG,IAAH,EAAQ,GAAR,EAAY,EAACpgC,OAAM,CAAP,EAAZ,EAAuBuB,CAA9B;AAAgC,OAAhD,EAAV,CAAH,EAAiEA,CAA3E;AAA6E,GAA1F,CAAH,GAA+F,UAASm0B,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,QAAIj1B,IAAEu/B,GAAGY,EAAH,EAAM7/B,CAAN,CAAN,CAAeN,KAAG,OAAOmgC,GAAG7/B,CAAH,CAAV,EAAgBk/B,GAAG1K,CAAH,EAAKx0B,CAAL,EAAO20B,CAAP,CAAhB,EAA0Bj1B,KAAG80B,MAAIqL,EAAP,IAAWX,GAAGW,EAAH,EAAM7/B,CAAN,EAAQN,CAAR,CAArC;AAAgD,GAA9K,GAA+Kw/B,EAAr5D;AAAA,MAAw5DkB,KAAG,UAAS5L,CAAT,EAAW;AAAC,QAAIx0B,IAAE2/B,GAAGnL,CAAH,IAAM8G,GAAG8D,GAAGpxB,SAAN,CAAZ,CAA6B,OAAOhO,EAAE28B,EAAF,GAAKnI,CAAL,EAAOx0B,CAAd;AAAgB,GAAp9D;AAAA,MAAq9DqgC,KAAGP,MAAI,YAAU,OAAOV,GAAGkB,QAAxB,GAAiC,UAAS9L,CAAT,EAAW;AAAC,WAAM,YAAU,OAAOA,CAAvB;AAAyB,GAAtE,GAAuE,UAASA,CAAT,EAAW;AAAC,WAAOA,aAAa4K,EAApB;AAAuB,GAAlkE;AAAA,MAAmkEmB,KAAG,UAAS/L,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,WAAOH,MAAIqL,EAAJ,IAAQU,GAAGX,EAAH,EAAM5/B,CAAN,EAAQ20B,CAAR,CAAR,EAAmBwD,EAAE3D,CAAF,CAAnB,EAAwBx0B,IAAE04B,EAAE14B,CAAF,EAAI,CAAC,CAAL,CAA1B,EAAkCm4B,EAAExD,CAAF,CAAlC,EAAuCsC,EAAE0I,EAAF,EAAK3/B,CAAL,KAAS20B,EAAEpmB,UAAF,IAAc0oB,EAAEzC,CAAF,EAAI+K,EAAJ,KAAS/K,EAAE+K,EAAF,EAAMv/B,CAAN,CAAT,KAAoBw0B,EAAE+K,EAAF,EAAMv/B,CAAN,IAAS,CAAC,CAA9B,GAAiC20B,IAAE2G,GAAG3G,CAAH,EAAK,EAACpmB,YAAWuqB,EAAE,CAAF,EAAI,CAAC,CAAL,CAAZ,EAAL,CAAjD,KAA8E7B,EAAEzC,CAAF,EAAI+K,EAAJ,KAASL,GAAG1K,CAAH,EAAK+K,EAAL,EAAQzG,EAAE,CAAF,EAAI,EAAJ,CAAR,CAAT,EAA0BtE,EAAE+K,EAAF,EAAMv/B,CAAN,IAAS,CAAC,CAAlH,GAAqHmgC,GAAG3L,CAAH,EAAKx0B,CAAL,EAAO20B,CAAP,CAA9H,IAAyIuK,GAAG1K,CAAH,EAAKx0B,CAAL,EAAO20B,CAAP,CAAvL;AAAiM,GAAvxE;AAAA,MAAwxE6L,KAAG,UAAShM,CAAT,EAAWx0B,CAAX,EAAa;AAACm4B,MAAE3D,CAAF,EAAK,KAAI,IAAIG,CAAJ,EAAMj1B,IAAEy+B,GAAGn+B,IAAEk6B,GAAGl6B,CAAH,CAAL,CAAR,EAAoBwB,IAAE,CAAtB,EAAwB+N,IAAE7P,EAAEJ,MAAhC,EAAuCiQ,IAAE/N,CAAzC,GAA4C++B,GAAG/L,CAAH,EAAKG,IAAEj1B,EAAE8B,GAAF,CAAP,EAAcxB,EAAE20B,CAAF,CAAd,EAAoB,OAAOH,CAAP;AAAS,GAAv3E;AAAA,MAAw3EiM,KAAG,UAASjM,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,GAAWs7B,GAAG9G,CAAH,CAAX,GAAiBgM,GAAGlF,GAAG9G,CAAH,CAAH,EAASx0B,CAAT,CAAxB;AAAoC,GAA76E;AAAA,MAA86E0gC,KAAG,UAASlM,CAAT,EAAW;AAAC,QAAIx0B,IAAEy/B,GAAGxxB,IAAH,CAAQ,IAAR,EAAaumB,IAAEkE,EAAElE,CAAF,EAAI,CAAC,CAAL,CAAf,CAAN,CAA8B,OAAM,EAAE,SAAOqL,EAAP,IAAW5I,EAAE0I,EAAF,EAAKnL,CAAL,CAAX,IAAoB,CAACyC,EAAE2I,EAAF,EAAKpL,CAAL,CAAvB,MAAkC,EAAEx0B,KAAG,CAACi3B,EAAE,IAAF,EAAOzC,CAAP,CAAJ,IAAe,CAACyC,EAAE0I,EAAF,EAAKnL,CAAL,CAAhB,IAAyByC,EAAE,IAAF,EAAOsI,EAAP,KAAY,KAAKA,EAAL,EAAS/K,CAAT,CAAvC,KAAqDx0B,CAAvF,CAAN;AAAgG,GAA3jF;AAAA,MAA4jF2gC,KAAG,UAASnM,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAGw0B,IAAE0F,GAAG1F,CAAH,CAAF,EAAQx0B,IAAE04B,EAAE14B,CAAF,EAAI,CAAC,CAAL,CAAV,EAAkBw0B,MAAIqL,EAAJ,IAAQ,CAAC5I,EAAE0I,EAAF,EAAK3/B,CAAL,CAAT,IAAkBi3B,EAAE2I,EAAF,EAAK5/B,CAAL,CAAvC,EAA+C;AAAC,UAAI20B,IAAEsK,GAAGzK,CAAH,EAAKx0B,CAAL,CAAN,CAAc,OAAM,CAAC20B,CAAD,IAAI,CAACsC,EAAE0I,EAAF,EAAK3/B,CAAL,CAAL,IAAci3B,EAAEzC,CAAF,EAAI+K,EAAJ,KAAS/K,EAAE+K,EAAF,EAAMv/B,CAAN,CAAvB,KAAkC20B,EAAEpmB,UAAF,GAAa,CAAC,CAAhD,GAAmDomB,CAAzD;AAA2D;AAAC,GAAvsF;AAAA,MAAwsFiM,KAAG,UAASpM,CAAT,EAAW;AAAC,SAAI,IAAIx0B,CAAJ,EAAM20B,IAAEwK,GAAGjF,GAAG1F,CAAH,CAAH,CAAR,EAAkB90B,IAAE,EAApB,EAAuB8B,IAAE,CAA7B,EAA+BmzB,EAAEr1B,MAAF,GAASkC,CAAxC,GAA2Cy1B,EAAE0I,EAAF,EAAK3/B,IAAE20B,EAAEnzB,GAAF,CAAP,KAAgBxB,KAAGu/B,EAAnB,IAAuBv/B,KAAGg/B,EAA1B,IAA8Bt/B,EAAEqE,IAAF,CAAO/D,CAAP,CAA9B,CAAwC,OAAON,CAAP;AAAS,GAAnzF;AAAA,MAAozFmhC,KAAG,UAASrM,CAAT,EAAW;AAAC,SAAI,IAAIx0B,CAAJ,EAAM20B,IAAEH,MAAIqL,EAAZ,EAAengC,IAAEy/B,GAAGxK,IAAEiL,EAAF,GAAK1F,GAAG1F,CAAH,CAAR,CAAjB,EAAgChzB,IAAE,EAAlC,EAAqC+N,IAAE,CAA3C,EAA6C7P,EAAEJ,MAAF,GAASiQ,CAAtD,GAAyD,CAAC0nB,EAAE0I,EAAF,EAAK3/B,IAAEN,EAAE6P,GAAF,CAAP,CAAD,IAAiBolB,KAAG,CAACsC,EAAE4I,EAAF,EAAK7/B,CAAL,CAArB,IAA8BwB,EAAEuC,IAAF,CAAO47B,GAAG3/B,CAAH,CAAP,CAA9B,CAA4C,OAAOwB,CAAP;AAAS,GAAj7F,CAAk7Fs+B,OAAKlG,GAAG,CAACwF,KAAG,YAAU;AAAC,QAAG,gBAAgBA,EAAnB,EAAsB,MAAMluB,UAAU,8BAAV,CAAN,CAAgD,IAAIsjB,IAAEkD,EAAErxB,UAAU/G,MAAV,GAAiB,CAAjB,GAAmB+G,UAAU,CAAV,CAAnB,GAAgC,KAAK,CAAvC,CAAN;AAAA,QAAgDrG,IAAE,UAAS20B,CAAT,EAAW;AAAC,eAAOkL,EAAP,IAAW7/B,EAAEiO,IAAF,CAAO2xB,EAAP,EAAUjL,CAAV,CAAX,EAAwBsC,EAAE,IAAF,EAAOsI,EAAP,KAAYtI,EAAE,KAAKsI,EAAL,CAAF,EAAW/K,CAAX,CAAZ,KAA4B,KAAK+K,EAAL,EAAS/K,CAAT,IAAY,CAAC,CAAzC,CAAxB,EAAoE2L,GAAG,IAAH,EAAQ3L,CAAR,EAAUsE,EAAE,CAAF,EAAInE,CAAJ,CAAV,CAApE;AAAsF,KAApJ,CAAqJ,OAAO0D,KAAG4H,EAAH,IAAOE,GAAGN,EAAH,EAAMrL,CAAN,EAAQ,EAAClmB,cAAa,CAAC,CAAf,EAAiBxC,KAAI9L,CAArB,EAAR,CAAP,EAAwCogC,GAAG5L,CAAH,CAA/C;AAAqD,GAA/R,EAAiSxmB,SAApS,EAA8S,UAA9S,EAAyT,YAAU;AAAC,WAAO,KAAK2uB,EAAZ;AAAe,GAAnV,GAAqVoC,GAAG1hB,CAAH,GAAKsjB,EAA1V,EAA6V9H,EAAExb,CAAF,GAAIkjB,EAAjW,EAAoWjC,GAAGjhB,CAAH,GAAKuhB,GAAGvhB,CAAH,GAAKujB,EAA9W,EAAiX1C,GAAG7gB,CAAH,GAAKqjB,EAAtX,EAAyX1C,GAAG3gB,CAAH,GAAKwjB,EAA9X,EAAiY1D,GAAG9f,CAAH,GAAK,UAASmX,CAAT,EAAW;AAAC,WAAO4L,GAAG7E,GAAG/G,CAAH,CAAH,CAAP;AAAiB,GAAxa,GAA0a0E,EAAEA,EAAEX,CAAF,GAAIW,EAAEZ,CAAN,GAAQY,EAAErE,CAAF,GAAI,CAACiL,EAAf,EAAkB,EAACtE,QAAO4D,EAAR,EAAlB,CAA1a,CAAyc,KAAI,IAAI0B,KAAG,iHAAiH7lB,KAAjH,CAAuH,GAAvH,CAAP,EAAmI8lB,KAAG,CAA1I,EAA4ID,GAAGxhC,MAAH,GAAUyhC,EAAtJ,GAA0JxF,GAAGuF,GAAGC,IAAH,CAAH,EAAa,KAAI,IAAIC,KAAGpG,GAAGW,GAAGE,KAAN,CAAP,EAAoBwF,KAAG,CAA3B,EAA6BD,GAAG1hC,MAAH,GAAU2hC,EAAvC,GAA2ClD,GAAGiD,GAAGC,IAAH,CAAH,EAAa/H,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAI,CAACiL,EAAX,EAAc,QAAd,EAAuB,EAACoB,KAAI,UAAS1M,CAAT,EAAW;AAAC,aAAOyC,EAAEyI,EAAF,EAAKlL,KAAG,EAAR,IAAYkL,GAAGlL,CAAH,CAAZ,GAAkBkL,GAAGlL,CAAH,IAAM4K,GAAG5K,CAAH,CAA/B;AAAqC,KAAtD,EAAuD2M,QAAO,UAAS3M,CAAT,EAAW;AAAC,UAAG,CAAC6L,GAAG7L,CAAH,CAAJ,EAAU,MAAMtjB,UAAUsjB,IAAE,mBAAZ,CAAN,CAAuC,KAAI,IAAIx0B,CAAR,IAAa0/B,EAAb,EAAgB,IAAGA,GAAG1/B,CAAH,MAAQw0B,CAAX,EAAa,OAAOx0B,CAAP;AAAS,KAAjK,EAAkKohC,WAAU,YAAU;AAACnB,WAAG,CAAC,CAAJ;AAAM,KAA7L,EAA8LoB,WAAU,YAAU;AAACpB,WAAG,CAAC,CAAJ;AAAM,KAAzN,EAAvB,GAAmP/G,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAI,CAACiL,EAAX,EAAc,QAAd,EAAuB,EAAC5xB,QAAOuyB,EAAR,EAAWtyB,gBAAeoyB,EAA1B,EAA6BnyB,kBAAiBoyB,EAA9C,EAAiD1B,0BAAyB6B,EAA1E,EAA6EpC,qBAAoBqC,EAAjG,EAAoG3C,uBAAsB4C,EAA1H,EAAvB,CAAnP,CAAyY,IAAIS,KAAGlJ,EAAE,YAAU;AAAC4F,OAAG3gB,CAAH,CAAK,CAAL;AAAQ,GAArB,CAAP,CAA8B6b,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAIyM,EAAV,EAAa,QAAb,EAAsB,EAACrD,uBAAsB,UAASzJ,CAAT,EAAW;AAAC,aAAOwJ,GAAG3gB,CAAH,CAAKtc,EAAEyzB,CAAF,CAAL,CAAP;AAAkB,KAArD,EAAtB,GAA8E6K,MAAInG,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,IAAK,CAACiL,EAAD,IAAK1H,EAAE,YAAU;AAAC,QAAI5D,IAAE4K,IAAN,CAAW,OAAM,YAAUE,GAAG,CAAC9K,CAAD,CAAH,CAAV,IAAmB,QAAM8K,GAAG,EAACj/B,GAAEm0B,CAAH,EAAH,CAAzB,IAAoC,QAAM8K,GAAG1gC,OAAO41B,CAAP,CAAH,CAAhD;AAA8D,GAAtF,CAAV,CAAN,EAAyG,MAAzG,EAAgH,EAAC1vB,WAAU,UAAS0vB,CAAT,EAAW;AAAC,WAAI,IAAIx0B,CAAJ,EAAM20B,CAAN,EAAQj1B,IAAE,CAAC80B,CAAD,CAAV,EAAchzB,IAAE,CAApB,EAAsB6E,UAAU/G,MAAV,GAAiBkC,CAAvC,GAA0C9B,EAAEqE,IAAF,CAAOsC,UAAU7E,GAAV,CAAP,EAAuB,IAAGmzB,IAAE30B,IAAEN,EAAE,CAAF,CAAJ,EAAS,CAACw4B,EAAEl4B,CAAF,KAAM,KAAK,CAAL,KAASw0B,CAAhB,KAAoB,CAAC6L,GAAG7L,CAAH,CAAjC,EAAuC,OAAO4J,GAAGp+B,CAAH,MAAQA,IAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAO20B,CAAnB,KAAuB30B,IAAE20B,EAAE1mB,IAAF,CAAO,IAAP,EAAYumB,CAAZ,EAAcx0B,CAAd,CAAzB,GAA2C,CAACqgC,GAAGrgC,CAAH,CAA/C,EAAqD,OAAOA,CAAP;AAAS,OAAtF,GAAwFN,EAAE,CAAF,IAAKM,CAA7F,EAA+Fs/B,GAAGxxB,KAAH,CAASuxB,EAAT,EAAY3/B,CAAZ,CAAtG;AAAqH,KAApP,EAAhH,CAAlF,EAAyb0/B,GAAGpxB,SAAH,CAAawxB,EAAb,KAAkBzG,EAAEqG,GAAGpxB,SAAL,EAAewxB,EAAf,EAAkBJ,GAAGpxB,SAAH,CAAa2qB,OAA/B,CAA3c,EAAmfiD,GAAGwD,EAAH,EAAM,QAAN,CAAnf,EAAmgBxD,GAAGp8B,IAAH,EAAQ,MAAR,EAAe,CAAC,CAAhB,CAAngB,EAAshBo8B,GAAGxE,EAAEvyB,IAAL,EAAU,MAAV,EAAiB,CAAC,CAAlB,CAAthB,EAA2iBk5B,GAAG,eAAH,CAA3iB,EAA+jBA,GAAG,YAAH,CAA/jB,CAAglB,IAAIwD,KAAGrK,EAAEsE,MAAT;AAAA,MAAgBgG,KAAGxhC,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ6M,EAAT,EAAY9M,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAnB,CAAwED,EAAEgN,EAAF,EAAM,IAAIC,KAAGzhC,EAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,aAAS20B,CAAT,CAAWH,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEC,UAAL,GAAgBD,CAAhB,GAAkB,EAACE,SAAQF,CAAT,EAAzB;AAAqC,OAAEC,UAAF,GAAa,CAAC,CAAd,CAAgB,IAAI/0B,IAAEi1B,EAAE0I,EAAF,CAAN;AAAA,QAAY77B,IAAEmzB,EAAE6M,EAAF,CAAd;AAAA,QAAoBjyB,IAAE,cAAY,OAAO/N,EAAEkzB,OAArB,IAA8B,YAAU,OAAOh1B,EAAEg1B,OAAjD,GAAyD,UAASF,CAAT,EAAW;AAAC,aAAO,OAAOA,CAAd;AAAgB,KAArF,GAAsF,UAASA,CAAT,EAAW;AAAC,aAAOA,KAAG,cAAY,OAAOhzB,EAAEkzB,OAAxB,IAAiCF,EAAE/jB,WAAF,KAAgBjP,EAAEkzB,OAAnD,IAA4DF,MAAIhzB,EAAEkzB,OAAF,CAAU1mB,SAA1E,GAAoF,QAApF,GAA6F,OAAOwmB,CAA3G;AAA6G,KAArO,CAAsOx0B,EAAE00B,OAAF,GAAU,cAAY,OAAOlzB,EAAEkzB,OAArB,IAA8B,aAAWnlB,EAAE7P,EAAEg1B,OAAJ,CAAzC,GAAsD,UAASF,CAAT,EAAW;AAAC,aAAO,KAAK,CAAL,KAASA,CAAT,GAAW,WAAX,GAAuBjlB,EAAEilB,CAAF,CAA9B;AAAmC,KAArG,GAAsG,UAASA,CAAT,EAAW;AAAC,aAAOA,KAAG,cAAY,OAAOhzB,EAAEkzB,OAAxB,IAAiCF,EAAE/jB,WAAF,KAAgBjP,EAAEkzB,OAAnD,IAA4DF,MAAIhzB,EAAEkzB,OAAF,CAAU1mB,SAA1E,GAAoF,QAApF,GAA6F,KAAK,CAAL,KAASwmB,CAAT,GAAW,WAAX,GAAuBjlB,EAAEilB,CAAF,CAA3H;AAAgI,KAA5P;AAA6P,GAAtjB,CAAP;AAAA,MAA+jBS,KAAGT,EAAEiN,EAAF,CAAlkB;AAAA,MAAwkBC,KAAGlN,EAAEx0B,EAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAACA,MAAEy0B,UAAF,GAAa,CAAC,CAAd,CAAgB,IAAIE,IAAE,UAASH,CAAT,EAAW;AAAC,aAAOA,KAAGA,EAAEC,UAAL,GAAgBD,CAAhB,GAAkB,EAACE,SAAQF,CAAT,EAAzB;AAAqC,KAAjD,CAAkDiN,EAAlD,CAAN,CAA4DzhC,EAAE00B,OAAF,GAAU,UAASF,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAG,CAACw0B,CAAJ,EAAM,MAAM,IAAImN,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAAC3hC,CAAD,IAAI,cAAY,KAAK,CAAL,KAASA,CAAT,GAAW,WAAX,GAAuB,CAAC,GAAE20B,EAAED,OAAL,EAAc10B,CAAd,CAAnC,KAAsD,cAAY,OAAOA,CAA7E,GAA+Ew0B,CAA/E,GAAiFx0B,CAAvF;AAAyF,KAA7M;AAA8M,GAA1S,CAAF,CAA3kB,CAA03Bk5B,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAI,CAACwD,CAAX,EAAa,QAAb,EAAsB,EAAClqB,gBAAe0qB,EAAExb,CAAlB,EAAtB,EAA4C,IAAIukB,KAAG1K,EAAEt4B,MAAT;AAAA,MAAgBijC,KAAG,UAASrN,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,WAAOiN,GAAGzzB,cAAH,CAAkBqmB,CAAlB,EAAoBx0B,CAApB,EAAsB20B,CAAtB,CAAP;AAAgC,GAAnE;AAAA,MAAoEmN,KAAG9hC,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQmN,EAAT,EAAYpN,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAvE,CAA4HD,EAAEsN,EAAF,EAAM,IAAIC,KAAGvN,EAAEx0B,EAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAACA,MAAEy0B,UAAF,GAAa,CAAC,CAAd,CAAgB,IAAIE,IAAE,UAASH,CAAT,EAAW;AAAC,aAAOA,KAAGA,EAAEC,UAAL,GAAgBD,CAAhB,GAAkB,EAACE,SAAQF,CAAT,EAAzB;AAAqC,KAAjD,CAAkDsN,EAAlD,CAAN,CAA4D9hC,EAAE00B,OAAF,GAAU,YAAU;AAAC,eAASF,CAAT,CAAWA,CAAX,EAAax0B,CAAb,EAAe;AAAC,aAAI,IAAIN,IAAE,CAAV,EAAYA,IAAEM,EAAEV,MAAhB,EAAuBI,GAAvB,EAA2B;AAAC,cAAI8B,IAAExB,EAAEN,CAAF,CAAN,CAAW8B,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E,CAAC,GAAEmmB,EAAED,OAAL,EAAcF,CAAd,EAAgBhzB,EAAE3C,GAAlB,EAAsB2C,CAAtB,CAA7E;AAAsG;AAAC,cAAO,UAASxB,CAAT,EAAW20B,CAAX,EAAaj1B,CAAb,EAAe;AAAC,eAAOi1B,KAAGH,EAAEx0B,EAAEgO,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBj1B,KAAG80B,EAAEx0B,CAAF,EAAIN,CAAJ,CAAvB,EAA8BM,CAArC;AAAuC,OAA9D;AAA+D,KAAxO,EAAV;AAAqP,GAAjV,CAAF,CAAP;AAAA,MAA6VgiC,KAAG,UAASxN,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAGm4B,EAAE3D,CAAF,GAAK,CAAC0D,EAAEl4B,CAAF,CAAD,IAAO,SAAOA,CAAtB,EAAwB,MAAMkR,UAAUlR,IAAE,2BAAZ,CAAN;AAA+C,GAArb;AAAA,MAAsbsN,KAAG,EAACxB,KAAIlN,OAAOqjC,cAAP,KAAwB,eAAa,EAAb,GAAgB,UAASzN,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,UAAG;AAAC,SAACA,IAAEsD,EAAElqB,SAASE,IAAX,EAAgB8wB,GAAG1hB,CAAH,CAAKze,OAAOoP,SAAZ,EAAsB,WAAtB,EAAmClC,GAAnD,EAAuD,CAAvD,CAAH,EAA8D0oB,CAA9D,EAAgE,EAAhE,GAAoEx0B,IAAE,EAAEw0B,aAAaj0B,KAAf,CAAtE;AAA4F,OAAhG,CAAgG,OAAMi0B,CAAN,EAAQ;AAACx0B,YAAE,CAAC,CAAH;AAAK,cAAO,UAASw0B,CAAT,EAAW90B,CAAX,EAAa;AAAC,eAAOsiC,GAAGxN,CAAH,EAAK90B,CAAL,GAAQM,IAAEw0B,EAAE0N,SAAF,GAAYxiC,CAAd,GAAgBi1B,EAAEH,CAAF,EAAI90B,CAAJ,CAAxB,EAA+B80B,CAAtC;AAAwC,OAA7D;AAA8D,KAA5L,CAA6L,EAA7L,EAAgM,CAAC,CAAjM,CAAhB,GAAoN,KAAK,CAAjP,CAAL,EAAyP2N,OAAMH,EAA/P,EAAzb,CAA4rB9I,EAAEA,EAAEjC,CAAJ,EAAM,QAAN,EAAe,EAACgL,gBAAe30B,GAAGxB,GAAnB,EAAf,EAAwC,IAAIs2B,KAAGlL,EAAEt4B,MAAF,CAASqjC,cAAhB;AAAA,MAA+BI,KAAGriC,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ0N,EAAT,EAAY3N,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAlC,CAAuFD,EAAE6N,EAAF,GAAMnJ,EAAEA,EAAEjC,CAAJ,EAAM,QAAN,EAAe,EAAC/oB,QAAOotB,EAAR,EAAf,CAAN,CAAkC,IAAIt9B,KAAGk5B,EAAEt4B,MAAT;AAAA,MAAgB0jC,KAAG,UAAS9N,CAAT,EAAWx0B,CAAX,EAAa;AAAC,WAAOhC,GAAGkQ,MAAH,CAAUsmB,CAAV,EAAYx0B,CAAZ,CAAP;AAAsB,GAAvD;AAAA,MAAwDuiC,KAAGviC,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ4N,EAAT,EAAY7N,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAA3D,CAAgHD,EAAE+N,EAAF,EAAM,IAAIC,EAAJ;AAAA,MAAOj1B,EAAP;AAAA,MAAUk1B,EAAV;AAAA,MAAazgC,KAAGwyB,EAAEx0B,EAAE,UAASw0B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,aAAS20B,CAAT,CAAWH,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEC,UAAL,GAAgBD,CAAhB,GAAkB,EAACE,SAAQF,CAAT,EAAzB;AAAqC,OAAEC,UAAF,GAAa,CAAC,CAAd,CAAgB,IAAI/0B,IAAEi1B,EAAE0N,EAAF,CAAN;AAAA,QAAY7gC,IAAEmzB,EAAE4N,EAAF,CAAd;AAAA,QAAoBhzB,IAAEolB,EAAE8M,EAAF,CAAtB,CAA4BzhC,EAAE00B,OAAF,GAAU,UAASF,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAIkR,SAAJ,CAAc,8DAA4D,KAAK,CAAL,KAASlR,CAAT,GAAW,WAAX,GAAuB,CAAC,GAAEuP,EAAEmlB,OAAL,EAAc10B,CAAd,CAAnF,CAAd,CAAN,CAA0Hw0B,EAAExmB,SAAF,GAAY,CAAC,GAAExM,EAAEkzB,OAAL,EAAc10B,KAAGA,EAAEgO,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAM01B,CAAP,EAASjmB,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GtO,MAAIN,EAAEg1B,OAAF,GAAU,CAAC,GAAEh1B,EAAEg1B,OAAL,EAAcF,CAAd,EAAgBx0B,CAAhB,CAAV,GAA6Bw0B,EAAE0N,SAAF,GAAYliC,CAA7C,CAA5G;AAA4J,KAAhV;AAAiV,GAAhc,CAAF,CAAhB;AAAA,MAAqd0iC,KAAGnH,GAAG,aAAH,CAAxd;AAAA,MAA0eoH,KAAG,eAAa5I,GAAG,YAAU;AAAC,WAAO1zB,SAAP;AAAiB,GAA5B,EAAH,CAA1f;AAAA,MAA6hBu8B,KAAG,UAASpO,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAG;AAAC,aAAOw0B,EAAEx0B,CAAF,CAAP;AAAY,KAAhB,CAAgB,OAAMw0B,CAAN,EAAQ,CAAE;AAAC,GAAzkB;AAAA,MAA0kBqO,KAAG,UAASrO,CAAT,EAAW;AAAC,QAAIx0B,CAAJ,EAAM20B,CAAN,EAAQj1B,CAAR,CAAU,OAAO,KAAK,CAAL,KAAS80B,CAAT,GAAW,WAAX,GAAuB,SAAOA,CAAP,GAAS,MAAT,GAAgB,YAAU,QAAOG,IAAEiO,GAAG5iC,IAAEpB,OAAO41B,CAAP,CAAL,EAAekO,EAAf,CAAT,CAAV,GAAuC/N,CAAvC,GAAyCgO,KAAG5I,GAAG/5B,CAAH,CAAH,GAAS,aAAWN,IAAEq6B,GAAG/5B,CAAH,CAAb,KAAqB,cAAY,OAAOA,EAAE8iC,MAA1C,GAAiD,WAAjD,GAA6DpjC,CAA7J;AAA+J,GAAlwB;AAAA,MAAmwBqjC,KAAG,UAASvO,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAej1B,CAAf,EAAiB;AAAC,QAAG,EAAE80B,aAAax0B,CAAf,KAAmB,KAAK,CAAL,KAASN,CAAT,IAAYA,KAAK80B,CAAvC,EAAyC,MAAMtjB,UAAUyjB,IAAE,yBAAZ,CAAN,CAA6C,OAAOH,CAAP;AAAS,GAAv3B;AAAA,MAAw3BwO,KAAG,UAASxO,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAej1B,CAAf,EAAiB;AAAC,QAAG;AAAC,aAAOA,IAAEM,EAAEm4B,EAAExD,CAAF,EAAK,CAAL,CAAF,EAAUA,EAAE,CAAF,CAAV,CAAF,GAAkB30B,EAAE20B,CAAF,CAAzB;AAA8B,KAAlC,CAAkC,OAAM30B,CAAN,EAAQ;AAAC,UAAIwB,IAAEgzB,EAAEyO,MAAR,CAAe,MAAM,KAAK,CAAL,KAASzhC,CAAT,IAAY22B,EAAE32B,EAAEyM,IAAF,CAAOumB,CAAP,CAAF,CAAZ,EAAyBx0B,CAA/B;AAAiC;AAAC,GAAz+B;AAAA,MAA0+BkjC,KAAG3H,GAAG,UAAH,CAA7+B;AAAA,MAA4/B4H,KAAG5iC,MAAMyN,SAArgC;AAAA,MAA+gCo1B,KAAG,UAAS5O,CAAT,EAAW;AAAC,WAAO,KAAK,CAAL,KAASA,CAAT,KAAaqF,GAAGt5B,KAAH,KAAWi0B,CAAX,IAAc2O,GAAGD,EAAH,MAAS1O,CAApC,CAAP;AAA8C,GAA5kC;AAAA,MAA6kC6O,KAAG9H,GAAG,UAAH,CAAhlC;AAAA,MAA+lC+H,KAAGpM,EAAEqM,iBAAF,GAAoB,UAAS/O,CAAT,EAAW;AAAC,QAAG,KAAK,CAAL,IAAQA,CAAX,EAAa,OAAOA,EAAE6O,EAAF,KAAO7O,EAAE,YAAF,CAAP,IAAwBqF,GAAGgJ,GAAGrO,CAAH,CAAH,CAA/B;AAAyC,GAAxrC;AAAA,MAAyrCgP,KAAGxjC,EAAE,UAASw0B,CAAT,EAAW;AAAC,QAAIx0B,IAAE,EAAN;AAAA,QAAS20B,IAAE,EAAX;AAAA,QAAcj1B,IAAE80B,EAAErxB,OAAF,GAAU,UAASqxB,CAAT,EAAW90B,CAAX,EAAa8B,CAAb,EAAe+N,CAAf,EAAiBwlB,CAAjB,EAAmB;AAAC,UAAI10B,CAAJ;AAAA,UAAMg1B,CAAN;AAAA,UAAQvlB,CAAR;AAAA,UAAUV,CAAV;AAAA,UAAYiO,IAAE0X,IAAE,YAAU;AAAC,eAAOP,CAAP;AAAS,OAAtB,GAAuB8O,GAAG9O,CAAH,CAArC;AAAA,UAA2CxzB,IAAEi3B,EAAEz2B,CAAF,EAAI+N,CAAJ,EAAM7P,IAAE,CAAF,GAAI,CAAV,CAA7C;AAAA,UAA0DkO,IAAE,CAA5D,CAA8D,IAAG,cAAY,OAAOyP,CAAtB,EAAwB,MAAMnM,UAAUsjB,IAAE,mBAAZ,CAAN,CAAuC,IAAG4O,GAAG/lB,CAAH,CAAH,EAAS;AAAC,aAAIhd,IAAE+5B,GAAG5F,EAAEl1B,MAAL,CAAN,EAAmBe,IAAEuN,CAArB,EAAuBA,GAAvB,EAA2B,IAAG,CAACwB,IAAE1P,IAAEsB,EAAEm3B,EAAE9C,IAAEb,EAAE5mB,CAAF,CAAJ,EAAU,CAAV,CAAF,EAAeynB,EAAE,CAAF,CAAf,CAAF,GAAuBr0B,EAAEwzB,EAAE5mB,CAAF,CAAF,CAA1B,MAAqC5N,CAArC,IAAwCoP,MAAIulB,CAA/C,EAAiD,OAAOvlB,CAAP;AAAS,OAA/F,MAAoG,KAAIU,IAAEuN,EAAEpP,IAAF,CAAOumB,CAAP,CAAN,EAAgB,CAAC,CAACa,IAAEvlB,EAAEisB,IAAF,EAAH,EAAaU,IAA9B,GAAoC,IAAG,CAACrtB,IAAE4zB,GAAGlzB,CAAH,EAAK9O,CAAL,EAAOq0B,EAAEv2B,KAAT,EAAeY,CAAf,CAAH,MAAwBM,CAAxB,IAA2BoP,MAAIulB,CAAlC,EAAoC,OAAOvlB,CAAP;AAAS,KAAhW,CAAiW1P,EAAE+jC,KAAF,GAAQzjC,CAAR,EAAUN,EAAEgkC,MAAF,GAAS/O,CAAnB;AAAqB,GAApY,CAA5rC;AAAA,MAAkkDgP,KAAGpI,GAAG,SAAH,CAArkD;AAAA,MAAmlDqI,KAAG,UAASpP,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAI20B,CAAJ;AAAA,QAAMj1B,IAAEy4B,EAAE3D,CAAF,EAAK/jB,WAAb,CAAyB,OAAO,KAAK,CAAL,KAAS/Q,CAAT,IAAY,KAAK,CAAL,KAASi1B,IAAEwD,EAAEz4B,CAAF,EAAKikC,EAAL,CAAX,CAAZ,GAAiC3jC,CAAjC,GAAmC60B,EAAEF,CAAF,CAA1C;AAA+C,GAA5qD;AAAA,MAA6qDkP,KAAG,UAASrP,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,QAAIj1B,IAAE,KAAK,CAAL,KAASi1B,CAAf,CAAiB,QAAO30B,EAAEV,MAAT,GAAiB,KAAK,CAAL;AAAO,eAAOI,IAAE80B,GAAF,GAAMA,EAAEvmB,IAAF,CAAO0mB,CAAP,CAAb,CAAuB,KAAK,CAAL;AAAO,eAAOj1B,IAAE80B,EAAEx0B,EAAE,CAAF,CAAF,CAAF,GAAUw0B,EAAEvmB,IAAF,CAAO0mB,CAAP,EAAS30B,EAAE,CAAF,CAAT,CAAjB,CAAgC,KAAK,CAAL;AAAO,eAAON,IAAE80B,EAAEx0B,EAAE,CAAF,CAAF,EAAOA,EAAE,CAAF,CAAP,CAAF,GAAew0B,EAAEvmB,IAAF,CAAO0mB,CAAP,EAAS30B,EAAE,CAAF,CAAT,EAAcA,EAAE,CAAF,CAAd,CAAtB,CAA0C,KAAK,CAAL;AAAO,eAAON,IAAE80B,EAAEx0B,EAAE,CAAF,CAAF,EAAOA,EAAE,CAAF,CAAP,EAAYA,EAAE,CAAF,CAAZ,CAAF,GAAoBw0B,EAAEvmB,IAAF,CAAO0mB,CAAP,EAAS30B,EAAE,CAAF,CAAT,EAAcA,EAAE,CAAF,CAAd,EAAmBA,EAAE,CAAF,CAAnB,CAA3B,CAAoD,KAAK,CAAL;AAAO,eAAON,IAAE80B,EAAEx0B,EAAE,CAAF,CAAF,EAAOA,EAAE,CAAF,CAAP,EAAYA,EAAE,CAAF,CAAZ,EAAiBA,EAAE,CAAF,CAAjB,CAAF,GAAyBw0B,EAAEvmB,IAAF,CAAO0mB,CAAP,EAAS30B,EAAE,CAAF,CAAT,EAAcA,EAAE,CAAF,CAAd,EAAmBA,EAAE,CAAF,CAAnB,EAAwBA,EAAE,CAAF,CAAxB,CAAhC,CAAzM,CAAuQ,OAAOw0B,EAAE1mB,KAAF,CAAQ6mB,CAAR,EAAU30B,CAAV,CAAP;AAAoB,GAA5+D;AAAA,MAA6+D8jC,KAAG1M,EAAEjmB,OAAl/D;AAAA,MAA0/D4yB,KAAG3M,EAAE4M,YAA//D;AAAA,MAA4gEC,KAAG7M,EAAE8M,cAAjhE;AAAA,MAAgiEC,KAAG/M,EAAEgN,cAAriE;AAAA,MAAojEC,KAAGjN,EAAEkN,QAAzjE;AAAA,MAAkkEC,KAAG,CAArkE;AAAA,MAAukEC,KAAG,EAA1kE;AAAA,MAA6kEC,KAAG,YAAU;AAAC,QAAIjQ,IAAE,CAAC,IAAP,CAAY,IAAGgQ,GAAGn2B,cAAH,CAAkBmmB,CAAlB,CAAH,EAAwB;AAAC,UAAIx0B,IAAEwkC,GAAGhQ,CAAH,CAAN,CAAY,OAAOgQ,GAAGhQ,CAAH,CAAP,EAAax0B,GAAb;AAAiB;AAAC,GAA9pE;AAAA,MAA+pE0kC,KAAG,UAASlQ,CAAT,EAAW;AAACiQ,OAAGx2B,IAAH,CAAQumB,EAAEzvB,IAAV;AAAgB,GAA9rE,CAA+rEg/B,MAAIE,EAAJ,KAASF,KAAG,UAASvP,CAAT,EAAW;AAAC,SAAI,IAAIx0B,IAAE,EAAN,EAAS20B,IAAE,CAAf,EAAiBtuB,UAAU/G,MAAV,GAAiBq1B,CAAlC,GAAqC30B,EAAE+D,IAAF,CAAOsC,UAAUsuB,GAAV,CAAP,EAAuB,OAAO6P,GAAG,EAAED,EAAL,IAAS,YAAU;AAACV,SAAG,cAAY,OAAOrP,CAAnB,GAAqBA,CAArB,GAAuBzmB,SAASymB,CAAT,CAA1B,EAAsCx0B,CAAtC;AAAyC,KAA7D,EAA8DwiC,GAAG+B,EAAH,CAA9D,EAAqEA,EAA5E;AAA+E,GAA1J,EAA2JN,KAAG,UAASzP,CAAT,EAAW;AAAC,WAAOgQ,GAAGhQ,CAAH,CAAP;AAAa,GAAvL,EAAwL,aAAWuF,GAAG+J,EAAH,CAAX,GAAkBtB,KAAG,UAAShO,CAAT,EAAW;AAACsP,OAAGa,QAAH,CAAY1M,EAAEwM,EAAF,EAAKjQ,CAAL,EAAO,CAAP,CAAZ;AAAuB,GAAxD,GAAyD6P,MAAIA,GAAG3tB,GAAP,GAAW8rB,KAAG,UAAShO,CAAT,EAAW;AAAC6P,OAAG3tB,GAAH,CAAOuhB,EAAEwM,EAAF,EAAKjQ,CAAL,EAAO,CAAP,CAAP;AAAkB,GAA5C,GAA6C2P,MAAI1B,KAAG,CAACl1B,KAAG,IAAI42B,EAAJ,EAAJ,EAAYS,KAAf,EAAqBr3B,GAAGs3B,KAAH,CAASC,SAAT,GAAmBJ,EAAxC,EAA2ClC,KAAGvK,EAAEwK,GAAGsC,WAAL,EAAiBtC,EAAjB,EAAoB,CAApB,CAAlD,IAA0ErL,EAAExI,gBAAF,IAAoB,cAAY,OAAOmW,WAAvC,IAAoD,CAAC3N,EAAE4N,aAAvD,IAAsExC,KAAG,UAAShO,CAAT,EAAW;AAAC4C,MAAE2N,WAAF,CAAcvQ,IAAE,EAAhB,EAAmB,GAAnB;AAAwB,GAAvC,EAAwC4C,EAAExI,gBAAF,CAAmB,SAAnB,EAA6B8V,EAA7B,EAAgC,CAAC,CAAjC,CAA9G,IAAmJlC,KAAG,wBAAuBhK,EAAE,QAAF,CAAvB,GAAmC,UAAShE,CAAT,EAAW;AAACuG,OAAGje,WAAH,CAAe0b,EAAE,QAAF,CAAf,EAA4ByM,kBAA5B,GAA+C,YAAU;AAAClK,SAAG/d,WAAH,CAAe,IAAf,GAAqBynB,GAAGx2B,IAAH,CAAQumB,CAAR,CAArB;AAAgC,KAA1F;AAA2F,GAA1I,GAA2I,UAASA,CAAT,EAAW;AAACxrB,eAAWivB,EAAEwM,EAAF,EAAKjQ,CAAL,EAAO,CAAP,CAAX,EAAqB,CAArB;AAAwB,GAAtrB,EAAwrB,IAAI0Q,KAAG,EAACp5B,KAAIi4B,EAAL,EAAQoB,OAAMlB,EAAd,EAAP;AAAA,MAAyBmB,KAAGF,GAAGp5B,GAA/B;AAAA,MAAmCu5B,KAAGjO,EAAEkO,gBAAF,IAAoBlO,EAAEmO,sBAA5D;AAAA,MAAmFC,KAAGpO,EAAEjmB,OAAxF;AAAA,MAAgGs0B,KAAGrO,EAAEsO,OAArG;AAAA,MAA6GC,KAAG,aAAW5L,GAAGyL,EAAH,CAA3H;AAAA,MAAkII,KAAG,EAACvoB,GAAE,UAASmX,CAAT,EAAW;AAAC,aAAO,IAAIG,CAAJ,CAAMH,CAAN,CAAP;AAAgB,KAA/B,EAArI;AAAA,MAAsKqR,KAAG,UAASrR,CAAT,EAAW;AAAC,QAAG;AAAC,aAAM,EAACx0B,GAAE,CAAC,CAAJ,EAAMw1B,GAAEhB,GAAR,EAAN;AAAmB,KAAvB,CAAuB,OAAMA,CAAN,EAAQ;AAAC,aAAM,EAACx0B,GAAE,CAAC,CAAJ,EAAMw1B,GAAEhB,CAAR,EAAN;AAAiB;AAAC,GAAvO;AAAA,MAAwOsR,KAAG1O,EAAE3wB,SAA7O;AAAA,MAAuPs/B,KAAGD,MAAIA,GAAG3oB,SAAP,IAAkB,EAA5Q;AAAA,MAA+Q6oB,KAAG,UAASxR,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAGm4B,EAAE3D,CAAF,GAAK0D,EAAEl4B,CAAF,KAAMA,EAAEyQ,WAAF,KAAgB+jB,CAA9B,EAAgC,OAAOx0B,CAAP,CAAS,IAAI20B,IAAEiR,GAAGvoB,CAAH,CAAKmX,CAAL,CAAN,CAAc,OAAM,CAAC,GAAEG,EAAEpW,OAAL,EAAcve,CAAd,GAAiB20B,EAAEC,OAAzB;AAAiC,GAAxX;AAAA,MAAyXqR,KAAG1K,GAAG,SAAH,CAA5X;AAAA,MAA0Y2K,KAAG3K,GAAG,UAAH,CAA7Y;AAAA,MAA4Z4K,KAAG,CAAC,CAAha,CAAka,IAAG;AAAC,QAAIC,KAAG,CAAC,CAAD,EAAIF,EAAJ,GAAP,CAAiBE,GAAGnD,MAAH,GAAU,YAAU;AAACkD,WAAG,CAAC,CAAJ;AAAM,KAA3B,EAA4B5lC,MAAM8lC,IAAN,CAAWD,EAAX,EAAc,YAAU;AAAC,YAAM,CAAN;AAAQ,KAAjC,CAA5B;AAA+D,GAApF,CAAoF,OAAM5R,CAAN,EAAQ,CAAE,KAAI8R,EAAJ;AAAA,MAAOC,EAAP;AAAA,MAAUC,EAAV;AAAA,MAAaC,EAAb;AAAA,MAAgBC,KAAGxB,GAAGp5B,GAAtB;AAAA,MAA0B66B,KAAG,YAAU;AAAC,QAAInS,CAAJ;AAAA,QAAMx0B,CAAN;AAAA,QAAQ20B,CAAR;AAAA,QAAUj1B,IAAE,YAAU;AAAC,UAAIA,CAAJ,EAAM8B,CAAN,CAAQ,KAAImkC,OAAKjmC,IAAE8lC,GAAGoB,MAAV,KAAmBlnC,EAAEmnC,IAAF,EAAvB,EAAgCrS,CAAhC,GAAmC;AAAChzB,YAAEgzB,EAAExyB,EAAJ,EAAOwyB,IAAEA,EAAEuH,IAAX,CAAgB,IAAG;AAACv6B;AAAI,SAAR,CAAQ,OAAM9B,CAAN,EAAQ;AAAC,gBAAM80B,IAAEG,GAAF,GAAM30B,IAAE,KAAK,CAAb,EAAeN,CAArB;AAAuB;AAAC,WAAE,KAAK,CAAP,EAASA,KAAGA,EAAEonC,KAAF,EAAZ;AAAsB,KAAlJ,CAAmJ,IAAGnB,EAAH,EAAMhR,IAAE,YAAU;AAAC6Q,SAAGb,QAAH,CAAYjlC,CAAZ;AAAe,KAA5B,CAAN,KAAwC,IAAG,CAAC2lC,EAAD,IAAKjO,EAAE3wB,SAAF,IAAa2wB,EAAE3wB,SAAF,CAAYsgC,UAAjC;AAA4C,UAAGtB,MAAIA,GAAGlnB,OAAV,EAAkB;AAAC,YAAI/c,IAAEikC,GAAGlnB,OAAH,CAAW,KAAK,CAAhB,CAAN,CAAyBoW,IAAE,YAAU;AAACnzB,YAAEs1B,IAAF,CAAOp3B,CAAP;AAAU,SAAvB;AAAwB,OAApE,MAAyEi1B,IAAE,YAAU;AAACyQ,WAAGn3B,IAAH,CAAQmpB,CAAR,EAAU13B,CAAV;AAAa,OAA1B;AAArH,WAAoJ;AAAC,UAAI6P,IAAE,CAAC,CAAP;AAAA,UAASwlB,IAAEp2B,SAASm3B,cAAT,CAAwB,EAAxB,CAAX,CAAuC,IAAIuP,EAAJ,CAAO3lC,CAAP,EAAUsnC,OAAV,CAAkBjS,CAAlB,EAAoB,EAACkS,eAAc,CAAC,CAAhB,EAApB,GAAwCtS,IAAE,YAAU;AAACI,UAAEhwB,IAAF,GAAOwK,IAAE,CAACA,CAAV;AAAY,OAAjE;AAAkE,YAAO,UAAS7P,CAAT,EAAW;AAAC,UAAI8B,IAAE,EAACQ,IAAGtC,CAAJ,EAAMq8B,MAAK,KAAK,CAAhB,EAAN,CAAyB/7B,MAAIA,EAAE+7B,IAAF,GAAOv6B,CAAX,GAAcgzB,MAAIA,IAAEhzB,CAAF,EAAImzB,GAAR,CAAd,EAA2B30B,IAAEwB,CAA7B;AAA+B,KAA3E;AAA4E,GAAhhB,EAA7B;AAAA,MAAgjB0lC,KAAG9P,EAAElmB,SAArjB;AAAA,MAA+jBi2B,KAAG/P,EAAEjmB,OAApkB;AAAA,MAA4kBi2B,KAAGD,MAAIA,GAAGE,QAAtlB;AAAA,MAA+lBC,KAAGF,MAAIA,GAAGG,EAAP,IAAW,EAA7mB;AAAA,MAAgnBC,KAAGpQ,EAAEsO,OAArnB;AAAA,MAA6nB+B,KAAG,aAAW5E,GAAGsE,EAAH,CAA3oB;AAAA,MAAkpBO,KAAG,YAAU,CAAE,CAAjqB;AAAA,MAAkqBC,KAAGpB,KAAGX,GAAGvoB,CAA3qB;AAAA,MAA6qBuqB,KAAG,CAAC,CAAC,YAAU;AAAC,QAAG;AAAC,UAAIpT,IAAEgT,GAAGjpB,OAAH,CAAW,CAAX,CAAN;AAAA,UAAoBve,IAAE,CAACw0B,EAAE/jB,WAAF,GAAc,EAAf,EAAmB8qB,GAAG,SAAH,CAAnB,IAAkC,UAAS/G,CAAT,EAAW;AAACA,UAAEkT,EAAF,EAAKA,EAAL;AAAS,OAA7E,CAA8E,OAAM,CAACD,MAAI,cAAY,OAAOI,qBAAxB,KAAgDrT,EAAEsC,IAAF,CAAO4Q,EAAP,aAAqB1nC,CAArE,IAAwE,MAAIsnC,GAAG/1B,OAAH,CAAW,KAAX,CAA5E,IAA+F,CAAC,CAAD,KAAKw0B,GAAGx0B,OAAH,CAAW,WAAX,CAA1G;AAAkI,KAApN,CAAoN,OAAMijB,CAAN,EAAQ,CAAE;AAAC,GAA1O,EAAlrB;AAAA,MAA+5BsT,KAAG,UAAStT,CAAT,EAAW;AAAC,QAAIx0B,CAAJ,CAAM,OAAM,EAAE,CAACk4B,EAAE1D,CAAF,CAAD,IAAO,cAAY,QAAOx0B,IAAEw0B,EAAEsC,IAAX,CAArB,KAAwC92B,CAA9C;AAAgD,GAAp+B;AAAA,MAAq+B+nC,KAAG,UAASvT,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAG,CAACw0B,EAAE2O,EAAN,EAAS;AAAC3O,QAAE2O,EAAF,GAAK,CAAC,CAAN,CAAQ,IAAIxO,IAAEH,EAAEwT,EAAR,CAAWrB,GAAG,YAAU;AAAC,aAAI,IAAIjnC,IAAE80B,EAAEyT,EAAR,EAAWzmC,IAAE,KAAGgzB,EAAE0T,EAAlB,EAAqB34B,IAAE,CAA3B,EAA6BolB,EAAEr1B,MAAF,GAASiQ,CAAtC,GAAyC,CAAC,UAASvP,CAAT,EAAW;AAAC,cAAI20B,CAAJ;AAAA,cAAMplB,CAAN;AAAA,cAAQwlB,CAAR;AAAA,cAAU10B,IAAEmB,IAAExB,EAAEmoC,EAAJ,GAAOnoC,EAAEooC,IAArB;AAAA,cAA0B/S,IAAEr1B,EAAEue,OAA9B;AAAA,cAAsCzO,IAAE9P,EAAE80B,MAA1C;AAAA,cAAiD1lB,IAAEpP,EAAE4mC,MAArD,CAA4D,IAAG;AAACvmC,iBAAGmB,MAAI,KAAGgzB,EAAE6T,EAAL,IAASC,GAAG9T,CAAH,CAAT,EAAeA,EAAE6T,EAAF,GAAK,CAAxB,GAA2B,CAAC,CAAD,KAAKhoC,CAAL,GAAOs0B,IAAEj1B,CAAT,IAAY0P,KAAGA,EAAE03B,KAAF,EAAH,EAAanS,IAAEt0B,EAAEX,CAAF,CAAf,EAAoB0P,MAAIA,EAAEy3B,IAAF,IAAS9R,IAAE,CAAC,CAAhB,CAAhC,CAA3B,EAA+EJ,MAAI30B,EAAE40B,OAAN,GAAc9kB,EAAEo3B,GAAG,qBAAH,CAAF,CAAd,GAA2C,CAAC33B,IAAEu4B,GAAGnT,CAAH,CAAH,IAAUplB,EAAEtB,IAAF,CAAO0mB,CAAP,EAASU,CAAT,EAAWvlB,CAAX,CAAV,GAAwBulB,EAAEV,CAAF,CAArJ,IAA2J7kB,EAAEpQ,CAAF,CAA3J;AAAgK,WAApK,CAAoK,OAAM80B,CAAN,EAAQ;AAACplB,iBAAG,CAAC2lB,CAAJ,IAAO3lB,EAAEy3B,IAAF,EAAP,EAAgB/2B,EAAE0kB,CAAF,CAAhB;AAAqB;AAAC,SAA3Q,CAA4QG,EAAEplB,GAAF,CAA5Q,CAAD,CAAqRilB,EAAEwT,EAAF,GAAK,EAAL,EAAQxT,EAAE2O,EAAF,GAAK,CAAC,CAAd,EAAgBnjC,KAAG,CAACw0B,EAAE6T,EAAN,IAAUE,GAAG/T,CAAH,CAA1B;AAAgC,OAA5W;AAA8W;AAAC,GAAl4C;AAAA,MAAm4C+T,KAAG,UAAS/T,CAAT,EAAW;AAACkS,OAAGz4B,IAAH,CAAQmpB,CAAR,EAAU,YAAU;AAAC,UAAIp3B,CAAJ;AAAA,UAAM20B,CAAN;AAAA,UAAQj1B,CAAR;AAAA,UAAU8B,IAAEgzB,EAAEyT,EAAd;AAAA,UAAiB14B,IAAEi5B,GAAGhU,CAAH,CAAnB,CAAyB,IAAGjlB,MAAIvP,IAAE6lC,GAAG,YAAU;AAAC4B,aAAGN,GAAGz4B,IAAH,CAAQ,oBAAR,EAA6BlN,CAA7B,EAA+BgzB,CAA/B,CAAH,GAAqC,CAACG,IAAEyC,EAAEqR,oBAAL,IAA2B9T,EAAE,EAACC,SAAQJ,CAAT,EAAWkU,QAAOlnC,CAAlB,EAAF,CAA3B,GAAmD,CAAC9B,IAAE03B,EAAEjvB,OAAL,KAAezI,EAAE6Q,KAAjB,IAAwB7Q,EAAE6Q,KAAF,CAAQ,6BAAR,EAAsC/O,CAAtC,CAAhH;AAAyJ,OAAvK,CAAF,EAA2KgzB,EAAE6T,EAAF,GAAKZ,MAAIe,GAAGhU,CAAH,CAAJ,GAAU,CAAV,GAAY,CAAhM,GAAmMA,EAAEmU,EAAF,GAAK,KAAK,CAA7M,EAA+Mp5B,KAAGvP,EAAEA,CAAvN,EAAyN,MAAMA,EAAEw1B,CAAR;AAAU,KAAjR;AAAmR,GAArqD;AAAA,MAAsqDgT,KAAG,UAAShU,CAAT,EAAW;AAAC,WAAO,MAAIA,EAAE6T,EAAN,IAAU,MAAI,CAAC7T,EAAEmU,EAAF,IAAMnU,EAAEwT,EAAT,EAAa1oC,MAAlC;AAAyC,GAA9tD;AAAA,MAA+tDgpC,KAAG,UAAS9T,CAAT,EAAW;AAACkS,OAAGz4B,IAAH,CAAQmpB,CAAR,EAAU,YAAU;AAAC,UAAIp3B,CAAJ,CAAMynC,KAAGN,GAAGz4B,IAAH,CAAQ,kBAAR,EAA2B8lB,CAA3B,CAAH,GAAiC,CAACx0B,IAAEo3B,EAAEwR,kBAAL,KAA0B5oC,EAAE,EAAC40B,SAAQJ,CAAT,EAAWkU,QAAOlU,EAAEyT,EAApB,EAAF,CAA3D;AAAsF,KAAjH;AAAmH,GAAj2D;AAAA,MAAk2DY,KAAG,UAASrU,CAAT,EAAW;AAAC,QAAIx0B,IAAE,IAAN,CAAWA,EAAE8oC,EAAF,KAAO9oC,EAAE8oC,EAAF,GAAK,CAAC,CAAN,EAAQ,CAAC9oC,IAAEA,EAAE+oC,EAAF,IAAM/oC,CAAT,EAAYioC,EAAZ,GAAezT,CAAvB,EAAyBx0B,EAAEkoC,EAAF,GAAK,CAA9B,EAAgCloC,EAAE2oC,EAAF,KAAO3oC,EAAE2oC,EAAF,GAAK3oC,EAAEgoC,EAAF,CAAK14B,KAAL,EAAZ,CAAhC,EAA0Dy4B,GAAG/nC,CAAH,EAAK,CAAC,CAAN,CAAjE;AAA2E,GAAv8D;AAAA,MAAw8DgpC,KAAG,UAASxU,CAAT,EAAW;AAAC,QAAIx0B,CAAJ;AAAA,QAAM20B,IAAE,IAAR,CAAa,IAAG,CAACA,EAAEmU,EAAN,EAAS;AAACnU,QAAEmU,EAAF,GAAK,CAAC,CAAN,EAAQnU,IAAEA,EAAEoU,EAAF,IAAMpU,CAAhB,CAAkB,IAAG;AAAC,YAAGA,MAAIH,CAAP,EAAS,MAAM0S,GAAG,kCAAH,CAAN,CAA6C,CAAClnC,IAAE8nC,GAAGtT,CAAH,CAAH,IAAUmS,GAAG,YAAU;AAAC,cAAIjnC,IAAE,EAACqpC,IAAGpU,CAAJ,EAAMmU,IAAG,CAAC,CAAV,EAAN,CAAmB,IAAG;AAAC9oC,cAAEiO,IAAF,CAAOumB,CAAP,EAASyD,EAAE+Q,EAAF,EAAKtpC,CAAL,EAAO,CAAP,CAAT,EAAmBu4B,EAAE4Q,EAAF,EAAKnpC,CAAL,EAAO,CAAP,CAAnB;AAA8B,WAAlC,CAAkC,OAAM80B,CAAN,EAAQ;AAACqU,eAAG56B,IAAH,CAAQvO,CAAR,EAAU80B,CAAV;AAAa;AAAC,SAA1F,CAAV,IAAuGG,EAAEsT,EAAF,GAAKzT,CAAL,EAAOG,EAAEuT,EAAF,GAAK,CAAZ,EAAcH,GAAGpT,CAAH,EAAK,CAAC,CAAN,CAArH;AAA+H,OAAzL,CAAyL,OAAMH,CAAN,EAAQ;AAACqU,WAAG56B,IAAH,CAAQ,EAAC86B,IAAGpU,CAAJ,EAAMmU,IAAG,CAAC,CAAV,EAAR,EAAqBtU,CAArB;AAAwB;AAAC;AAAC,GAA5tE,CAA6tEoT,OAAKJ,KAAG,UAAShT,CAAT,EAAW;AAACuO,OAAG,IAAH,EAAQyE,EAAR,EAAW,SAAX,EAAqB,IAArB,GAA2B3S,EAAEL,CAAF,CAA3B,EAAgC8R,GAAGr4B,IAAH,CAAQ,IAAR,CAAhC,CAA8C,IAAG;AAACumB,QAAEyD,EAAE+Q,EAAF,EAAK,IAAL,EAAU,CAAV,CAAF,EAAe/Q,EAAE4Q,EAAF,EAAK,IAAL,EAAU,CAAV,CAAf;AAA6B,KAAjC,CAAiC,OAAMrU,CAAN,EAAQ;AAACqU,SAAG56B,IAAH,CAAQ,IAAR,EAAaumB,CAAb;AAAgB;AAAC,GAAxH,EAAyH,CAAC8R,KAAG,UAAS9R,CAAT,EAAW;AAAC,SAAKwT,EAAL,GAAQ,EAAR,EAAW,KAAKW,EAAL,GAAQ,KAAK,CAAxB,EAA0B,KAAKT,EAAL,GAAQ,CAAlC,EAAoC,KAAKY,EAAL,GAAQ,CAAC,CAA7C,EAA+C,KAAKb,EAAL,GAAQ,KAAK,CAA5D,EAA8D,KAAKI,EAAL,GAAQ,CAAtE,EAAwE,KAAKlF,EAAL,GAAQ,CAAC,CAAjF;AAAmF,GAAnG,EAAqGn1B,SAArG,GAA+G,UAASwmB,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,SAAI,IAAIj1B,CAAR,IAAaM,CAAb,EAAe20B,KAAGH,EAAE90B,CAAF,CAAH,GAAQ80B,EAAE90B,CAAF,IAAKM,EAAEN,CAAF,CAAb,GAAkBq5B,EAAEvE,CAAF,EAAI90B,CAAJ,EAAMM,EAAEN,CAAF,CAAN,CAAlB,CAA8B,OAAO80B,CAAP;AAAS,GAAtE,CAAuEgT,GAAGx5B,SAA1E,EAAoF,EAAC8oB,MAAK,UAAStC,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAI20B,IAAEgT,GAAG/D,GAAG,IAAH,EAAQ4D,EAAR,CAAH,CAAN,CAAsB,OAAO7S,EAAEwT,EAAF,GAAK,cAAY,OAAO3T,CAAnB,IAAsBA,CAA3B,EAA6BG,EAAEyT,IAAF,GAAO,cAAY,OAAOpoC,CAAnB,IAAsBA,CAA1D,EAA4D20B,EAAEiS,MAAF,GAASa,KAAGN,GAAGP,MAAN,GAAa,KAAK,CAAvF,EAAyF,KAAKoB,EAAL,CAAQjkC,IAAR,CAAa4wB,CAAb,CAAzF,EAAyG,KAAKgU,EAAL,IAAS,KAAKA,EAAL,CAAQ5kC,IAAR,CAAa4wB,CAAb,CAAlH,EAAkI,KAAKuT,EAAL,IAASH,GAAG,IAAH,EAAQ,CAAC,CAAT,CAA3I,EAAuJpT,EAAEC,OAAhK;AAAwK,KAAlN,EAAmNmC,OAAM,UAASvC,CAAT,EAAW;AAAC,aAAO,KAAKsC,IAAL,CAAU,KAAK,CAAf,EAAiBtC,CAAjB,CAAP;AAA2B,KAAhQ,EAApF,CAAxO,EAA+jBgS,KAAG,YAAU;AAAC,QAAIhS,IAAE,IAAI8R,EAAJ,EAAN,CAAa,KAAK1R,OAAL,GAAaJ,CAAb,EAAe,KAAKjW,OAAL,GAAa0Z,EAAE+Q,EAAF,EAAKxU,CAAL,EAAO,CAAP,CAA5B,EAAsC,KAAKM,MAAL,GAAYmD,EAAE4Q,EAAF,EAAKrU,CAAL,EAAO,CAAP,CAAlD;AAA4D,GAAtpB,EAAupBoR,GAAGvoB,CAAH,GAAKsqB,KAAG,UAASnT,CAAT,EAAW;AAAC,WAAOA,MAAIgT,EAAJ,IAAQhT,MAAIiS,EAAZ,GAAe,IAAID,EAAJ,CAAOhS,CAAP,CAAf,GAAyB+R,GAAG/R,CAAH,CAAhC;AAAsC,GAAttB,GAAwtB0E,EAAEA,EAAEX,CAAF,GAAIW,EAAEZ,CAAN,GAAQY,EAAErE,CAAF,GAAI,CAAC+S,EAAf,EAAkB,EAAClC,SAAQ8B,EAAT,EAAlB,CAAxtB,EAAwvB5L,GAAG4L,EAAH,EAAM,SAAN,CAAxvB,EAAywB,UAAShT,CAAT,EAAW;AAAC,QAAIx0B,IAAE,cAAY,OAAOk3B,EAAE1C,CAAF,CAAnB,GAAwB0C,EAAE1C,CAAF,CAAxB,GAA6B4C,EAAE5C,CAAF,CAAnC,CAAwC6D,KAAGr4B,CAAH,IAAM,CAACA,EAAEimC,EAAF,CAAP,IAAcpN,EAAExb,CAAF,CAAIrd,CAAJ,EAAMimC,EAAN,EAAS,EAAC33B,cAAa,CAAC,CAAf,EAAiB9H,KAAI,YAAU;AAAC,eAAO,IAAP;AAAY,OAA5C,EAAT,CAAd;AAAsE,GAA1H,CAA2H,SAA3H,CAAzwB,EAA+4BigC,KAAGvP,EAAEwO,OAAp5B,EAA45BxM,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAI,CAAC+S,EAAX,EAAc,SAAd,EAAwB,EAAC9S,QAAO,UAASN,CAAT,EAAW;AAAC,UAAIx0B,IAAE2nC,GAAG,IAAH,CAAN,CAAe,OAAM,CAAC,GAAE3nC,EAAE80B,MAAL,EAAaN,CAAb,GAAgBx0B,EAAE40B,OAAxB;AAAgC,KAAnE,EAAxB,CAA55B,EAA0/BsE,EAAEA,EAAEjC,CAAF,GAAI,CAAC,CAAD,GAAGiC,EAAErE,CAAX,EAAa,SAAb,EAAuB,EAACtW,SAAQ,UAASiW,CAAT,EAAW;AAAC,aAAOwR,GAAG,SAAOS,EAAP,GAAUe,EAAV,GAAa,IAAhB,EAAqBhT,CAArB,CAAP;AAA+B,KAApD,EAAvB,CAA1/B,EAAwkC0E,EAAEA,EAAEjC,CAAF,GAAIiC,EAAErE,CAAF,GAAI,EAAE+S,MAAI,UAASpT,CAAT,EAAWx0B,CAAX,EAAa;AAAC,QAAG,CAACA,CAAD,IAAI,CAACmmC,EAAR,EAAW,OAAM,CAAC,CAAP,CAAS,IAAIxR,IAAE,CAAC,CAAP,CAAS,IAAG;AAAC,UAAIj1B,IAAE,CAAC,CAAD,CAAN;AAAA,UAAU8B,IAAE9B,EAAEwmC,EAAF,GAAZ,CAAoB1kC,EAAEu6B,IAAF,GAAO,YAAU;AAAC,eAAM,EAACU,MAAK9H,IAAE,CAAC,CAAT,EAAN;AAAkB,OAApC,EAAqCj1B,EAAEwmC,EAAF,IAAM,YAAU;AAAC,eAAO1kC,CAAP;AAAS,OAA/D,EAAgEgzB,EAAE90B,CAAF,CAAhE;AAAqE,KAA7F,CAA6F,OAAM80B,CAAN,EAAQ,CAAE,QAAOG,CAAP;AAAS,GAA3J,CAA4J,UAASH,CAAT,EAAW;AAACgT,OAAGyB,GAAH,CAAOzU,CAAP,EAAUuC,KAAV,CAAgB2Q,EAAhB;AAAoB,GAA5L,CAAN,CAAV,EAA+M,SAA/M,EAAyN,EAACuB,KAAI,UAASzU,CAAT,EAAW;AAAC,UAAIx0B,IAAE,IAAN;AAAA,UAAW20B,IAAEgT,GAAG3nC,CAAH,CAAb;AAAA,UAAmBN,IAAEi1B,EAAEpW,OAAvB;AAAA,UAA+B/c,IAAEmzB,EAAEG,MAAnC;AAAA,UAA0CvlB,IAAEs2B,GAAG,YAAU;AAAC,YAAIlR,IAAE,EAAN;AAAA,YAASplB,IAAE,CAAX;AAAA,YAAawlB,IAAE,CAAf,CAAiByO,GAAGhP,CAAH,EAAK,CAAC,CAAN,EAAQ,UAASA,CAAT,EAAW;AAAC,cAAIn0B,IAAEkP,GAAN;AAAA,cAAU8lB,IAAE,CAAC,CAAb,CAAeV,EAAE5wB,IAAF,CAAO,KAAK,CAAZ,GAAegxB,GAAf,EAAmB/0B,EAAEue,OAAF,CAAUiW,CAAV,EAAasC,IAAb,CAAkB,UAAStC,CAAT,EAAW;AAACa,kBAAIA,IAAE,CAAC,CAAH,EAAKV,EAAEt0B,CAAF,IAAKm0B,CAAV,EAAY,EAAEO,CAAF,IAAKr1B,EAAEi1B,CAAF,CAArB;AAA2B,WAAzD,EAA0DnzB,CAA1D,CAAnB;AAAgF,SAAnH,GAAqH,EAAEuzB,CAAF,IAAKr1B,EAAEi1B,CAAF,CAA1H;AAA+H,OAA9J,CAA5C,CAA4M,OAAOplB,EAAEvP,CAAF,IAAKwB,EAAE+N,EAAEimB,CAAJ,CAAL,EAAYb,EAAEC,OAArB;AAA6B,KAA1P,EAA2PsU,MAAK,UAAS1U,CAAT,EAAW;AAAC,UAAIx0B,IAAE,IAAN;AAAA,UAAW20B,IAAEgT,GAAG3nC,CAAH,CAAb;AAAA,UAAmBN,IAAEi1B,EAAEG,MAAvB;AAAA,UAA8BtzB,IAAEqkC,GAAG,YAAU;AAACrC,WAAGhP,CAAH,EAAK,CAAC,CAAN,EAAQ,UAASA,CAAT,EAAW;AAACx0B,YAAEue,OAAF,CAAUiW,CAAV,EAAasC,IAAb,CAAkBnC,EAAEpW,OAApB,EAA4B7e,CAA5B;AAA+B,SAAnD;AAAqD,OAAnE,CAAhC,CAAqG,OAAO8B,EAAExB,CAAF,IAAKN,EAAE8B,EAAEg0B,CAAJ,CAAL,EAAYb,EAAEC,OAArB;AAA6B,KAA9Y,EAAzN,CAAxkC,EAAkrDsE,EAAEA,EAAE5B,CAAF,GAAI4B,EAAEtB,CAAR,EAAU,SAAV,EAAoB,EAACuR,SAAQ,UAAS3U,CAAT,EAAW;AAAC,UAAIx0B,IAAE4jC,GAAG,IAAH,EAAQ1M,EAAEwO,OAAF,IAAWtO,EAAEsO,OAArB,CAAN;AAAA,UAAoC/Q,IAAE,cAAY,OAAOH,CAAzD,CAA2D,OAAO,KAAKsC,IAAL,CAAUnC,IAAE,UAASA,CAAT,EAAW;AAAC,eAAOqR,GAAGhmC,CAAH,EAAKw0B,GAAL,EAAUsC,IAAV,CAAe,YAAU;AAAC,iBAAOnC,CAAP;AAAS,SAAnC,CAAP;AAA4C,OAA1D,GAA2DH,CAArE,EAAuEG,IAAE,UAASA,CAAT,EAAW;AAAC,eAAOqR,GAAGhmC,CAAH,EAAKw0B,GAAL,EAAUsC,IAAV,CAAe,YAAU;AAAC,gBAAMnC,CAAN;AAAQ,SAAlC,CAAP;AAA2C,OAAzD,GAA0DH,CAAjI,CAAP;AAA2I,KAA3N,EAApB,CAAlrD,EAAo6D0E,EAAEA,EAAEjC,CAAJ,EAAM,SAAN,EAAgB,EAACmS,KAAI,UAAS5U,CAAT,EAAW;AAAC,UAAIx0B,IAAE4lC,GAAGvoB,CAAH,CAAK,IAAL,CAAN;AAAA,UAAiBsX,IAAEkR,GAAGrR,CAAH,CAAnB,CAAyB,OAAM,CAACG,EAAE30B,CAAF,GAAIA,EAAE80B,MAAN,GAAa90B,EAAEue,OAAhB,EAAyBoW,EAAEa,CAA3B,GAA8Bx1B,EAAE40B,OAAtC;AAA8C,KAAxF,EAAhB,CAAp6D,CAA+gE,IAAIyU,KAAGnS,EAAEwO,OAAT;AAAA,MAAiBlP,KAAGhC,EAAEx0B,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ2U,EAAT,EAAY5U,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAF,CAApB,CAA4E0E,GAAG,MAAH,EAAU,YAAU;AAAC,WAAO,UAAS3E,CAAT,EAAW;AAAC,aAAOoG,GAAG75B,EAAEyzB,CAAF,CAAH,CAAP;AAAgB,KAAnC;AAAoC,GAAzD,EAA2D,IAAI8U,KAAGpS,EAAEt4B,MAAF,CAASkS,IAAhB;AAAA,MAAqBwkB,KAAGd,EAAEx0B,EAAE,UAASw0B,CAAT,EAAW;AAACA,MAAErxB,OAAF,GAAU,EAACuxB,SAAQ4U,EAAT,EAAY7U,YAAW,CAAC,CAAxB,EAAV;AAAqC,GAAnD,CAAF,CAAxB;AAAA,MAAgF8U,KAAGvpC,EAAE,UAASw0B,CAAT,EAAW;AAAC,aAASx0B,CAAT,GAAY,CAAE,UAAS20B,CAAT,CAAWH,CAAX,EAAax0B,CAAb,EAAe20B,CAAf,EAAiB;AAAC,WAAK3yB,EAAL,GAAQwyB,CAAR,EAAU,KAAK/zB,OAAL,GAAaT,CAAvB,EAAyB,KAAK/B,IAAL,GAAU02B,KAAG,CAAC,CAAvC;AAAyC,cAASj1B,CAAT,CAAW80B,CAAX,EAAax0B,CAAb,EAAeN,CAAf,EAAiB8B,CAAjB,EAAmB+N,CAAnB,EAAqB;AAAC,UAAG,cAAY,OAAO7P,CAAtB,EAAwB,MAAM,IAAIwR,SAAJ,CAAc,iCAAd,CAAN,CAAuD,IAAI6jB,IAAE,IAAIJ,CAAJ,CAAMj1B,CAAN,EAAQ8B,KAAGgzB,CAAX,EAAajlB,CAAb,CAAN;AAAA,UAAsB8lB,IAAEh1B,IAAEA,IAAEL,CAAJ,GAAMA,CAA9B,CAAgC,OAAOw0B,EAAEzE,OAAF,CAAUsF,CAAV,IAAab,EAAEzE,OAAF,CAAUsF,CAAV,EAAarzB,EAAb,GAAgBwyB,EAAEzE,OAAF,CAAUsF,CAAV,IAAa,CAACb,EAAEzE,OAAF,CAAUsF,CAAV,CAAD,EAAcN,CAAd,CAA7B,GAA8CP,EAAEzE,OAAF,CAAUsF,CAAV,EAAatxB,IAAb,CAAkBgxB,CAAlB,CAA3D,IAAiFP,EAAEzE,OAAF,CAAUsF,CAAV,IAAaN,CAAb,EAAeP,EAAEgV,YAAF,EAAhG,GAAkHhV,CAAzH;AAA2H,cAAShzB,CAAT,CAAWgzB,CAAX,EAAaG,CAAb,EAAe;AAAC,WAAG,EAAEH,EAAEgV,YAAP,GAAoBhV,EAAEzE,OAAF,GAAU,IAAI/vB,CAAJ,EAA9B,GAAoC,OAAOw0B,EAAEzE,OAAF,CAAU4E,CAAV,CAA3C;AAAwD,cAASplB,CAAT,GAAY;AAAC,WAAKwgB,OAAL,GAAa,IAAI/vB,CAAJ,EAAb,EAAmB,KAAKwpC,YAAL,GAAkB,CAArC;AAAuC,SAAIzU,IAAEn2B,OAAOoP,SAAP,CAAiBK,cAAvB;AAAA,QAAsChO,IAAE,GAAxC,CAA4CzB,OAAOsP,MAAP,KAAgBlO,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAc,IAAd,CAAZ,EAAiC,IAAIlO,CAAJ,EAAD,CAAQkiC,SAAR,KAAoB7hC,IAAE,CAAC,CAAvB,CAAhD,GAA2EkP,EAAEvB,SAAF,CAAYy7B,UAAZ,GAAuB,YAAU;AAAC,UAAIjV,CAAJ;AAAA,UAAMx0B,CAAN;AAAA,UAAQ20B,IAAE,EAAV,CAAa,IAAG,MAAI,KAAK6U,YAAZ,EAAyB,OAAO7U,CAAP,CAAS,KAAI30B,CAAJ,IAASw0B,IAAE,KAAKzE,OAAhB,EAAwBgF,EAAE9mB,IAAF,CAAOumB,CAAP,EAASx0B,CAAT,KAAa20B,EAAE5wB,IAAF,CAAO1D,IAAEL,EAAEsP,KAAF,CAAQ,CAAR,CAAF,GAAatP,CAApB,CAAb,CAAoC,OAAOpB,OAAOq/B,qBAAP,GAA6BtJ,EAAEnwB,MAAF,CAAS5F,OAAOq/B,qBAAP,CAA6BzJ,CAA7B,CAAT,CAA7B,GAAuEG,CAA9E;AAAgF,KAAxS,EAAySplB,EAAEvB,SAAF,CAAYiB,SAAZ,GAAsB,UAASulB,CAAT,EAAW;AAAC,UAAIx0B,IAAEK,IAAEA,IAAEm0B,CAAJ,GAAMA,CAAZ;AAAA,UAAcG,IAAE,KAAK5E,OAAL,CAAa/vB,CAAb,CAAhB,CAAgC,IAAG,CAAC20B,CAAJ,EAAM,OAAM,EAAN,CAAS,IAAGA,EAAE3yB,EAAL,EAAQ,OAAM,CAAC2yB,EAAE3yB,EAAH,CAAN,CAAa,KAAI,IAAItC,IAAE,CAAN,EAAQ8B,IAAEmzB,EAAEr1B,MAAZ,EAAmBiQ,IAAE,IAAIhP,KAAJ,CAAUiB,CAAV,CAAzB,EAAsC9B,IAAE8B,CAAxC,EAA0C9B,GAA1C,EAA8C6P,EAAE7P,CAAF,IAAKi1B,EAAEj1B,CAAF,EAAKsC,EAAV,CAAa,OAAOuN,CAAP;AAAS,KAAnd,EAAodA,EAAEvB,SAAF,CAAY07B,aAAZ,GAA0B,UAASlV,CAAT,EAAW;AAAC,UAAIx0B,IAAEK,IAAEA,IAAEm0B,CAAJ,GAAMA,CAAZ;AAAA,UAAcG,IAAE,KAAK5E,OAAL,CAAa/vB,CAAb,CAAhB,CAAgC,OAAO20B,IAAEA,EAAE3yB,EAAF,GAAK,CAAL,GAAO2yB,EAAEr1B,MAAX,GAAkB,CAAzB;AAA2B,KAArjB,EAAsjBiQ,EAAEvB,SAAF,CAAYU,IAAZ,GAAiB,UAAS8lB,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAej1B,CAAf,EAAiB8B,CAAjB,EAAmB+N,CAAnB,EAAqB;AAAC,UAAIwlB,IAAE10B,IAAEA,IAAEm0B,CAAJ,GAAMA,CAAZ,CAAc,IAAG,CAAC,KAAKzE,OAAL,CAAagF,CAAb,CAAJ,EAAoB,OAAM,CAAC,CAAP,CAAS,IAAIM,CAAJ;AAAA,UAAMvlB,CAAN;AAAA,UAAQV,IAAE,KAAK2gB,OAAL,CAAagF,CAAb,CAAV;AAAA,UAA0B1X,IAAEhX,UAAU/G,MAAtC,CAA6C,IAAG8P,EAAEpN,EAAL,EAAQ;AAAC,gBAAOoN,EAAEnR,IAAF,IAAQ,KAAK0rC,cAAL,CAAoBnV,CAApB,EAAsBplB,EAAEpN,EAAxB,EAA2B,KAAK,CAAhC,EAAkC,CAAC,CAAnC,CAAR,EAA8Cqb,CAArD,GAAwD,KAAK,CAAL;AAAO,mBAAOjO,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,GAAqB,CAAC,CAA7B,CAA+B,KAAK,CAAL;AAAO,mBAAO2O,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,EAAoBT,CAApB,GAAuB,CAAC,CAA/B,CAAiC,KAAK,CAAL;AAAO,mBAAOoP,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,EAAoBT,CAApB,EAAsB20B,CAAtB,GAAyB,CAAC,CAAjC,CAAmC,KAAK,CAAL;AAAO,mBAAOvlB,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,EAAoBT,CAApB,EAAsB20B,CAAtB,EAAwBj1B,CAAxB,GAA2B,CAAC,CAAnC,CAAqC,KAAK,CAAL;AAAO,mBAAO0P,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,EAAoBT,CAApB,EAAsB20B,CAAtB,EAAwBj1B,CAAxB,EAA0B8B,CAA1B,GAA6B,CAAC,CAArC,CAAuC,KAAK,CAAL;AAAO,mBAAO4N,EAAEpN,EAAF,CAAKiM,IAAL,CAAUmB,EAAE3O,OAAZ,EAAoBT,CAApB,EAAsB20B,CAAtB,EAAwBj1B,CAAxB,EAA0B8B,CAA1B,EAA4B+N,CAA5B,GAA+B,CAAC,CAAvC,CAAjR,CAA0T,KAAIO,IAAE,CAAF,EAAIulB,IAAE,IAAI90B,KAAJ,CAAU8c,IAAE,CAAZ,CAAV,EAAyBvN,IAAEuN,CAA3B,EAA6BvN,GAA7B,EAAiCulB,EAAEvlB,IAAE,CAAJ,IAAOzJ,UAAUyJ,CAAV,CAAP,CAAoBV,EAAEpN,EAAF,CAAK8L,KAAL,CAAWsB,EAAE3O,OAAb,EAAqB40B,CAArB;AAAwB,OAAhZ,MAAoZ;AAAC,YAAIr0B,CAAJ;AAAA,YAAM4M,IAAEwB,EAAE9P,MAAV,CAAiB,KAAIwQ,IAAE,CAAN,EAAQA,IAAElC,CAAV,EAAYkC,GAAZ,EAAgB,QAAOV,EAAEU,CAAF,EAAK7R,IAAL,IAAW,KAAK0rC,cAAL,CAAoBnV,CAApB,EAAsBplB,EAAEU,CAAF,EAAK9N,EAA3B,EAA8B,KAAK,CAAnC,EAAqC,CAAC,CAAtC,CAAX,EAAoDqb,CAA3D,GAA8D,KAAK,CAAL;AAAOjO,cAAEU,CAAF,EAAK9N,EAAL,CAAQiM,IAAR,CAAamB,EAAEU,CAAF,EAAKrP,OAAlB,EAA2B,MAAM,KAAK,CAAL;AAAO2O,cAAEU,CAAF,EAAK9N,EAAL,CAAQiM,IAAR,CAAamB,EAAEU,CAAF,EAAKrP,OAAlB,EAA0BT,CAA1B,EAA6B,MAAM,KAAK,CAAL;AAAOoP,cAAEU,CAAF,EAAK9N,EAAL,CAAQiM,IAAR,CAAamB,EAAEU,CAAF,EAAKrP,OAAlB,EAA0BT,CAA1B,EAA4B20B,CAA5B,EAA+B,MAAM,KAAK,CAAL;AAAOvlB,cAAEU,CAAF,EAAK9N,EAAL,CAAQiM,IAAR,CAAamB,EAAEU,CAAF,EAAKrP,OAAlB,EAA0BT,CAA1B,EAA4B20B,CAA5B,EAA8Bj1B,CAA9B,EAAiC,MAAM;AAAQ,gBAAG,CAAC21B,CAAJ,EAAM,KAAIr0B,IAAE,CAAF,EAAIq0B,IAAE,IAAI90B,KAAJ,CAAU8c,IAAE,CAAZ,CAAV,EAAyBrc,IAAEqc,CAA3B,EAA6Brc,GAA7B,EAAiCq0B,EAAEr0B,IAAE,CAAJ,IAAOqF,UAAUrF,CAAV,CAAP,CAAoBoO,EAAEU,CAAF,EAAK9N,EAAL,CAAQ8L,KAAR,CAAcsB,EAAEU,CAAF,EAAKrP,OAAnB,EAA2B40B,CAA3B,EAA7S;AAA4U,cAAM,CAAC,CAAP;AAAS,KAAh8C,EAAi8C9lB,EAAEvB,SAAF,CAAYhQ,EAAZ,GAAe,UAASw2B,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,aAAOj1B,EAAE,IAAF,EAAO80B,CAAP,EAASx0B,CAAT,EAAW20B,CAAX,EAAa,CAAC,CAAd,CAAP;AAAwB,KAAx/C,EAAy/CplB,EAAEvB,SAAF,CAAY/P,IAAZ,GAAiB,UAASu2B,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,aAAOj1B,EAAE,IAAF,EAAO80B,CAAP,EAASx0B,CAAT,EAAW20B,CAAX,EAAa,CAAC,CAAd,CAAP;AAAwB,KAAljD,EAAmjDplB,EAAEvB,SAAF,CAAY27B,cAAZ,GAA2B,UAASnV,CAAT,EAAWx0B,CAAX,EAAa20B,CAAb,EAAej1B,CAAf,EAAiB;AAAC,UAAI6P,IAAElP,IAAEA,IAAEm0B,CAAJ,GAAMA,CAAZ,CAAc,IAAG,CAAC,KAAKzE,OAAL,CAAaxgB,CAAb,CAAJ,EAAoB,OAAO,IAAP,CAAY,IAAG,CAACvP,CAAJ,EAAM,OAAOwB,EAAE,IAAF,EAAO+N,CAAP,GAAU,IAAjB,CAAsB,IAAIwlB,IAAE,KAAKhF,OAAL,CAAaxgB,CAAb,CAAN,CAAsB,IAAGwlB,EAAE/yB,EAAL,EAAQ+yB,EAAE/yB,EAAF,KAAOhC,CAAP,IAAUN,KAAG,CAACq1B,EAAE92B,IAAhB,IAAsB02B,KAAGI,EAAEt0B,OAAF,KAAYk0B,CAArC,IAAwCnzB,EAAE,IAAF,EAAO+N,CAAP,CAAxC,CAAR,KAA8D;AAAC,aAAI,IAAI8lB,IAAE,CAAN,EAAQvlB,IAAE,EAAV,EAAaV,IAAE2lB,EAAEz1B,MAArB,EAA4B+1B,IAAEjmB,CAA9B,EAAgCimB,GAAhC,EAAoC,CAACN,EAAEM,CAAF,EAAKrzB,EAAL,KAAUhC,CAAV,IAAaN,KAAG,CAACq1B,EAAEM,CAAF,EAAKp3B,IAAtB,IAA4B02B,KAAGI,EAAEM,CAAF,EAAK50B,OAAL,KAAek0B,CAA/C,KAAmD7kB,EAAE/L,IAAF,CAAOgxB,EAAEM,CAAF,CAAP,CAAnD,CAAgEvlB,EAAExQ,MAAF,GAAS,KAAKywB,OAAL,CAAaxgB,CAAb,IAAgB,MAAIO,EAAExQ,MAAN,GAAawQ,EAAE,CAAF,CAAb,GAAkBA,CAA3C,GAA6CtO,EAAE,IAAF,EAAO+N,CAAP,CAA7C;AAAuD,cAAO,IAAP;AAAY,KAAt6D,EAAu6DA,EAAEvB,SAAF,CAAY47B,kBAAZ,GAA+B,UAASpV,CAAT,EAAW;AAAC,UAAIG,CAAJ,CAAM,OAAOH,KAAGG,IAAEt0B,IAAEA,IAAEm0B,CAAJ,GAAMA,CAAR,EAAU,KAAKzE,OAAL,CAAa4E,CAAb,KAAiBnzB,EAAE,IAAF,EAAOmzB,CAAP,CAA9B,KAA0C,KAAK5E,OAAL,GAAa,IAAI/vB,CAAJ,EAAb,EAAmB,KAAKwpC,YAAL,GAAkB,CAA/E,GAAkF,IAAzF;AAA8F,KAAtjE,EAAujEj6B,EAAEvB,SAAF,CAAYS,GAAZ,GAAgBc,EAAEvB,SAAF,CAAY27B,cAAnlE,EAAkmEp6B,EAAEvB,SAAF,CAAY67B,WAAZ,GAAwBt6B,EAAEvB,SAAF,CAAYhQ,EAAtoE,EAAyoEuR,EAAEu6B,QAAF,GAAWzpC,CAAppE,EAAspEkP,EAAEw6B,YAAF,GAAex6B,CAArqE,EAAuqEilB,EAAErxB,OAAF,GAAUoM,CAAjrE;AAAmrE,GAAlrF,CAAnF;AAAA,MAAuwFsnB,KAAG,SAASrC,CAAT,GAAY;AAAC,QAAIx0B,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D;AAAA,QAAgEsuB,IAAE30B,EAAEI,GAApE;AAAA,QAAwEV,IAAEM,EAAEuI,MAA5E;AAAA,QAAmF/G,IAAE,KAAK,CAAL,KAAS9B,CAAT,GAAW,KAAX,GAAiBA,CAAtG;AAAA,QAAwG6P,IAAEvP,EAAEiI,IAA5G;AAAA,QAAiH8sB,IAAE,KAAK,CAAL,KAASxlB,CAAT,GAAW,aAAX,GAAyBA,CAA5I;AAAA,QAA8IlP,IAAEL,EAAE4F,OAAlJ;AAAA,QAA0JyvB,IAAE,KAAK,CAAL,KAASh1B,CAAT,GAAW,GAAX,GAAeA,CAA3K;AAAA,QAA6KyP,IAAE9P,EAAE+E,IAAjL;AAAA,QAAsLqK,IAAE,KAAK,CAAL,KAASU,CAAT,GAAW,EAAX,GAAcA,CAAtM;AAAA,QAAwMuN,IAAEhX,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAAjQ,CAAoQ,OAAOizB,GAAG,IAAH,EAAQ9E,CAAR,GAAW,IAAIgC,EAAJ,CAAO,UAAShC,CAAT,EAAWx0B,CAAX,EAAa;AAAC,UAAIN,IAAE,IAAIC,OAAO0b,cAAX,EAAN;AAAA,UAAgC9L,IAAE/N,EAAEwoC,WAAF,EAAlC;AAAA,UAAkD3pC,IAAE,EAApD,CAAuD00B,MAAIr1B,EAAE6b,YAAF,GAAewZ,CAAnB,GAAsBM,MAAI31B,EAAEkG,OAAF,GAAUyvB,CAAd,CAAtB,CAAuC,KAAI,IAAIvlB,CAAR,IAAaV,CAAb,EAAe/O,EAAE0D,IAAF,CAAO,OAAKqL,EAAEU,CAAF,CAAZ,EAAkB,IAAGpQ,EAAE8b,MAAF,GAAS,YAAU;AAAC,gBAAM9b,EAAE2N,MAAR,IAAgB,QAAM3N,EAAE2N,MAAxB,GAA+BmnB,EAAE,EAAC/zB,SAAQ4c,CAAT,EAAW3U,KAAIhJ,CAAf,EAAF,CAA/B,GAAoDM,EAAE,IAAI6R,KAAJ,CAAU,EAACpR,SAAQ4c,CAAT,EAAW3U,KAAIhJ,CAAf,EAAiBuI,MAAK,OAAtB,EAAV,CAAF,CAApD;AAAiG,OAArH,EAAsHvI,EAAEuqC,OAAF,GAAU,UAASzV,CAAT,EAAW;AAACx0B,UAAE,IAAI6R,KAAJ,CAAU,EAACpR,SAAQ4c,CAAT,EAAW3U,KAAIhJ,CAAf,EAAiBuI,MAAK,OAAtB,EAAV,CAAF;AAA6C,OAAzL,EAA0LvI,EAAEwqC,SAAF,GAAY,UAAS1V,CAAT,EAAW;AAACx0B,UAAE,IAAI6R,KAAJ,CAAU,EAACpR,SAAQ4c,CAAT,EAAW3U,KAAIhJ,CAAf,EAAiBuI,MAAK,OAAtB,EAAV,CAAF;AAA6C,OAA/P,EAAgQvI,EAAEyqC,OAAF,GAAU,YAAU;AAACnqC,UAAE,IAAI6R,KAAJ,CAAU,EAACpR,SAAQ4c,CAAT,EAAW3U,KAAIhJ,CAAf,EAAiBuI,MAAK,OAAtB,EAAV,CAAF;AAA6C,OAAlU,EAAmU,UAAQsH,CAA9U,EAAgV7P,EAAE4b,IAAF,CAAO/L,CAAP,EAAS,KAAGolB,CAAZ,GAAej1B,EAAEic,IAAF,EAAf,CAAhV,KAA4W;AAAC,YAAG,WAASpM,CAAZ,EAAc,MAAM,IAAIsC,KAAJ,CAAU,SAAOtC,CAAP,GAAS,mBAAnB,CAAN,CAA8C7P,EAAE4b,IAAF,CAAO/L,CAAP,EAASolB,CAAT,GAAYj1B,EAAE0qC,gBAAF,CAAmB,cAAnB,EAAkC,mCAAlC,CAAZ,EAAmF1qC,EAAEic,IAAF,CAAOtb,EAAEqD,IAAF,CAAO,GAAP,CAAP,CAAnF;AAAuG;AAAC,KAArqB,CAAlB;AAAyrB,GAAptH;AAAA,MAAqtH2mC,KAAG,SAAxtH;AAAA,MAAkuHC,KAAG,UAAruH;AAAA,MAAgvHC,KAAG,UAAnvH;AAAA,MAA8vHC,KAAG,MAAjwH;AAAA,MAAwwHC,KAAG,oBAA3wH;AAAA,MAAgyHC,KAAG,CAAC,6EAAD,EAA+E,2DAA/E,EAA2I,yCAA3I,CAAnyH;AAAA,MAAy9HC,KAAG,YAA59H;AAAA,MAAy+HC,KAAG,WAA5+H;AAAA,MAAw/HC,KAAG,cAA3/H;AAAA,MAA0gInU,KAAG,YAAU;AAAC,aAASlC,CAAT,GAAY;AAAC8E,SAAG,IAAH,EAAQ9E,CAAR;AAAW,YAAOuN,GAAGvN,CAAH,EAAK,IAAL,EAAU,CAAC,EAAC31B,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,aAAI,IAAIx0B,IAAE,EAAN,EAAS20B,IAAE,CAAX,EAAaj1B,IAAE,CAAnB,EAAqBA,IAAE80B,EAAEl1B,MAAzB,EAAgCI,GAAhC,EAAoC;AAAC,cAAGi1B,KAAG,EAAH,KAAQA,IAAE,CAAV,GAAa,MAAIA,CAApB,EAAsB;AAAC,gBAAInzB,IAAE,EAACY,OAAMoyB,EAAE90B,CAAF,EAAK0C,KAAZ,EAAkBiB,MAAK,CAACmxB,EAAE90B,CAAF,CAAD,CAAvB,EAA8BgC,KAAI8yB,EAAE90B,CAAF,EAAKgC,GAAvC,EAAN,CAAkD1B,EAAE+D,IAAF,CAAOvC,CAAP;AAAU,WAAnF,MAAwFxB,EAAEA,EAAEV,MAAF,GAAS,CAAX,EAAc+D,IAAd,CAAmBU,IAAnB,CAAwBywB,EAAE90B,CAAF,CAAxB,GAA8BM,EAAEA,EAAEV,MAAF,GAAS,CAAX,EAAcoC,GAAd,GAAkB8yB,EAAE90B,CAAF,EAAKgC,GAArD,CAAyDizB;AAAI,gBAAO30B,CAAP;AAAS,OAAtO,EAAD,EAAyO,EAACnB,KAAI,OAAL,EAAaC,OAAM,UAASkB,CAAT,EAAW20B,CAAX,EAAa;AAAC,YAAIj1B,IAAE80B,EAAEsW,WAAF,CAAc9qC,CAAd,CAAN,CAAuBN,KAAGi1B,EAAE,EAACx3B,QAAOuC,CAAR,EAAF,CAAH,CAAiB,IAAG;AAAC,cAAI8B,IAAE,EAAN,CAAS,UAAQ9B,CAAR,GAAU8B,IAAEgzB,EAAEuW,QAAF,CAAW/qC,CAAX,CAAZ,GAA0B,UAAQN,CAAR,KAAY8B,IAAEgzB,EAAEwW,QAAF,CAAWhrC,CAAX,CAAd,CAA1B,EAAuD20B,EAAE,EAACx3B,QAAOuC,CAAR,EAAU2D,MAAK7B,EAAE6B,IAAjB,EAAsBkzB,QAAO/0B,EAAE+0B,MAA/B,EAAF,CAAvD;AAAiG,SAA9G,CAA8G,OAAM/B,CAAN,EAAQ;AAACrsB,kBAAQoI,KAAR,CAAcikB,CAAd,GAAiBG,EAAE,EAACx3B,QAAOuC,CAAR,EAAF,EAAa80B,CAAb,CAAjB;AAAiC;AAAC,OAAlO,EAAzO,EAA6c,EAAC31B,KAAI,cAAL,EAAoBC,OAAM,YAAU;AAAC,YAAI01B,IAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D;AAAA,YAAgErG,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAAzH;AAAA,YAA4HsuB,IAAEH,EAAEvZ,KAAF,CAAQ,GAAR,CAA9H;AAAA,YAA2IzZ,IAAE,EAA7I;AAAA,YAAgJuzB,IAAE,EAAlJ,CAAqJ,IAAG;AAAC,cAAI10B,IAAEs0B,EAAEr1B,MAAF,GAASU,EAAEV,MAAjB,CAAwB,OAAOy1B,IAAE10B,IAAE,CAAF,GAAIs0B,EAAExlB,MAAF,CAASnP,EAAEV,MAAF,GAAS,CAAlB,EAAoBe,IAAE,CAAtB,EAAyBqD,IAAzB,CAA8B,GAA9B,IAAmC,EAAvC,GAA0CixB,EAAEA,EAAEr1B,MAAF,GAAS,CAAX,IAAc,EAA1D,EAA6Dy1B,IAAEA,EAAE5iB,OAAF,CAAU,OAAV,EAAkB,EAAlB,CAA/D,EAAqF4iB,IAAExlB,EAAEwlB,CAAF,CAAvF,EAA4FJ,EAAE30B,EAAEV,MAAF,GAAS,CAAX,IAAcy1B,CAA1G,EAA4G/0B,EAAEuD,GAAF,CAAM,UAASixB,CAAT,EAAWx0B,CAAX,EAAa;AAAC,sBAAQw0B,CAAR,IAAW,YAAUA,CAArB,GAAuBhzB,EAAEgzB,CAAF,IAAK90B,EAAEi1B,EAAE30B,CAAF,EAAKib,KAAL,CAAW,GAAX,CAAF,CAA5B,GAA+C,WAASuZ,CAAT,GAAWhzB,EAAEgzB,CAAF,IAAK,CAACG,EAAE30B,CAAF,CAAD,CAAhB,GAAuB,YAAUw0B,CAAV,IAAahzB,EAAEgzB,CAAF,IAAK,CAACG,EAAE30B,CAAF,CAAD,CAAL,EAAYwB,EAAEypC,OAAF,GAAU,CAACtW,EAAE30B,CAAF,CAAD,CAAnC,IAA2CwB,EAAEgzB,CAAF,IAAK,YAAUA,CAAV,GAAY,CAACG,EAAE30B,CAAF,CAAD,CAAZ,GAAmBmB,OAAOwzB,EAAE30B,CAAF,CAAP,IAAamB,OAAOwzB,EAAE30B,CAAF,CAAP,CAAb,GAA0B20B,EAAE30B,CAAF,CAAnK;AAAwK,WAA5L,CAA5G,EAA0SwB,CAAjT;AAAmT,SAA/U,CAA+U,OAAMgzB,CAAN,EAAQ;AAAC,iBAAOrsB,QAAQoI,KAAR,CAAcikB,CAAd,GAAiB,EAAxB;AAA2B;AAAC,OAA9iB,EAA7c,EAA6/B,EAAC31B,KAAI,UAAL,EAAgBC,OAAM,UAASkB,CAAT,EAAW;AAAC,aAAI,IAAI20B,IAAE30B,EAAEib,KAAF,CAAQ,IAAR,CAAN,EAAoBvb,IAAE,EAAtB,EAAyB8B,IAAE,CAA3B,EAA6B+N,IAAE,CAA/B,EAAiCwlB,IAAE,EAAnC,EAAsC10B,IAAE,EAAxC,EAA2Cg1B,IAAE,IAAjD,EAAsD7zB,IAAEmzB,EAAEr1B,MAA1D,GAAkE;AAAC,cAAGqrC,GAAGt6B,IAAH,CAAQskB,EAAEnzB,CAAF,CAAR,CAAH,EAAiBnB,IAAE,CAACA,IAAEs0B,EAAEnzB,CAAF,EAAK2Q,OAAL,CAAaw4B,EAAb,EAAgB,EAAhB,EAAoBx4B,OAApB,CAA4B,MAA5B,EAAmC,EAAnC,EAAuC8I,KAAvC,CAA6C,GAA7C,CAAH,EAAsD1X,GAAtD,CAA0D,UAASixB,CAAT,EAAW;AAAC,mBAAOA,EAAE0W,iBAAF,EAAP;AAA6B,WAAnG,CAAF,CAAjB,KAA6H,IAAGN,GAAGv6B,IAAH,CAAQskB,EAAEnzB,CAAF,CAAR,CAAH,EAAiBuzB,EAAEhxB,IAAF,CAAO4wB,EAAEnzB,CAAF,EAAK2Q,OAAL,CAAay4B,EAAb,EAAgB,EAAhB,EAAoBz4B,OAApB,CAA4B,MAA5B,EAAmC,EAAnC,CAAP,EAAjB,KAAqE,IAAG04B,GAAGx6B,IAAH,CAAQskB,EAAEnzB,CAAF,CAAR,CAAH,EAAiB;AAAC,gBAAIsO,IAAE0kB,EAAE2W,YAAF,CAAexW,EAAEnzB,CAAF,EAAK2Q,OAAL,CAAa04B,EAAb,EAAgB,EAAhB,CAAf,EAAmCxqC,CAAnC,CAAN,CAA4C,IAAGg1B,KAAGvlB,EAAE1N,KAAF,KAAUizB,EAAEjzB,KAAf,IAAsB0N,EAAEpO,GAAF,KAAQ2zB,EAAE3zB,GAAnC,EAAuC,IAAG;AAAC,kBAAI0N,IAAEimB,CAAN;AAAA,kBAAQhY,IAAEjO,EAAEqG,IAAZ;AAAA,kBAAiBzU,IAAEoO,EAAE67B,OAArB;AAAA,kBAA6Br9B,IAAEwB,EAAE1M,KAAjC,CAAuC2a,EAAEtZ,IAAF,CAAO+L,EAAE2F,IAAF,CAAO,CAAP,CAAP,GAAkBzU,EAAE+C,IAAF,CAAO+L,EAAEm7B,OAAF,CAAU,CAAV,CAAP,CAAlB,EAAuCr9B,EAAE7J,IAAF,CAAO+L,EAAEpN,KAAF,CAAQ,CAAR,CAAP,CAAvC;AAA0D,aAArG,CAAqG,OAAM8xB,CAAN,EAAQ;AAACrsB,sBAAQoI,KAAR,CAAcikB,CAAd;AAAiB,aAAtK,MAA0K;AAACa,kBAAEvlB,CAAF,CAAI,IAAIylB,IAAE,IAAN,CAAWhmB,IAAE,EAAF,IAAM,CAAN,IAAS,CAACgmB,IAAE,EAACnzB,OAAMizB,EAAEjzB,KAAT,EAAeV,KAAI2zB,EAAE3zB,GAArB,EAAyB2B,MAAK,EAA9B,EAAH,EAAsCA,IAAtC,CAA2CU,IAA3C,CAAgDsxB,CAAhD,GAAmD31B,EAAEqE,IAAF,CAAOwxB,CAAP,CAA5D,KAAwE,CAACA,IAAE71B,EAAEA,EAAEJ,MAAF,GAAS,CAAX,CAAH,EAAkBoC,GAAlB,GAAsB2zB,EAAE3zB,GAAxB,EAA4B6zB,EAAElyB,IAAF,CAAOU,IAAP,CAAYsxB,CAAZ,CAApG,GAAoH9lB,GAApH;AAAwH;AAAC;AAAI,gBAAM,EAAClM,MAAK3D,CAAN,EAAQgD,OAAM,EAAd,EAAN;AAAwB,OAAprB,EAA7/B,EAAmrD,EAAC7D,KAAI,eAAL,EAAqBC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,YAAI20B,IAAEH,EAAEvZ,KAAF,CAAQ,GAAR,CAAN,CAAmB,IAAG0Z,EAAEr1B,MAAF,GAAS,CAAZ,EAAc;AAAC,cAAII,IAAEi1B,EAAE,CAAF,EAAKniB,IAAL,GAAYyI,KAAZ,CAAkB,GAAlB,CAAN;AAAA,cAA6BzZ,IAAE,EAA/B,CAAkC9B,EAAEJ,MAAF,GAAS,CAAT,GAAWI,EAAE6D,GAAF,CAAM,UAASixB,CAAT,EAAWx0B,CAAX,EAAa;AAACwB,iBAAG,MAAIxB,CAAJ,GAAMw0B,CAAN,GAAQA,EAAE+H,MAAF,CAAS,CAAT,EAAYyN,WAAZ,KAA0BxV,EAAEllB,KAAF,CAAQ,CAAR,CAArC;AAAgD,WAApE,CAAX,GAAiF9N,IAAE9B,EAAE,CAAF,CAAnF,EAAwFM,EAAEwB,CAAF,IAAKmzB,EAAE,CAAF,EAAKniB,IAAL,GAAYL,OAAZ,CAAoB,IAApB,EAAyB,EAAzB,CAA7F;AAA0H,gBAAOnS,CAAP;AAAS,OAAhP,EAAnrD,EAAq6D,EAACnB,KAAI,UAAL,EAAgBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,aAAI,IAAIx0B,IAAE,CAACw0B,IAAEA,EAAEriB,OAAF,CAAUk4B,EAAV,EAAa,EAAb,CAAH,EAAqBpvB,KAArB,CAA2B,IAA3B,CAAN,EAAuC0Z,IAAE,EAAzC,EAA4Cj1B,IAAE,CAA9C,EAAgD6P,IAAE,CAAlD,EAAoDlP,IAAE,IAAtD,EAA2Dg1B,IAAE,CAAC,CAA9D,EAAgEvlB,IAAE,CAAC,CAAnE,EAAqEV,IAAE,IAAvE,EAA4EiO,IAAE,IAA9E,EAAmFrc,IAAE,EAAzF,EAA4FtB,IAAEM,EAAEV,MAAhG,GAAwG;AAAC,cAAIsO,IAAEmnB,EAAEr1B,CAAF,EAAIM,CAAJ,EAAOwS,IAAP,EAAN,CAAoB,IAAG,CAAC5E,CAAD,IAAIynB,KAAG7zB,EAAEoM,CAAF,CAAV,EAAeynB,IAAE,CAACznB,CAAH,CAAf,KAAyB,IAAG28B,GAAGl6B,IAAH,CAAQzC,CAAR,KAAY08B,GAAGj6B,IAAH,CAAQ0kB,EAAEr1B,IAAE,CAAJ,EAAMM,CAAN,EAASwS,IAAT,EAAR,CAAf,EAAwC;AAAC1C,gBAAE,CAAC,CAAH,CAAK,IAAIylB,IAAE,aAAa6V,IAAb,CAAkBx9B,CAAlB,CAAN,CAA2ByP,IAAEkY,IAAEA,EAAE,CAAF,CAAF,GAAO,EAAT,EAAYnmB,IAAE,EAAd;AAAiB,WAA1F,MAA+F,IAAGU,CAAH,EAAK06B,GAAGn6B,IAAH,CAAQzC,CAAR,KAAY5M,EAAE+C,IAAF,CAAO,EAAClF,KAAIwe,CAAL,EAAO3a,OAAM0M,CAAb,EAAP,GAAwBA,IAAE,IAA1B,EAA+BiO,IAAE,IAAjC,EAAsCvN,IAAE,CAAC,CAArD,IAAwDV,KAAGxB,CAA3D,CAAL,KAAuE,IAAGA,CAAH,EAAK;AAACynB,gBAAE,CAAC,CAAH,CAAK,IAAIG,IAAE,KAAK6V,WAAL,CAAiBrrC,EAAEN,CAAF,CAAjB,CAAN,CAA6B,IAAG81B,CAAH,EAAK;AAAC,kBAAIjY,IAAE,KAAK+tB,YAAL,CAAkB9V,CAAlB,CAAN,CAA2B,IAAG,CAACn1B,CAAD,IAAIkd,EAAEnb,KAAF,KAAU/B,EAAE+B,KAAhB,IAAuBmb,EAAE7b,GAAF,KAAQrB,EAAEqB,GAApC,EAAwC;AAAC,iBAACrB,IAAEkd,CAAH,EAAM9H,IAAN,GAAW,EAAX,EAAcpV,EAAE4qC,OAAF,GAAU,EAAxB,CAA2B,IAAI/U,IAAE,IAAN,CAAW3mB,IAAE,EAAF,IAAM,CAAN,IAAS,CAAC2mB,IAAE,EAAC9zB,OAAM/B,EAAE+B,KAAT,EAAeV,KAAIrB,EAAEqB,GAArB,EAAyB2B,MAAK,EAA9B,EAAH,EAAsCA,IAAtC,CAA2CU,IAA3C,CAAgD1D,CAAhD,GAAmDs0B,EAAE5wB,IAAF,CAAOmyB,CAAP,CAA5D,KAAwE,CAACA,IAAEvB,EAAEA,EAAEr1B,MAAF,GAAS,CAAX,CAAH,EAAkBoC,GAAlB,GAAsBrB,EAAEqB,GAAxB,EAA4Bw0B,EAAE7yB,IAAF,CAAOU,IAAP,CAAY1D,CAAZ,CAApG,GAAoHkP,GAApH;AAAwH;AAAC,aAAzO,MAA8O,IAAGlP,CAAH,EAAK;AAAC,kBAAI+1B,IAAE/1B,CAAN;AAAA,kBAAQi2B,IAAEF,EAAE3gB,IAAZ;AAAA,kBAAiByM,IAAEkU,EAAE6U,OAArB;AAAA,kBAA6BrpC,IAAE,KAAK2pC,YAAL,CAAkBvrC,EAAEN,CAAF,CAAlB,CAA/B,CAAuD42B,EAAEvyB,IAAF,CAAOnC,EAAE6T,IAAT,GAAeyM,EAAEne,IAAF,CAAOnC,EAAE4pC,GAAT,CAAf;AAA6B,iBAAE,CAAC,CAAH;AAAK;AAAI,gBAAM,EAACnoC,MAAKsxB,CAAN,EAAQ4B,QAAOv1B,CAAf,EAAN;AAAwB,OAA/uB,EAAr6D,EAAspF,EAACnC,KAAI,aAAL,EAAmBC,OAAM,UAAS01B,CAAT,EAAW;AAACA,YAAEA,EAAEriB,OAAF,CAAU,MAAV,EAAiB,EAAjB,CAAF,CAAuB,KAAI,IAAInS,IAAE,CAAN,EAAQ20B,IAAE,IAAd,EAAmB30B,IAAE0qC,GAAGprC,MAAL,IAAa,EAAEq1B,IAAE+V,GAAG1qC,CAAH,EAAMorC,IAAN,CAAW5W,CAAX,CAAJ,CAAhC,GAAoDx0B,IAAI,OAAO20B,IAAEA,EAAE,CAAF,CAAF,GAAO,IAAd;AAAmB,OAAvI,EAAtpF,EAA+xF,EAAC91B,KAAI,cAAL,EAAoBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,aAAaorC,IAAb,CAAkB5W,CAAlB,CAAN;AAAA,YAA2BG,IAAE,EAA7B;AAAA,YAAgCj1B,IAAE,SAAlC,CAA4C,IAAGM,CAAH,EAAK;AAACN,cAAEM,EAAE,CAAF,EAAKmS,OAAL,CAAa,WAAb,EAAyB,EAAzB,CAAF,CAA+B,IAAI3Q,IAAE4zB,OAAO,OAAK11B,CAAL,GAAO,mBAAP,GAA2BA,CAA3B,GAA6B,IAApC,EAA0C0rC,IAA1C,CAA+C5W,CAA/C,CAAN,CAAwDhzB,IAAEmzB,IAAEnzB,EAAE,CAAF,CAAJ,IAAUmzB,IAAEH,CAAF,EAAI90B,IAAE,EAAhB;AAAoB,SAAjH,MAAsHi1B,IAAEH,CAAF,CAAI,KAAI,IAAIO,IAAE,gBAAN,EAAuB10B,IAAE00B,EAAEqW,IAAF,CAAOzW,CAAP,CAA7B,EAAuCt0B,KAAGA,EAAEf,MAAF,GAAS,CAAnD,GAAsDq1B,IAAEA,EAAExiB,OAAF,CAAU9R,EAAE,CAAF,CAAV,EAAe,MAAIA,EAAE,CAAF,CAAJ,GAAS,UAAT,GAAoBA,EAAE,CAAF,CAApB,GAAyB,IAAxC,CAAF,EAAgDA,IAAE00B,EAAEqW,IAAF,CAAOzW,CAAP,CAAlD,CAA4D,OAAM,EAAC6W,KAAI9rC,CAAL,EAAO+V,MAAKlG,EAAEolB,EAAExiB,OAAF,CAAU,OAAV,EAAkB,OAAlB,CAAF,CAAZ,EAAN;AAAiD,OAA/W,EAA/xF,EAAgpG,EAACtT,KAAI,cAAL,EAAoBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAEw0B,EAAEvZ,KAAF,CAAQ,QAAR,CAAN;AAAA,YAAwB0Z,IAAE,KAAK,CAA/B;AAAA,YAAiCnzB,IAAE,CAAnC,CAAqC,IAAG,MAAIxB,EAAEV,MAAT,EAAgB;AAAC,cAAIiQ,IAAEvP,EAAE,CAAF,EAAKib,KAAL,CAAW,GAAX,CAAN;AAAA,cAAsB8Z,IAAE/0B,EAAE,CAAF,EAAKib,KAAL,CAAW,GAAX,CAAxB,CAAwC0Z,IAAEj1B,EAAE6P,CAAF,CAAF,EAAO/N,IAAE9B,EAAEq1B,CAAF,CAAT;AAAc,gBAAM,EAAC3yB,OAAMuyB,CAAP,EAASjzB,KAAIF,CAAb,EAAe3B,MAAK20B,CAApB,EAAN;AAA6B,OAA/K,EAAhpG,EAAi0G,EAAC31B,KAAI,OAAL,EAAaC,OAAM,UAAS01B,CAAT,EAAW;AAAC,eAAO6V,GAAGh6B,IAAH,CAAQmkB,CAAR,CAAP;AAAkB,OAAjD,EAAj0G,EAAo3G,EAAC31B,KAAI,OAAL,EAAaC,OAAM,UAAS01B,CAAT,EAAW;AAAC,eAAOiW,GAAGp6B,IAAH,CAAQmkB,CAAR,CAAP;AAAkB,OAAjD,EAAp3G,EAAu6G,EAAC31B,KAAI,aAAL,EAAmBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,eAAOA,IAAE6V,GAAGh6B,IAAH,CAAQmkB,CAAR,IAAW,KAAX,GAAiBiW,GAAGp6B,IAAH,CAAQmkB,CAAR,IAAW,KAAX,GAAiB,IAApC,GAAyC,IAAhD;AAAqD,OAA1F,EAAv6G,CAAV,GAA+gHA,CAAthH;AAAwhH,GAA3jH,EAA7gI;AAAA,MAA2kPwB,KAAG,YAAU;AAAC,aAASxB,CAAT,GAAY;AAAC,UAAIx0B,IAAE,IAAN,CAAWs5B,GAAG,IAAH,EAAQ9E,CAAR,GAAW,KAAKiX,UAAL,GAAgB,EAA3B,EAA8B9rC,OAAO+rC,cAAP,KAAwB,KAAKC,QAAL,GAAc,IAAIhsC,OAAO+rC,cAAX,CAA0B,UAASlX,CAAT,EAAW;AAACx0B,UAAE4rC,SAAF,CAAYpX,CAAZ;AAAe,OAArD,CAAtC,CAA9B;AAA4H,YAAOuN,GAAGvN,CAAH,EAAK,CAAC,EAAC31B,KAAI,aAAL,EAAmBC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,YAAG,KAAK2rC,QAAR,EAAiB;AAAC,eAAKA,QAAL,IAAe,KAAKA,QAAL,CAAc3E,OAAd,CAAsBxS,CAAtB,CAAf,CAAwC,KAAI,IAAIG,IAAE,KAAK8W,UAAX,EAAsB/rC,IAAE,CAAC,CAAzB,EAA2B8B,IAAE,CAAjC,EAAmCA,IAAEmzB,EAAEr1B,MAAvC,EAA8CkC,GAA9C,EAAkDmzB,EAAEnzB,CAAF,KAAMgzB,MAAIG,EAAEnzB,CAAF,EAAKia,MAAf,KAAwB/b,IAAE8B,CAA1B,EAA6B9B,IAAE,CAAC,CAAH,GAAK,KAAK+rC,UAAL,CAAgB/rC,CAAhB,EAAmBmsC,OAAnB,CAA2B9nC,IAA3B,CAAgC/D,CAAhC,CAAL,GAAwC,KAAKyrC,UAAL,CAAgB1nC,IAAhB,CAAqB,EAAC0X,QAAO+Y,CAAR,EAAUqX,SAAQ,CAAC7rC,CAAD,CAAlB,EAArB,CAAxC;AAAqF;AAAC,OAAtQ,EAAD,EAAyQ,EAACnB,KAAI,YAAL,EAAkBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,CAAC,CAAP,CAAS,KAAKyrC,UAAL,CAAgBloC,GAAhB,CAAoB,UAASoxB,CAAT,EAAWj1B,CAAX,EAAa;AAAC80B,gBAAIG,EAAElZ,MAAN,KAAezb,IAAEN,CAAjB;AAAoB,SAAtD,GAAwD,KAAKisC,QAAL,IAAe,KAAKA,QAAL,CAAcG,SAAd,CAAwBtX,CAAxB,CAAvE,EAAkGx0B,IAAE,CAAC,CAAH,IAAM,KAAKyrC,UAAL,CAAgBt8B,MAAhB,CAAuBnP,CAAvB,EAAyB,CAAzB,CAAxG;AAAoI,OAAjL,EAAzQ,EAA4b,EAACnB,KAAI,iBAAL,EAAuBC,OAAM,YAAU;AAAC,aAAK6sC,QAAL,IAAe,KAAKA,QAAL,CAAcI,UAAd,EAAf,EAA0C,KAAKJ,QAAL,GAAc,IAAxD,EAA6D,KAAKF,UAAL,GAAgB,IAA7E;AAAkF,OAA1H,EAA5b,EAAwjB,EAAC5sC,KAAI,cAAL,EAAoBC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,aAAI,IAAI20B,IAAE,KAAK8W,UAAX,EAAsB/rC,IAAE,CAA5B,EAA8BA,IAAEi1B,EAAEr1B,MAAlC,EAAyCI,GAAzC,EAA6C,IAAGi1B,EAAEj1B,CAAF,KAAM80B,MAAIG,EAAEj1B,CAAF,EAAK+b,MAAlB,EAAyB;AAACkZ,YAAEj1B,CAAF,EAAKmsC,OAAL,IAAclX,EAAEj1B,CAAF,EAAKmsC,OAAL,CAAatoC,GAAb,CAAiB,UAASoxB,CAAT,EAAW;AAAC,gBAAG;AAACA,gBAAEH,CAAF,EAAIx0B,CAAJ;AAAO,aAAX,CAAW,OAAMw0B,CAAN,EAAQ;AAACrsB,sBAAQoI,KAAR,CAAcikB,CAAd;AAAiB;AAAC,WAAnE,CAAd,CAAmF;AAAM;AAAC,OAAzM,EAAxjB,EAAmwB,EAAC31B,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN,CAAWw0B,EAAEjxB,GAAF,CAAM,UAASixB,CAAT,EAAW;AAAC,cAAIG,IAAEH,EAAEwX,WAAR,CAAoBhsC,EAAEisC,YAAF,CAAezX,EAAE/Y,MAAjB,EAAwBkZ,CAAxB;AAA2B,SAAjE;AAAmE,OAAjH,EAAnwB,CAAL,GAA63BH,CAAp4B;AAAs4B,GAAriC,EAA9kP;AAAA,MAAsnRuB,KAAG,IAAznR,CAA8nR,CAAC,UAASvB,CAAT,EAAWx0B,CAAX,EAAa;AAAC,SAAK,CAAL,KAASA,CAAT,KAAaA,IAAE,EAAf,EAAmB,IAAI20B,IAAE30B,EAAEksC,QAAR,CAAiB,IAAG1X,KAAG,eAAa,OAAO71B,QAA1B,EAAmC;AAAC,UAAIe,IAAEf,SAAS82B,IAAT,IAAe92B,SAAS+2B,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAArB;AAAA,UAA8Dl0B,IAAE7C,SAAS6b,aAAT,CAAuB,OAAvB,CAAhE,CAAgGhZ,EAAEyG,IAAF,GAAO,UAAP,EAAkB,UAAQ0sB,CAAR,IAAWj1B,EAAEysC,UAAb,GAAwBzsC,EAAE0sC,YAAF,CAAe5qC,CAAf,EAAiB9B,EAAEysC,UAAnB,CAAxB,GAAuDzsC,EAAEod,WAAF,CAActb,CAAd,CAAzE,EAA0FA,EAAEm0B,UAAF,GAAan0B,EAAEm0B,UAAF,CAAaC,OAAb,GAAqBpB,CAAlC,GAAoChzB,EAAEsb,WAAF,CAAcne,SAASm3B,cAAT,CAAwBtB,CAAxB,CAAd,CAA9H;AAAwK;AAAC,GAA/V,CAAgW,64DAAhW,CAAD,CAAgvE,IAAI6B,KAAG,CAAC,EAAChxB,MAAK,CAAN,EAAQC,KAAI,SAAZ,EAAD,EAAwB,EAACD,MAAK,CAAN,EAAQC,KAAI,YAAZ,EAAxB,EAAkD,EAACD,MAAK,CAAN,EAAQC,KAAI,cAAZ,EAAlD,EAA8E,EAACD,MAAK,CAAN,EAAQC,KAAI,sBAAZ,EAA9E,EAAkH,EAACD,MAAK,CAAN,EAAQC,KAAI,0BAAZ,EAAlH,EAA0J,EAACD,MAAK,CAAN,EAAQC,KAAI,kBAAZ,EAA1J,EAA0L,EAACD,MAAK,CAAN,EAAQC,KAAI,OAAZ,EAA1L,EAA+M,EAACD,MAAK,CAAN,EAAQC,KAAI,SAAZ,EAA/M,EAAsO,EAACD,MAAK,CAAN,EAAQC,KAAI,iCAAZ,EAAtO,CAAP;AAAA,MAA6R+mC,KAAG,EAACC,QAAO,QAAR,EAAhS;AAAA,MAAkTC,KAAG,CAAC,CAAtT,CAAwT,OAAO,UAAS/X,CAAT,EAAW;AAAC,aAASx0B,CAAT,CAAWw0B,CAAX,EAAa;AAAC8E,SAAG,IAAH,EAAQt5B,CAAR,EAAW,IAAI20B,IAAE+M,GAAG,IAAH,EAAQ,CAAC1hC,EAAEkiC,SAAF,IAAa7I,GAAGr5B,CAAH,CAAd,EAAqBiO,IAArB,CAA0B,IAA1B,CAAR,CAAN,CAA+C,OAAOs+B,KAAGhX,GAAH,EAAOZ,EAAE6X,WAAF,GAAc,IAArB,EAA0B7X,EAAEf,SAAF,GAAY,EAAtC,EAAyCe,EAAE8X,IAAF,GAAO,CAAC,CAAjD,EAAmD9X,EAAE+X,IAAF,GAAO,CAAC,CAA3D,EAA6D/X,EAAEgY,KAAF,GAAQ,EAArE,EAAwEhY,EAAEiY,IAAF,GAAO,IAA/E,EAAoFjY,EAAEkY,GAAF,GAAM,CAA1F,EAA4FlY,EAAE7rB,MAAF,GAAS,IAArG,EAA0G6rB,EAAE/hB,IAAF,GAAO,IAAjH,EAAsH+hB,EAAEjV,MAAF,GAAS,EAAC1Z,MAAK,QAAN,EAAemuB,QAAO,CAAtB,EAAwBzgB,MAAK,QAA7B,EAAsCmgB,aAAY,CAAC,CAAnD,EAAqDT,WAAU,EAA/D,EAAkEC,WAAU,EAA5E,EAA+EC,SAAQ,EAAvF,EAA0FC,eAAc,EAAxG,EAA2GL,UAAS,CAAC,CAArH,EAAuHC,cAAa,CAApI,EAAsIK,WAAU,MAAhJ,EAA/H,EAAuRmB,EAAEmY,MAAF,GAAS,CAAhS,EAAkSnY,EAAEoY,aAAF,GAAgB,EAAlT,EAAqTzX,GAAGX,EAAEjV,MAAL,EAAanc,GAAb,CAAiB,UAASvD,CAAT,EAAW;AAAC,aAAK,CAAL,KAASw0B,EAAEx0B,CAAF,CAAT,IAAe,SAAOw0B,EAAEx0B,CAAF,CAAtB,KAA6B20B,EAAEjV,MAAF,CAAS1f,CAAT,IAAYw0B,EAAEx0B,CAAF,CAAzC;AAA+C,OAA5E,CAArT,EAAmY20B,EAAEqY,OAAF,GAAU,CAAC,CAA9Y,EAAgZrY,EAAEsY,UAAF,GAAa,EAAClc,OAAM,CAAP,EAASE,aAAY,CAArB,EAAuBD,YAAW,CAAlC,EAAoCkc,QAAO,CAA3C,EAA6CC,SAAQ,CAArD,EAAuDC,QAAO,CAA9D,EAAgEC,SAAQ,CAAxE,EAA0E1Z,SAAQ,CAAlF,EAAoF2Z,OAAM,CAA1F,EAA4F7iB,cAAa,CAAzG,EAA7Z,EAAygB+J,EAAEV,SAAF,IAAa,YAAU9yB,EAAEwzB,EAAEV,SAAJ,CAAvB,IAAuCU,EAAE1rB,MAAF,IAAU6rB,EAAE4Y,YAAF,CAAe/Y,EAAE1rB,MAAjB,CAAV,EAAmC6rB,EAAE6Y,YAAF,CAAehZ,EAAEV,SAAjB,EAA2Ba,EAAEjV,MAAF,CAASmU,WAApC,CAAnC,EAAoFc,CAA3H,IAA8H+M,GAAG/M,CAAH,CAA9oB;AAAopB,YAAO3yB,GAAGhC,CAAH,EAAKw0B,CAAL,GAAQuN,GAAG/hC,CAAH,EAAK,CAAC,EAACnB,KAAI,SAAL,EAAe2H,KAAI,YAAU;AAAC,eAAM,QAAN;AAAe,OAA7C,EAAD,CAAL,CAAR,EAA+Du7B,GAAG/hC,CAAH,EAAK,CAAC,EAACnB,KAAI,cAAL,EAAoBC,OAAM,YAAU;AAAC,YAAI01B,IAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D;AAAA,YAAgErG,IAAE,IAAlE;AAAA,YAAuE20B,IAAEtuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,IAA2CA,UAAU,CAAV,CAApH;AAAA,YAAiI3G,IAAE,EAAE2G,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA/B,KAA8CA,UAAU,CAAV,CAAjL;AAAA,YAA8L7E,IAAE,KAAKwrC,OAAL,IAAcrY,CAA9M,CAAgNj1B,KAAG,KAAK+tC,SAAR,IAAmB,KAAKC,SAAL,EAAnB,EAAoC,KAAKlB,WAAL,GAAiB,IAArD,EAA0D,KAAK5Y,SAAL,GAAe,EAAzE,EAA4EY,EAAEjxB,GAAF,CAAM,UAASixB,CAAT,EAAW;AAAC,cAAIG,IAAE,EAAN,CAASW,GAAGd,CAAH,EAAMjxB,GAAN,CAAU,UAASvD,CAAT,EAAW;AAAC20B,cAAE30B,CAAF,IAAKw0B,EAAEx0B,CAAF,CAAL;AAAU,WAAhC,GAAkC20B,EAAEgZ,SAAF,KAAc3tC,EAAEwsC,WAAF,GAAc7X,CAA5B,CAAlC,EAAiE30B,EAAE4zB,SAAF,CAAY7vB,IAAZ,CAAiB4wB,CAAjB,CAAjE;AAAqF,SAAhH,CAA5E,EAA8L,KAAK6X,WAAL,IAAkBtqB,EAAE,KAAKsqB,WAAP,EAAoB1V,IAApB,CAAyB,UAAStC,CAAT,EAAW;AAACx0B,YAAE4tC,SAAF,CAAYpZ,CAAZ,GAAehzB,KAAGxB,EAAE6tC,MAAF,EAAlB;AAA6B,SAAlE,CAAhN;AAAoR,OAAzgB,EAAD,EAA4gB,EAAChvC,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAEw0B,EAAE+B,MAAR;AAAA,YAAe5B,IAAEH,EAAEr3B,MAAnB,CAA0B6C,KAAG,UAAQ20B,CAAX,KAAe30B,EAAEuD,GAAF,CAAM,UAASixB,CAAT,EAAW;AAACA,YAAE31B,GAAF,KAAQ21B,EAAE31B,GAAF,GAAM,oBAAd;AAAoC,SAAtD,GAAwD22B,EAAEx1B,CAAF,EAAI,eAAJ,CAAvE;AAA6F,OAA1J,EAA5gB,EAAwqB,EAACnB,KAAI,cAAL,EAAoBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN,CAAW,IAAGw0B,CAAH,EAAK;AAAC,eAAK1rB,MAAL,IAAa,KAAKglC,YAAL,EAAb,CAAiC,IAAInZ,IAAE,KAAKjV,MAAX;AAAA,cAAkBhgB,IAAEi1B,EAAEnB,SAAtB;AAAA,cAAgChyB,IAAEmzB,EAAEjhB,IAApC;AAAA,cAAyCnE,IAAEolB,EAAEzB,QAA7C,CAAsD,KAAKpqB,MAAL,GAAY0rB,CAAZ,EAAc,KAAK5hB,IAAL,GAAUjU,SAAS6b,aAAT,CAAuB,eAAvB,CAAxB,EAAgE,KAAK5H,IAAL,CAAU5T,SAAV,GAAoB,eAApF,EAAoG,CAAC,KAAKguC,OAAN,IAAe3X,EAAE,KAAKziB,IAAP,EAAY,iBAAZ,CAAnH,EAAkJ,CAACrD,CAAD,IAAI8lB,EAAE,KAAKziB,IAAP,EAAY,wBAAZ,CAAtJ,EAA4LpR,KAAG6zB,EAAE,KAAKziB,IAAP,EAAY,gBAAcpR,CAA1B,CAA/L,EAA4N,KAAKisC,SAAL,GAAe9uC,SAAS6b,aAAT,CAAuB,qBAAvB,CAA3O,EAAyR,KAAK5H,IAAL,CAAUkK,WAAV,CAAsB,KAAK2wB,SAA3B,CAAzR,EAA+T/tC,MAAI,KAAKkT,IAAL,CAAUlQ,KAAV,CAAgBqrC,KAAhB,GAAsBruC,CAA1B,CAA/T,EAA4V,KAAK8sC,WAAL,IAAkB,CAAC,UAAD,EAAY,IAAZ,EAAiB,OAAjB,EAA0BjpC,GAA1B,CAA8B,UAASixB,CAAT,EAAW;AAACx0B,cAAE4S,IAAF,CAAO8J,YAAP,CAAoB,UAAQ8X,CAA5B,EAA8Bx0B,EAAEwsC,WAAF,CAAchY,CAAd,KAAkB,EAAhD;AAAoD,WAA9F,CAA9W,EAA8c,KAAK1rB,MAAL,CAAY8J,IAAZ,CAAiBkK,WAAjB,CAA6B,KAAKlK,IAAlC,CAA9c,EAAsf,CAAC,SAAD,EAAW,gBAAX,EAA4B,WAA5B,EAAyCrP,GAAzC,CAA6C,UAASixB,CAAT,EAAW;AAACx0B,cAAEw0B,CAAF,IAAKx0B,EAAEw0B,CAAF,EAAKxZ,IAAL,CAAUhb,CAAV,CAAL;AAAkB,WAA3E,CAAtf,EAAmkB,KAAK8I,MAAL,CAAY9K,EAAZ,CAAe,SAAf,EAAyB,KAAK6pB,OAA9B,CAAnkB,EAA0mB,KAAK/e,MAAL,CAAY9K,EAAZ,CAAe,YAAf,EAA4B,KAAKgwC,cAAjC,CAA1mB,EAA2pB,KAAKhB,OAAL,IAAc,KAAKa,MAAL,EAAzqB,EAAurBtwB,EAAEiX,EAAE5hB,IAAJ,EAAS,KAAKq7B,SAAd,CAAvrB;AAAgtB;AAAC,OAA/1B,EAAxqB,EAAygD,EAACpvC,KAAI,cAAL,EAAoBC,OAAM,YAAU;AAAC,YAAI01B,IAAE,KAAK1rB,MAAX,CAAkB0rB,MAAIA,EAAE/lB,GAAF,CAAM,SAAN,EAAgB,KAAKoZ,OAArB,GAA8B2M,EAAE/lB,GAAF,CAAM,YAAN,EAAmB,KAAKu/B,cAAxB,CAA9B,EAAsExZ,EAAE5hB,IAAF,KAASsjB,EAAE1B,EAAE5hB,IAAJ,EAAS,KAAKq7B,SAAd,GAAyBzZ,EAAE5hB,IAAF,CAAOoK,WAAP,CAAmB,KAAKpK,IAAxB,CAAlC,CAAtE,EAAuI,KAAK66B,SAAL,GAAe,IAAtJ,EAA2J,KAAK76B,IAAL,GAAU,IAArK,EAA0K,KAAK9J,MAAL,GAAY,IAA1L;AAAgM,OAAvP,EAAzgD,EAAkwD,EAACjK,KAAI,QAAL,EAAcC,OAAM,YAAU;AAAC,YAAI01B,IAAE,IAAN;AAAA,YAAWx0B,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAACvC,IAAG,EAAJ,EAAOywB,UAAS,EAAhB,EAApE,CAAwF,OAAO,KAAKwY,aAAL,GAAmB/sC,CAAnB,EAAqB,IAAIw2B,EAAJ,CAAO,UAAS7B,CAAT,EAAWj1B,CAAX,EAAa;AAAC,cAAG,CAACM,EAAE8D,EAAH,IAAO,CAAC9D,EAAEu0B,QAAb,EAAsB;AAAC,gBAAGC,EAAEgY,WAAL,EAAiB;AAAChY,gBAAEuY,aAAF,GAAgB,EAAhB,EAAmBvY,EAAE0Z,cAAF,CAAiB1Z,EAAEgY,WAAnB,CAAnB,EAAmDhY,EAAEwY,OAAF,GAAU,CAAC,CAA9D,EAAgExY,EAAEvU,IAAF,EAAhE,CAAyE,IAAIze,IAAE40B,EAAE,CAAF,EAAI,EAAC9N,SAAQ,iCAAT,EAAJ,CAAN,CAAuD,OAAO,KAAKqM,EAAEnzB,CAAF,CAAZ;AAAiB,iBAAI+N,IAAE6mB,EAAE,CAAF,EAAI,EAAC9N,SAAQ,qBAAT,EAAJ,CAAN,CAA2C,OAAO,KAAK5oB,EAAE6P,CAAF,CAAZ;AAAiB,eAAGilB,EAAEgY,WAAF,IAAe5qC,EAAE5B,CAAF,EAAIw0B,EAAEgY,WAAN,CAAlB,EAAqChY,EAAEuY,aAAF,GAAgB,EAAhB,EAAmBvY,EAAE0Z,cAAF,CAAiB1Z,EAAEgY,WAAnB,CAAnB,EAAmDhY,EAAEwY,OAAF,GAAU,CAAC,CAA9D,EAAgExY,EAAEvU,IAAF,EAAhE,EAAyE0U,EAAEyB,EAAE,CAAF,CAAF,CAAzE,CAArC,KAA0H;AAAC,iBAAI,IAAIrB,IAAE,IAAN,EAAW10B,IAAE,CAAjB,EAAmBA,IAAEm0B,EAAEZ,SAAF,CAAYt0B,MAAjC,EAAwCe,GAAxC,EAA4C,IAAGuB,EAAE5B,CAAF,EAAIw0B,EAAEZ,SAAF,CAAYvzB,CAAZ,CAAJ,CAAH,EAAuB;AAAC00B,kBAAEP,EAAEZ,SAAF,CAAYvzB,CAAZ,CAAF,CAAiB;AAAM,iBAAG00B,CAAH,EAAKA,EAAE1xB,IAAF,IAAQmxB,EAAEuY,aAAF,GAAgB,EAAhB,EAAmBvY,EAAE0Z,cAAF,CAAiBnZ,CAAjB,CAAnB,EAAuCP,EAAEwY,OAAF,GAAU,CAAC,CAAlD,EAAoDxY,EAAEvU,IAAF,EAApD,EAA6D0U,EAAEyB,EAAE,CAAF,CAAF,CAArE,IAA8ElU,EAAE6S,CAAF,EAAK+B,IAAL,CAAU,UAAS92B,CAAT,EAAW;AAAC,kBAAGw0B,EAAEoZ,SAAF,CAAY5tC,CAAZ,GAAew0B,EAAEuY,aAAF,CAAgBjpC,EAAhB,KAAqBixB,EAAEjxB,EAAvB,IAA2B0wB,EAAEuY,aAAF,CAAgBxY,QAAhB,KAA2Bv0B,EAAEu0B,QAA1E,EAAmFC,EAAEuY,aAAF,GAAgB,EAAhB,EAAmBvY,EAAE0Z,cAAF,CAAiBluC,CAAjB,CAAnB,EAAuCw0B,EAAEwY,OAAF,GAAU,CAAC,CAAlD,EAAoDxY,EAAEvU,IAAF,EAApD,EAA6D0U,EAAEyB,EAAE,CAAF,CAAF,CAA7D,CAAnF,KAA4J;AAAC,oBAAI50B,IAAE40B,EAAE,CAAF,EAAI,EAAC9N,SAAQ,kCAAgCkM,EAAEuY,aAAF,CAAgBjpC,EAAhD,GAAmD,iBAAnD,GAAqE9D,EAAE8D,EAAhF,EAAJ,CAAN,CAA+FqE,QAAQgmC,KAAR,CAAc3sC,CAAd,GAAiB9B,EAAE8B,CAAF,CAAjB;AAAsB;AAAC,aAAzS,EAA2Su1B,KAA3S,CAAiT,UAASvC,CAAT,EAAW;AAAC90B,gBAAE80B,CAAF;AAAK,aAAlU,CAA9E,CAAL,KAA2Z;AAAC,kBAAIa,IAAEe,EAAE,CAAF,EAAI,IAAIvkB,KAAJ,CAAU,kCAAgC7R,EAAE8D,EAAlC,GAAqC,kBAArC,GAAwD9D,EAAEu0B,QAA1D,GAAmE,GAA7E,CAAJ,CAAN,CAA6FpsB,QAAQgmC,KAAR,CAAc9Y,CAAd,GAAiB31B,EAAE21B,CAAF,CAAjB;AAAsB;AAAC;AAAC,SAAl/B,CAA5B;AAAghC,OAAvoC,EAAlwD,EAA24F,EAACx2B,KAAI,WAAL,EAAiBC,OAAM,YAAU;AAAC,aAAKkuC,OAAL,GAAa,CAAC,CAAd,EAAgB,KAAKoB,IAAL,EAAhB;AAA4B,OAA9D,EAA34F,EAA28F,EAACvvC,KAAI,gBAAL,EAAsBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN,CAAW,IAAG,KAAK4S,IAAR,EAAa;AAAC,eAAK45B,WAAL,GAAiBhY,CAAjB,EAAmB,CAAC,UAAD,EAAY,IAAZ,EAAiB,OAAjB,EAA0BjxB,GAA1B,CAA8B,UAASixB,CAAT,EAAW;AAACx0B,cAAE4S,IAAF,CAAO8J,YAAP,CAAoB,UAAQ8X,CAA5B,EAA8Bx0B,EAAEwsC,WAAF,CAAchY,CAAd,KAAkB,EAAhD;AAAoD,WAA9F,CAAnB,EAAmH,KAAK6Z,QAAL,CAAc,KAAK1B,KAAnB,CAAnH,CAA6I,IAAIhY,IAAE,KAAK7rB,MAAL,CAAYkE,WAAlB,CAA8B,KAAK2/B,KAAL,GAAW,EAAX,EAAc,KAAKD,IAAL,GAAU,CAAC,CAAzB,EAA2B,KAAKD,IAAL,GAAU,CAAC,CAAtC,EAAwC,KAAK6B,OAAL,CAAa3Z,CAAb,CAAxC;AAAwD;AAAC,OAArS,EAA38F,EAAkvG,EAAC91B,KAAI,WAAL,EAAiBC,OAAM,YAAU;AAAC,aAAK80B,SAAL,CAAerwB,GAAf,CAAmB,UAASixB,CAAT,EAAW;AAACtS,YAAEsS,CAAF;AAAK,SAApC;AAAsC,OAAxE,EAAlvG,EAA4zG,EAAC31B,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,aAAI,IAAI20B,IAAE,EAAN,EAASj1B,IAAE,CAAf,EAAiBA,IAAE80B,EAAEl1B,MAArB,EAA4BI,GAA5B,EAAgCM,EAAEuuC,QAAF,CAAW/Z,EAAE90B,CAAF,CAAX,KAAkBi1B,EAAE5wB,IAAF,CAAOywB,EAAE90B,CAAF,CAAP,CAAlB,CAA+B,OAAOi1B,CAAP;AAAS,OAA7G,EAA5zG,EAA26G,EAAC91B,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,aAAI,IAAI20B,IAAE,EAAN,EAASj1B,IAAE,CAAf,EAAiBA,IAAEM,EAAEV,MAArB,EAA4BI,GAA5B,EAAgC80B,EAAE+Z,QAAF,CAAWvuC,EAAEN,CAAF,CAAX,KAAkBi1B,EAAE5wB,IAAF,CAAO/D,EAAEN,CAAF,CAAP,CAAlB,CAA+B,OAAOi1B,CAAP;AAAS,OAA7G,EAA36G,EAA0hH,EAAC91B,KAAI,SAAL,EAAeC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN;AAAA,YAAW20B,IAAEvlB,EAAEolB,CAAF,EAAI,KAAKgY,WAAL,CAAiBnpC,IAArB,EAA0B,KAAKqpC,IAA/B,CAAb;AAAA,YAAkDhtC,IAAE,EAApD,CAAuD,IAAGi1B,IAAE,CAAC,CAAH,KAAOj1B,IAAE2d,EAAEmX,CAAF,EAAI,KAAKgY,WAAL,CAAiBnpC,IAAjB,CAAsBsxB,CAAtB,EAAyBtxB,IAA7B,EAAkC,KAAKopC,IAAvC,CAAT,GAAuD/sC,EAAEJ,MAAF,GAAS,CAAnE,EAAqE,OAAO,KAAKqtC,KAAL,CAAWrtC,MAAX,GAAkB,CAAlB,IAAqB,KAAK+uC,QAAL,CAAc,KAAK1B,KAAnB,CAArB,EAA+C,MAAK,KAAKA,KAAL,GAAW,EAAhB,CAAtD,CAA0E,IAAG,KAAKA,KAAL,KAAajtC,CAAb,IAAgBi1B,MAAI,KAAK+X,IAA5B,EAAiC;AAAC,eAAKA,IAAL,GAAU/X,CAAV,EAAY,KAAK8X,IAAL,GAAU/sC,EAAE,CAAF,CAAtB,CAA2B,IAAI8B,IAAE,KAAKgtC,SAAL,CAAe,KAAK7B,KAApB,EAA0BjtC,CAA1B,CAAN;AAAA,cAAmC6P,IAAE,KAAKk/B,SAAL,CAAe,KAAK9B,KAApB,EAA0BjtC,CAA1B,CAArC,CAAkE,KAAKitC,KAAL,GAAWjtC,CAAX,EAAa,KAAK2uC,QAAL,CAAc7sC,CAAd,CAAb,CAA8B,IAAIuzB,IAAE,EAAN,CAASxlB,EAAEhM,GAAF,CAAM,UAASixB,CAAT,EAAW;AAAC,gBAAI90B,IAAEM,EAAEwsC,WAAF,CAAcnpC,IAAd,CAAmBsxB,CAAnB,EAAsBtxB,IAAtB,CAA2BmxB,CAA3B,CAAN,CAAoC90B,EAAE4H,KAAF,GAAQktB,CAAR,EAAUO,EAAEhxB,IAAF,CAAOrE,CAAP,CAAV;AAAoB,WAA1E,GAA4E,KAAKgvC,QAAL,CAAc3Z,CAAd,EAAgBP,CAAhB,CAA5E;AAA+F;AAAC,OAA7e,EAA1hH,EAAygI,EAAC31B,KAAI,gBAAL,EAAsBC,OAAM,YAAU;AAAC,YAAG,KAAKkuC,OAAR,EAAgB;AAAC,cAAIxY,IAAE,KAAK1rB,MAAL,CAAY9F,KAAlB;AAAA,cAAwBhD,IAAEw0B,EAAExD,UAA5B;AAAA,cAAuC2D,IAAEH,EAAEvD,WAA3C,CAAuD,CAAC,KAAKgc,UAAL,CAAgBlc,KAAjB,IAAwB/wB,CAAxB,IAA2B20B,CAA3B,IAA8B,KAAKsZ,SAAL,CAAe,KAAKnlC,MAAL,CAAY8J,IAA3B,CAA9B,CAA+D,IAAIlT,IAAE,KAAKoJ,MAAL,CAAYkE,WAAlB,CAA8BxN,KAAKiqB,KAAL,CAAWjqB,KAAKstB,GAAL,CAAS,MAAIptB,CAAJ,GAAM,KAAKotC,MAApB,CAAX,IAAwC,GAAxC,KAA8C,KAAKA,MAAL,GAAY,MAAIptC,CAAhB,EAAkB,KAAK8sC,WAAL,IAAkB,KAAKA,WAAL,CAAiBnpC,IAAnC,IAAyC,KAAKirC,OAAL,CAAa5uC,CAAb,CAAzG;AAA0H;AAAC,OAAvU,EAAzgI,EAAk1I,EAACb,KAAI,WAAL,EAAiBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,KAAKitC,UAAX,CAAsB,IAAGzY,KAAGA,aAAa70B,OAAOgvC,OAAvB,KAAiCna,IAAE,KAAK1rB,MAAL,CAAY8J,IAA/C,GAAqD,KAAKg6B,IAAL,KAAYzjC,aAAa,KAAKyjC,IAAlB,GAAwB,KAAKA,IAAL,GAAU,IAA9C,CAArD,EAAyG,CAAC5sC,EAAE+wB,KAA/G,EAAqH;AAAC,cAAG,CAAC,KAAKjoB,MAAL,CAAY9F,KAAhB,EAAsB,OAAO,IAAI2xB,IAAE,KAAK7rB,MAAL,CAAY9F,KAAlB;AAAA,cAAwBtD,IAAEi1B,EAAE3D,UAA5B;AAAA,cAAuCxvB,IAAEmzB,EAAE1D,WAA3C,CAAuD,IAAG,CAACvxB,CAAD,IAAI,CAAC8B,CAAR,EAAU,OAAOxB,EAAEgxB,UAAF,GAAatxB,CAAb,EAAeM,EAAEixB,WAAF,GAAczvB,CAA7B,EAA+BxB,EAAE+wB,KAAF,GAAQjN,SAAStiB,IAAE9B,CAAF,GAAI,GAAb,EAAiB,EAAjB,CAAvC;AAA4D,cAAKkvC,aAAL,CAAmBpa,CAAnB;AAAsB,OAAtW,EAAl1I,EAA0rJ,EAAC31B,KAAI,QAAL,EAAcC,OAAM,UAAS01B,CAAT,EAAWx0B,CAAX,EAAa;AAAC,YAAI20B,IAAE,IAAN;AAAA,YAAWj1B,IAAE,KAAKggB,MAAlB;AAAA,YAAyBle,IAAE9B,EAAE0zB,SAA7B;AAAA,YAAuC7jB,IAAE7P,EAAE2zB,SAA3C;AAAA,YAAqD0B,IAAEr1B,EAAE6zB,aAAzD;AAAA,YAAuElzB,IAAEX,EAAE4zB,OAA3E;AAAA,YAAmF+B,IAAE31B,EAAEwzB,QAAvF;AAAA,YAAgGpjB,IAAEpQ,EAAEyzB,YAApG;AAAA,YAAiH/jB,IAAE,KAAK69B,UAAL,CAAgBlc,KAAnI,CAAyI,KAAKkc,UAAL,CAAgBC,MAAhB,GAAuB1Y,CAAvB,EAAyB,KAAKyY,UAAL,CAAgBE,OAAhB,GAAwBntC,CAAjD,CAAmD,IAAIqd,IAAE,KAAK,CAAX;AAAA,YAAarc,IAAE,CAAf,CAAiBhB,IAAEw0B,CAAF,GAAI,GAAJ,IAASplB,CAAT,IAAYpO,IAAE8iB,SAAS1U,IAAEolB,CAAX,EAAa,EAAb,IAAiB,GAAnB,EAAuBnX,IAAEmX,CAArC,KAAyCxzB,IAAEhB,CAAF,EAAIqd,IAAEyG,SAAS9jB,IAAEoP,CAAF,GAAI,GAAb,EAAiB,EAAjB,CAA/C,GAAqE,KAAK69B,UAAL,CAAgBG,MAAhB,GAAuB/vB,CAA5F,EAA8F,KAAK4vB,UAAL,CAAgBI,OAAhB,GAAwBrsC,CAAtH,CAAwH,IAAI4M,IAAE,CAAN;AAAA,YAAQ2nB,IAAE,CAAV,CAAYnmB,IAAE,GAAF,IAAOxB,IAAE2B,CAAF,EAAIgmB,IAAEzR,SAASlW,IAAE5M,CAAF,GAAI,IAAb,EAAkB,EAAlB,CAAb,KAAqC4M,IAAEpM,CAAF,EAAI+zB,IAAEzR,SAASlW,IAAEyP,CAAF,GAAI,IAAb,EAAkB,EAAlB,CAA3C,EAAkE,IAAImY,IAAE+W,KAAGxX,CAAH,GAAK10B,CAAX;AAAA,YAAakd,IAAE,EAACsxB,UAAStZ,IAAEA,IAAEC,CAAF,GAAIA,CAAJ,GAAMD,IAAE3nB,CAAF,GAAIA,CAAJ,GAAM2nB,CAAxB,EAAf;AAAA,YAA0CW,IAAEpS,SAAS,CAAC9jB,IAAEgB,CAAH,IAAM,CAAf,EAAiB,EAAjB,CAA5C;AAAA,YAAiEo1B,IAAEtS,SAAS,CAAC0Q,IAAEnX,CAAH,IAAM,CAAf,EAAiB,EAAjB,CAAnE;AAAA,YAAwFiZ,IAAExS,SAAS9iB,IAAE8O,CAAX,EAAa,EAAb,IAAiB,GAA3G,CAA+G,KAAKm9B,UAAL,CAAgBtZ,OAAhB,GAAwBuC,CAAxB,EAA0B,KAAK+W,UAAL,CAAgBK,KAAhB,GAAsBlX,CAAhD,EAAkD,KAAK6W,UAAL,CAAgBxiB,YAAhB,GAA6B6L,CAA/E,EAAiFjB,MAAI9X,EAAE4W,MAAF,GAAS+B,IAAEI,CAAX,EAAa/Y,EAAE/G,IAAF,GAAO+G,EAAEuxB,KAAF,GAAQ1Y,CAAhC,CAAjF,EAAoHd,GAAG/X,CAAH,EAAMha,GAAN,CAAU,UAASixB,CAAT,EAAW;AAACG,YAAE/hB,IAAF,CAAOlQ,KAAP,CAAa8xB,CAAb,IAAgBjX,EAAEiX,CAAF,IAAK,IAArB;AAA0B,SAAhD,CAApH,EAAsK,KAAK9lB,IAAL,CAAU29B,GAAGC,MAAb,EAAoB,EAACgB,OAAMlX,CAAP,EAASzC,SAAQuC,CAAjB,EAAmBzL,cAAa6L,CAAhC,EAAkC8W,QAAO/vB,CAAzC,EAA2CgwB,SAAQrsC,CAAnD,EAAqD6tC,UAAStZ,CAA9D,EAAgExE,OAAM3hB,CAAtE,EAApB,CAAtK;AAAoQ,OAAxyB,EAA1rJ,EAAo+K,EAACvQ,KAAI,eAAL,EAAqBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN;AAAA,YAAW20B,IAAEH,EAAE/O,qBAAF,EAAb;AAAA,YAAuC/lB,IAAE,KAAKutC,UAA9C;AAAA,YAAyDzrC,IAAEmzB,EAAE7zB,KAA7D;AAAA,YAAmEyO,IAAEolB,EAAEzzB,MAAvE,CAA8E,IAAG,KAAK0rC,IAAL,KAAYzjC,aAAa,KAAKyjC,IAAlB,GAAwB,KAAKA,IAAL,GAAU,IAA9C,GAAoDprC,IAAE,CAAF,IAAK+N,IAAE,CAAP,KAAW/N,MAAI9B,EAAEwtC,MAAN,IAAc39B,MAAI7P,EAAEytC,OAA/B,CAAvD,EAA+F,KAAKN,GAAL,GAAS,CAAT,EAAW,KAAKkC,MAAL,CAAYvtC,CAAZ,EAAc+N,CAAd,CAAX,CAA/F,KAA+H;AAAC,cAAG,KAAKs9B,GAAL,IAAU,CAAb,EAAe,OAAO,MAAK,KAAKA,GAAL,GAAS,CAAd,CAAP,CAAwB,KAAKA,GAAL,IAAW,KAAKD,IAAL,GAAU5jC,WAAW,YAAU;AAAChJ,cAAE4uC,aAAF,CAAgBpa,CAAhB;AAAmB,WAAzC,EAA0C,EAA1C,CAArB;AAAmE;AAAC,OAAhW,EAAp+K,EAAs0L,EAAC31B,KAAI,UAAL,EAAgBC,OAAM,UAAS01B,CAAT,EAAW;AAAC,YAAIx0B,IAAE,IAAN,CAAW,IAAGw0B,KAAG,EAAEA,EAAEl1B,MAAF,GAAS,CAAX,CAAN,EAAoB;AAAC,eAAI,IAAIq1B,IAAE,KAAK8Y,SAAL,CAAeuB,QAArB,EAA8BtvC,IAAE,EAAhC,EAAmC8B,IAAE,CAAzC,EAA2CA,IAAEmzB,EAAEr1B,MAA/C,EAAsDkC,GAAtD,EAA0D;AAAC,gBAAI+N,IAAEpO,OAAOwzB,EAAEnzB,CAAF,EAAK0zB,YAAL,CAAkB,YAAlB,CAAP,CAAN,CAA8CV,EAAE+Z,QAAF,CAAWh/B,CAAX,KAAe7P,EAAEqE,IAAF,CAAO4wB,EAAEnzB,CAAF,CAAP,CAAf;AAA4B,aAAE+B,GAAF,CAAM,UAASixB,CAAT,EAAW;AAACx0B,cAAEytC,SAAF,CAAYzwB,WAAZ,CAAwBwX,CAAxB;AAA2B,WAA7C;AAA+C;AAAC,OAAvP,EAAt0L,EAA+jM,EAAC31B,KAAI,UAAL,EAAgBC,OAAM,YAAU;AAAC,YAAI01B,IAAE,IAAN;AAAA,YAAWx0B,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAApE,CAAuErG,EAAEV,MAAF,GAAS,CAAT,IAAYU,EAAEuD,GAAF,CAAM,UAASvD,CAAT,EAAW;AAAC,cAAI20B,IAAE,gBAAcH,EAAE9U,MAAF,CAAS1Z,IAA7B,CAAkChG,EAAEyV,IAAF,CAAOlS,GAAP,CAAW,UAAS7D,CAAT,EAAW8B,CAAX,EAAa;AAACA,gBAAE,CAAF,KAAMmzB,KAAG,oBAAT,EAA+B,IAAIplB,IAAE,EAAC,cAAavP,EAAEoC,KAAhB,EAAsB,YAAWpC,EAAE0B,GAAnC,EAAuC,cAAa1B,EAAEsH,KAAtD,EAAN,CAAmEktB,EAAEiZ,SAAF,CAAY3wB,WAAZ,CAAwBlP,EAAE,oBAAF,EAAuBlO,CAAvB,EAAyB6P,CAAzB,EAA2BolB,CAA3B,CAAxB;AAAuD,WAAlL;AAAoL,SAAxO,CAAZ;AAAsP,OAA9V,EAA/jM,EAA+5M,EAAC91B,KAAI,MAAL,EAAYC,OAAM,YAAU;AAACgR,UAAE,KAAK8C,IAAP,EAAY,iBAAZ;AAA+B,OAA5D,EAA/5M,EAA69M,EAAC/T,KAAI,MAAL,EAAYC,OAAM,YAAU;AAACu2B,UAAE,KAAKziB,IAAP,EAAY,iBAAZ,GAA+B,KAAK66B,SAAL,CAAe9wB,SAAf,GAAyB,EAAxD;AAA2D,OAAxF,EAA79M,EAAujN,EAAC9d,KAAI,SAAL,EAAeC,OAAM,YAAU;AAAC,aAAKgvC,YAAL,IAAoB,KAAKlE,kBAAL,EAApB,EAA8C,KAAK9gC,MAAL,GAAY,IAA1D,EAA+D,KAAK8qB,SAAL,GAAe,IAA9E;AAAmF,OAAnH,EAAvjN,EAA4qN,EAAC/0B,KAAI,cAAL,EAAoB2H,KAAI,YAAU;AAAC,YAAIguB,IAAE,KAAKyY,UAAX;AAAA,YAAsBjtC,IAAEw0B,EAAEL,MAA1B;AAAA,YAAiCQ,IAAEH,EAAE/J,YAArC,CAAkD,OAAO,KAAK/K,MAAL,CAAYwT,QAAZ,GAAqBlzB,IAAE20B,CAAvB,GAAyBA,CAAhC;AAAkC,OAAvH,EAA5qN,CAAL,CAA/D,EAA22N30B,CAAl3N;AAAo3N,GAA5lP,CAA6lPupC,EAA7lP,CAAP;AAAwmP,CAA755C,CAAD;AACA,qC;;;;;;;;;ACDA;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;;;AAEAhiC,4BAAkB,CACd0nC,OADc,SAEdC,QAFc,SAGdj2B,OAHc,SAIdO,QAJc,SAKd21B,SALc,SAMdC,OANc,SAOd32B,aAPc,SAQdL,gBARc,SASdqB,SATc,SAUdnB,aAVc,SAWdzD,UAXc,SAYdw6B,WAZc,SAadC,OAbc,SAcdl2B,SAdc,SAedm2B,eAfc,SAgBd52B,eAhBc,SAiBdJ,WAjBc,SAkBdF,QAlBc,SAmBdW,MAnBc,SAoBdH,aApBc,SAqBdK,WArBc,SAsBdG,SAtBc,SAuBdF,SAvBc,SAwBdG,aAxBc,SAyBdk2B,kBAzBc,SA0Bd91B,YA1Bc,SA2Bd+1B,QA3Bc,SA4Bd72B,aA5Bc,SA6BdT,UA7BJ5Q,OAAkB,CAAlBA,E;;;;;;;;;;;;;AChCA;;AACA;;AAEA,IAAImoC,UAAU,SAAVA,OAAU,GAAY;AACxB,MAAI5mC,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,MAAI6mC,SAAJ;AACA,OAAI,IAAInuC,IAAR,GAAeA,KAAf,SAA6B;AAC3BmuC;AACD;AACD,MAAI7I,QAAQ,uMAAZ,gBAAY,CAAZ;AAGAl0B;AAXF;;kBAce;AACbxR,QADa;AAEbmH,UAAQmnC;AAFK,C;;;;;;;;AChBf,cAAc,mBAAO,CAAC,GAA+K;;AAErM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,0CAA0C,aAAa,kBAAkB,OAAO,MAAM,WAAW,YAAY,gBAAgB,YAAY,+DAA+D,cAAc,kBAAkB,SAAS,QAAQ,aAAa,YAAY,kBAAkB,uCAAuC,mCAAmC,+BAA+B,mEAAmE,UAAU,WAAW,oCAAoC,kBAAkB,SAAS,QAAQ,UAAU,mBAAmB,0CAA0C,kCAAkC,uFAAuF,iDAAiD,6CAA6C,yCAAyC,2BAA2B,mBAAmB,uFAAuF,kDAAkD,8CAA8C,0CAA0C,gCAAgC,wBAAwB,uFAAuF,kDAAkD,8CAA8C,0CAA0C,+BAA+B,uBAAuB,uFAAuF,kDAAkD,8CAA8C,0CAA0C,gCAAgC,wBAAwB,uFAAuF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,uFAAuF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,uFAAuF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,uFAAuF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,uFAAuF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,wFAAwF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,wFAAwF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,wFAAwF,mDAAmD,+CAA+C,2CAA2C,gCAAgC,wBAAwB,wBAAwB,GAAG,UAAU,GAAG,aAAa,gBAAgB,GAAG,UAAU,GAAG,aAAa,yDAAyD,cAAc;;AAE7oI;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIE,kBAAkB,SAAlBA,eAAkB,GAAY;AAChC,MAAI9mC,SAAJ;AACA,MAAI,CAACA,cAAL,eAAkC;AAAE;AAAQ;AAC5C,MAAIjI,MAAM,mKAC0EgvC,iBAD1E,wGAEuEC,cAFvE,+EAAV,wBAAU,CAAV;;AAKA,MAAI57B,WAAJ;AACAA,yBAAuBpL,YAAvBoL;AACAA,sBAAoBpL,YAApBoL;AACA,MAAIC,OAAO,4EAA+DD,SAA/D,wGACiEA,SADjE,0BAAX,eAAW,CAAX;AAEArT;AACAiI,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAlBF;;kBA2Be;AACbO,QADa;AAEbmH,UAAQqnC;AAFK,C;;;;;;;;AChCf;AAAe,o5E;;;;;;;ACAf;AAAe,msD;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAuL;;AAE7M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,qGAAqG,kBAAkB,iBAAiB,0BAA0B,SAAS,cAAc,eAAe,gIAAgI,WAAW,eAAe,wIAAwI,kBAAkB,sLAAsL,cAAc,gLAAgL,aAAa,gIAAgI,kBAAkB,oLAAoL,cAAc,8KAA8K,aAAa,8GAA8G,YAAY,4IAA4I,cAAc,0OAA0O,aAAa,oOAAoO,cAAc,oLAAoL,kBAAkB,wOAAwO,aAAa,kOAAkO,cAAc,gJAAgJ,aAAa,iDAAiD,yBAAyB,iBAAiB,gBAAgB,qBAAqB,sBAAsB,wBAAwB,4SAA4S,kBAAkB,0GAA0G,mBAAmB,8JAA8J,kBAAkB;;AAEjwH;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIG,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAIjnC,SAAJ;AACA,MAAI8L,YAAY,kJAC0Do7B,cAD1D,iGAE0DC,cAF1D,iGAG0DC,cAH1D,2aAAhB,iBAAgB,CAAhB;AAUApnC,uBAAqB,YAAM;AACzB,QAAGA,OAAH,UAAoB;AAClBA;AACD;AAHHA;AAKA,MAAIupB,SAASzd,wBAAb,kBAAaA,CAAb;AACA,MAAIhE,MAAMgE,wBAAV,eAAUA,CAAV;AACA,MAAI0d,WAAW1d,wBAAf,gBAAeA,CAAf;AACA,MAAIu7B,OAAOv7B,wBAAX,gBAAWA,CAAX;AACA0d,0BAA2BxpB,uBAA3BwpB,GAA2BxpB,GAA3BwpB;AACAD,kBAAgBvpB,cAAhBupB;;AAEAzhB,oCAAkC,aAAK;AACrC5Q;AACAA;AACA8I;AAHF8H;;AAMA,gCAA8B,gBAAQ;AACpCu/B,gCAA4B,aAAK;AAC/BnwC;AACAA;AACA8I;AAHFqnC;AADF;;AAQAA,sCAAoC,aAAK;AACvCnwC;AACAA;AACA8I;AAHFqnC;;AAMA,iCAA+B,gBAAQ;AACrCv7B,qCAAiC,aAAK;AACpC5U;AACAA;AACA8I;AAHF8L;AADF;AA5CF;;kBAqDe;AACbxT,QADa;AAEbmH,UAAQwnC;AAFK,C;;;;;;;;AC3Df;AAAe,wiB;;;;;;;ACAf;AAAe,sxB;;;;;;;ACAf;AAAe,6xB;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAgL;;AAEtM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,2CAA2C,aAAa,gBAAgB,yBAAyB,QAAQ,WAAW,YAAY,cAAc,kBAAkB,WAAW,uDAAuD,eAAe,eAAe,kBAAkB,YAAY,2DAA2D,kBAAkB,4EAA4E,cAAc,wJAAwJ,aAAa,wCAAwC,aAAa,kBAAkB,WAAW,YAAY,2BAA2B,kBAAkB,YAAY,aAAa,8CAA8C,cAAc,cAAc,YAAY,WAAW,kBAAkB,aAAa,OAAO,WAAW,2EAA2E,cAAc,kBAAkB,WAAW,UAAU,8BAA8B,oBAAoB,UAAU,YAAY,aAAa,eAAe,sCAAsC,SAAS,OAAO,mBAAmB,gBAAgB,4CAA4C,cAAc,qBAAqB,UAAU,WAAW,gBAAgB,qCAAqC,kBAAkB,kBAAkB,UAAU,SAAS,iKAAiK,cAAc,sSAAsS,aAAa,kGAAkG,cAAc,sSAAsS,aAAa,kGAAkG,cAAc,yEAAyE,aAAa;;AAE/gF;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIK,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAItnC,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAIunC,cAAJ;AACA,MAAIz7B,YAAY,0CAA+B,EAACzI,UAAhC,CAA+B,EAA/B,EAAhB,qBAAgB,CAAhB;AACA,MAAI5F,6BAAJ,UAAiC;AAC/BuC;AACD;;AAED,oCAAmC;AACjC,QAAIzF,OAAOyF,OAAX;AACA,QAAIwnC,MAAM,CAAV,MAAU,CAAV;AAAA,QAAoBpwC,MAAM4I,cAA1B;AAAA,QAA6CzI,IAAI1B,uBAAjD,GAAiDA,CAAjD;AACA,QAAImK,OAAJ,WAAsB;AACpB,8CAAwC,gBAAQ;AAC9C,YAAIA,OAAJ,IAAIA,CAAJ,EAAkB;AAChB,cAAGA,aAAH,KAAqB;AACnBzI,qBAASyI,aAATzI;AACD;AACD,cAAGtB,SAAH,WAAuB;AACrB,gBAAG+J,aAAH,UAA0B;AACxBzI,uBAASyI,sBAATzI;AADF,mBAEO;AACLA,uBAASyI,8BAATzI;AACD;AACF;AACD,cAAGtB,SAAH,OAAmB;AACjBsB,qBAASyI,0BAA0BA,aAAnCzI;AACAH,kBAAMG,EAANH;AACD;AACDA,gBAAMG,EAANH;AACA;AAhBF,eAiBO;AACL;AACD;AApBH;AADF,WAuBO;AACLA,YAAM4I,qBAAqBA,OAA3B5I;AACD;AACDmD,iBAAa,gBAAQ;AACnBhD,eAAStB,KAATsB;AACA,UAAIyI,OAAJ,MAAiB;AACfwnC,gCAAqBvxC,KAArBuxC,sBAAyCvxC,KAAzCuxC,wBAA8DvxC,6BAA9DuxC,cAAkGvxC,KAAlGuxC;AADF,aAEO;AACLA,gCAAqBvxC,KAArBuxC,sBAAyCvxC,KAAzCuxC,wBAA8DjwC,8BAA9DiwC,cAAmGvxC,KAAnGuxC;AACD;AANHjtC;AAQA,QAAIktC,SAAS,YAAY,gBAAQ;AAC/BlwC,eAAStB,KAATsB;AACA,UAAIyI,OAAJ,MAAiB;AACf,eAAO/J,kBAAP;AADF,aAEO;AACL,eAAOsB,WAAP;AACD;AANH,KAAa,CAAb;AAQAiwC,yCAAiC,CAACC,aAAa,EAACnvC,MAAf,EAAc,EAAd,EAAjCkvC;AACA,QAAIE,YAAY59B,mBAAhB,sBAAgBA,CAAhB;AACA,mBAAe;AACb49B,4BAAsBF,SAAtBE,EAAsBF,CAAtBE;AACA,UAAIC,MAAMD,wBAAV,OAAUA,CAAV;AACA,UAAI,CAAC1nC,cAAD,oBAAmCA,mCAAvC,SAAmF;AACjF2nC,2CAAmC,aAAO;AACxCzwC;AACAA;AACA,8BAAS8I,OAAT;AACA0nC;AAJFC;AAMD;AAVH,WAWO;AACL77B,4BAAsB07B,SAAtB17B,EAAsB07B,CAAtB17B;AACA,UAAI67B,OAAM77B,wBAAV,OAAUA,CAAV;AACA,UAAI,CAAC9L,cAAD,oBAAmCA,mCAAvC,SAAmF;AACjF2nC,4CAAmC,aAAO;AACxCzwC;AACAA;AACA,8BAAS8I,OAAT;AACA8L;AAJF67B;AAMD;AACD3nC;AACD;AACF;AACD,iCAAgC;AAC9BA;AACA,QAAIzF,QAAQA,gBAARA,SAAiCA,cAArC,GAAsD;AACpD;AACAyF;AACD;AACF;AACDA;;AAEA,uCAAsC;AACpCA,yBAAqBA,OAArBA;AACA,gBAAY;AACVA;AADF,WAEO;AACL,UAAIG,cAAcH,OAAlB,IAAkBA,EAAlB;AACA,UAAIG,6BAAJ,aAA8C;AAC5CA,0BAAkB,eAAO,CAAzBA;AACD;AACF;AACF;AACD,0CAAyC;AACvCH;AACD;AACD,gCAA8B,gBAAQ;AACpC8L,qCAAiC,aAAa;AAC5C5U;AACAA;AACA,UAAIqD,OAAOyF,OAAX;AACA,UAAI4nC,KAAK1wC,YAAYA,EAArB;AAAA,UAAmCK,IAAI1B,uBAAvC,GAAuCA,CAAvC;AACA,UAAI+xC,MAAMA,mCAAV,MAAmD;AACjD,YAAIrK,YAAJ;AAAA,YAAUsK,UAAV;AACApwC,qCAA6BmwC,cAA7BnwC,YAAuD,gBAAQ;AAC7D,cAAG,0BAAH,UAAG,CAAH,EAA+B;AAC7B8lC,mBAAOtnC,kBAAPsnC,OAAOtnC,CAAPsnC;AACA;AACAv9B,kDAAsC/J,kBAAtC+J,KAAsC/J,CAAtC+J;AACD;AALHvI;AAOA,YAAIuI,OAAJ,MAAiB;AACfzF,uBAAa,gBAAQ;AACnBtE;AACA,gBAAIA,cAAc2xC,GAAlB,WAAgC;AAC9B3xC;AACD;AAJHsE;AAMD;;AAED;AACAstC,aAAKD,gBAALC,OAAKD,CAALC;AACAD,mDAAyCA,gBAAzCA,OAAyCA,CAAzCA;AACArwC,iBAASqwC,gBAATrwC,KAASqwC,CAATrwC;AACAgwC,iBAASvnC,OAATunC;AACA,YAAIvnC,OAAJ,WAAsB;AACpB,cAAI8nC,SAASjyC,uBAAb,GAAaA,CAAb;AACA,kDAAwC,gBAAQ;AAC9C,gBAAImK,OAAJ,IAAIA,CAAJ,EAAkB;AAChB,kBAAGA,aAAH,KAAqB;AACnB8nC,8BAAc9nC,aAAd8nC;AACD;AACD,kBAAG7xC,SAAH,WAAuB;AACrB,oBAAG+J,aAAH,UAA0B;AACxB8nC,gCAAc9nC,sBAAd8nC;AADF,uBAEO;AACLA,gCAAc9nC,8BAAd8nC;AACD;AACF;AACD,kBAAG7xC,SAAH,OAAmB;AACjB6xC,8BAAc9nC,0BAA0BA,aAAxC8nC;AACD;AACD;AAdF,mBAeO;AACL;AACD;AAlBH;AAoBA,cAAIA,gBAAgBvwC,EAAhBuwC,QAA0B,CAAC9nC,OAA/B,OAA6C;AAC3CA,6BAAiBzI,EAAjByI;AACD;AAxBH,eAyBO;AACL,cAAIA,OAAJ,KAAIA,CAAJ,EAAmB;AACjB,gBAAI8nC,UAASjyC,uBAAb,GAAaA,CAAb;AACAiyC,sBAAS9nC,cAAT8nC;AACD;AACD,cAAIvwC,WAAWyI,OAAf,YAAkC;AAChCA,6BAAiBA,OAAjBA;AACA,gBAAI,CAACA,OAAL,OAAmB;AACjBA,2BAAazI,EAAbyI;AACD;AACF;AACF;AACD,YAAGrC,uDAAuD,CAA1D,GAA8D;AAC5DqC;AADF,eAEO;AACLA;AACD;AACDA,wCAAgC,EAACu9B,MAAD,MAAOsK,IAAvC7nC,EAAgC,EAAhCA;AACA,YAAIvC,6BAAJ,UAAiC;AAC/B,iCAAYuC,OAAZ;AACD;AApEH,aAqEO,IAAIA,qDAAqD4nC,0CAA0CA,mCAAnG,IAAI5nC,CAAJ,EAA6I;AAClJ,YAAGvC,6BAAH,UAAgC;AAC9B,iCAAYuC,OAAZ;AADF,eAEO;AACL,8BAASA,OAAT;AACD;AACD8L;AACD;AACD9L;AAlFF8L;AADF;;AAuFAA,2CAAyC,aAAK;AAC5C5U;AACAA;AACA;AAHF4U;;AAMA,oBAAmB;AACjB;AACD;AACD9L;;AAEA,uBAAsB;AACpBA;AACAA;AACA,QAAGrC,uDAAuD,CAA1D,GAA8D;AAC5DqC;AACAA;AAFF,WAGO;AACLA;AACD;AACDA;AACAA;AACD;AACDA;;AAEAA,gCAA8B,YAAY;AACxC,QAAI+nC,SAAS/nC,iCAAb,4BAAaA,CAAb;AACA,SAAI,IAAItH,IAAR,GAAeA,IAAIqvC,OAAnB,aAAuC;AACrC,UAAGA,uBAAuBA,0CAA0C,CAApE,GAAwE;AACtE,eAAO;AACLzvC,gBAAMyvC,uBADD,OACCA,CADD;AAELzwC,eAAKywC;AAFA,SAAP;AAID;AACF;AACD,WAAO;AACLzvC,YAAMyvC,uBADD,OACCA,CADD;AAELzwC,WAAKywC;AAFA,KAAP;AAVF/nC;;AAgBAA,4BAA0B,YAA8B;AAAA,QAApBgoC,gBAAoB,oEAAJ,EAAI;;AACtD,QAAID,SAAS/nC,iCAAb,4BAAaA,CAAb;AACA,SAAI,IAAItH,IAAR,GAAeA,IAAIqvC,OAAnB,aAAuC;AACrC,UAAGA,oCAAoCC,cAApCD,QAA0DA,kCAAkCC,cAA5FD,OAAiHrvC,MAAMsvC,cAA1H,OAA+I;AAC7ID;AACD;AACF;AANH/nC;AAxOF;;kBAkPe;AACb1H,QADa;AAEbmH,UAAQ6nC;AAFK,C;;;;;;;;ACrPf,cAAc,mBAAO,CAAC,GAAoL;;AAE1M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,+CAA+C,gBAAgB,yBAAyB,QAAQ,WAAW,aAAa,WAAW,kBAAkB,aAAa,aAAa,eAAe,iBAAiB,kBAAkB,+CAA+C,aAAa,gBAAgB,WAAW,2BAA2B,kBAAkB,kBAAkB,YAAY,OAAO,kBAAkB,mBAAmB,kBAAkB,WAAW,eAAe,kDAAkD,WAAW,+BAA+B,eAAe,yBAAyB,iBAAiB,mHAAmH,WAAW,UAAU,kDAAkD,kBAAkB,+BAA+B,eAAe,eAAe,yBAAyB,kBAAkB,SAAS,WAAW,YAAY,iBAAiB,2BAA2B,mBAAmB,qBAAqB,sBAAsB,6IAA6I,cAAc;;AAEhuC;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIW,iBAAiB,SAAjBA,cAAiB,GAAY;AAC/B,MAAIjoC,SAAJ;AACA,MAAIkoC,mBAAJ;AACA,MAAIloC,cAAJ,cAAgC;AAC9BkoC,uBAAmB,UAAUloC,cAA7BkoC,YAAmB,CAAnBA;AACAA,0BAAsB;AAAA,aAAUpvC,IAAV;AAAtBovC;AAFF,SAGO;AACL;AACD;AACD,MAAI/vC,OAAO6H,+CAA+CA,cAA/CA,mBAAX;AACA,MAAI8L,YAAY,iDAAhB,uBAAgB,CAAhB;AACA,MAAIrO,6BAAJ,UAAiC;AAC/BuC;AACD;;AAED,MAAIzF,OAAJ;AACA2tC,2BAAyB,gBAAQ;AAC/B3tC,cAAU,EAACjC,WAAD,MAAkBoM,kBAAlB,MAA0C8kB,UAApDjvB,KAAU,EAAVA;AADF2tC;AAGA,MAAIC,gBAAJ;AACA,MAAIX,MAAM,CAAV,MAAU,CAAV;AACAjtC,eAAa,gBAAQ;AACnB,QAAGyF,qCAAqCA,iDAAiD/J,KAAzF,MAAoG;AAClGA;AACAkyC,sBAAgBnoC,cAAhBmoC;AACAnoC,6BAAuB,YAAM;AAAEA,oCAA4BA,cAA5BA;AAA/BA;AAHF,WAIO,IAAI/J,uBAAuBA,cAA3B,KAA8C;AACnD,UAAG,CAAC+J,cAAD,uBAAsCA,sCAAzC,GAAkF;AAChF/J;AACD;AACF;AACDuxC,8BAAuBvxC,KAAvBuxC,wBAA4CvxC,6BAA5CuxC,cAAgFvxC,KAAhFuxC;AAVFjtC;AAYAitC;AACA,MAAIY,cAAcpoC,0BAAlB,wBAAkBA,CAAlB;AACA,mBAAiB;AACfooC,4BAAwBZ,SAAxBY,EAAwBZ,CAAxBY;AACA,QAAIT,MAAMS,0BAAV,OAAUA,CAAV;AACA,QAAI,CAACpoC,cAAD,sBAAqCA,qCAAzC,SAAuF;AACrF2nC,yCAAmC,aAAO;AACxCzwC;AACAA;AACA,4BAAS8I,OAAT;AACAooC;AAJFT;AAMD;AAVH,SAWO;AACL77B,0BAAsB07B,SAAtB17B,EAAsB07B,CAAtB17B;AACA,QAAI67B,OAAM77B,wBAAV,OAAUA,CAAV;AACA,QAAI,CAAC9L,cAAD,sBAAqCA,qCAAzC,SAAuF;AACrF2nC,0CAAmC,aAAO;AACxCzwC;AACAA;AACA,4BAAS8I,OAAT;AACA8L;AAJF67B;AAMD;AACD3nC,yBAAqB,YAAM;AACzBA;AADFA;AAGD;;AAED,MAAIqoC,KAAK,aAAT,OAAS,CAAT;AACAA,aAAW,gBAAQ;AACjBv8B,qCAAiC,aAAK;AACpC5U;AACAA;AACA,UAAI0wC,KAAK1wC,EAAT;AACA,UAAG0wC,MAAMA,mCAAT,MAAkD;AAChD,YAAIrK,YAAJ;AAAA,YAAUsK,UAAV;AACAttC,qBAAa,gBAAQ;AACnBtE;AACA,cAAI2xC,uCAAsC3xC,KAA1C,MAAqD;AACnDwB,yCAA6BmwC,cAA7BnwC,YAAuD,gBAAQ;AAC7D,kBAAG,0BAAH,UAAG,CAAH,EAA+B;AAC7B8lC,uBAAOllC,OAAOpC,kBAAdsnC,OAActnC,CAAPoC,CAAPklC;AACA;AACD;AAJH9lC;AAMAxB;AACA+J,wCAA4B/J,YAA5B+J;AACAmoC,4BAAgBlyC,YAAhBkyC;AACD;AAZH5tC;AAcA;AACAstC,aAAKxvC,OAAOuvC,gBAAZC,OAAYD,CAAPvvC,CAALwvC;AACAD,mDAAyCA,gBAAzCA,OAAyCA,CAAzCA;AACA5nC,0CAAkC,EAACu9B,MAAD,MAAOsK,IAAzC7nC,EAAkC,EAAlCA;AACA,YAAIvC,6BAAJ,UAAiC;AAC/B,iCAAYuC,OAAZ;AACD;AAtBH,aAuBO,IAAIA,uDAAuD4nC,0CAA0CA,mCAArG,MAAI5nC,CAAJ,EAAiJ;AACtJ,YAAGvC,6BAAH,UAAgC;AAC9B,iCAAYuC,OAAZ;AADF,eAEO;AACL,8BAASA,OAAT;AACD;AACD8L;AACD;AACD9L;AAnCF8L;AADFu8B;AAuCAv8B,2CAAyC,aAAO;AAC9C5U;AACAA;AACA,2BAAY8I,OAAZ;AAHF8L;;AAMA,oBAAmB;AACjB,2BAAY9L,OAAZ;AACD;AACDA;;AAEAA,oBAAkB,YAAM;AACtB,QAAGA,yCAAyCmoC,sBAA5C,CAA4CA,CAA5C,EAAuE;AACrEnoC;AACD;AAHHA;;AAMAA,8BAA4B,YAAgC;AAAA,QAAtBsoC,kBAAsB,oEAAJ,EAAI;;AAC1D,QAAIP,SAAS/nC,iCAAb,8BAAaA,CAAb;AACA,SAAI,IAAItH,IAAR,GAAeA,IAAIqvC,OAAnB,aAAuC;AACrC,UAAG,CAAC,oBAASA,OAAT,CAASA,CAAT,EAAD,UAAC,CAAD,KAAqCA,yCAAuCO,gBAAvCP,gBAAyErvC,MAAM4vC,gBAAvH,KAAG,CAAH,EAA+I;AAC7IP;AACD;AACF;AANH/nC;;AASAA,0BAAwB,YAAM;AAC5BA,8BAA0B,EAAEuW,cAAcvW,OAA1CA,YAA0B,EAA1BA;AADFA;AAhIF;;kBAqIe;AACb1H,QADa;AAEbmH,UAAQwoC;AAFK,C;;;;;;;;ACxIf,cAAc,mBAAO,CAAC,GAAsL;;AAE5M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,iDAAiD,gBAAgB,yBAAyB,QAAQ,WAAW,aAAa,WAAW,kBAAkB,qBAAqB,eAAe,kBAAkB,iDAAiD,aAAa,gBAAgB,WAAW,2BAA2B,kBAAkB,kBAAkB,YAAY,SAAS,mCAAmC,+BAA+B,2BAA2B,gBAAgB,mBAAmB,WAAW,eAAe,oDAAoD,WAAW,+BAA+B,eAAe,yBAAyB,kBAAkB,cAAc,kBAAkB,uHAAuH,WAAW,UAAU,gEAAgE,kBAAkB,gBAAgB,+DAA+D,kBAAkB,mBAAmB,oDAAoD,WAAW,YAAY,kBAAkB,SAAS,kBAAkB,+BAA+B,eAAe,2BAA2B,yBAAyB,mBAAmB,iBAAiB,mDAAmD,kBAAkB,SAAS,gBAAgB,mCAAmC,oDAAoD,UAAU,8EAA8E,cAAc;;AAE9kD;;;;;;;;;;;;;;ACPA;;AAEA,IAAIM,iBAAiB,SAAjBA,cAAiB,GAAY;AAC/B,MAAIvoC,SAAJ;AACA,MAAIA,yBAAyBA,sBAA7B,UAA6D;AAC3D,QAAIwoC,UAAU,8DAAd,kBAAc,CAAd;AACA,QAAIhxB,SAASgxB,sBAAb,OAAaA,CAAb;AACAxoC;AACAwX,sBAAkB,YAAY;AAC5BxX;AADFwX;AAGD;AATH;;kBAYe;AACblf,QADa;AAEbmH,UAAQ8oC;AAFK,C;;;;;;;;;;;;;;ACdf;;AACA;;;;AACA;;;;;;AAEA,IAAIE,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAIzoC,SAAJ;AACA,MAAI,CAACA,cAAL,UAA6B;AAAE;AAAQ;AACvC,MAAIjI,MAAM,wEAA2D2wC,WAA3D,4BAAV,mBAAU,CAAV;;AAEA,MAAIt9B,WAAWpL,YAAf;AACA,MAAIqL,OAAO,mGAAX,eAAW,CAAX;AACAtT;AACAiI,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAZF;;kBAqBe;AACbO,QADa;AAEbmH,UAAQgpC;AAFK,C;;;;;;;;ACzBf;AAAe,2pD;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAkL;;AAExM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,6CAA6C,kBAAkB,gBAAgB,0BAA0B,QAAQ,cAAc,eAAe,yDAAyD,eAAe,6DAA6D,kBAAkB,6DAA6D,kBAAkB,QAAQ,SAAS,yDAAyD,kBAAkB,gFAAgF,cAAc,gDAAgD,YAAY,+DAA+D,cAAc,uDAAuD,kBAAkB,uDAAuD,kBAAkB;;AAEh2B;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIE,UAAU,SAAVA,OAAU,GAAY;AACxB,MAAI3oC,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAG,CAACA,cAAJ,OAAyB;AAAE;AAAQ;AACnC,MAAI8L,YAAY,yCAAhB,gBAAgB,CAAhB;AACA9L,uBAAqB,YAAM;AACzB8J;AADF9J;AAGA,MAAI4W,SAAS,oBAAS;AACpB9K,eADoB;AAEpB9L,YAAQA,OAFY;AAGpB4oC,cAHoB;AAIpBC,UAAM;AACJvvC,aADI;AAEJV,WAAK;AAFD;AAJc,GAAT,EAQVoH,cARH,KAAa,CAAb;AASA,MAAI8oC,gBAAJ;AACA,MAAI9oC,oBAAJ,OAA+B;AAC7B8oC,eAAW,mIACmCC,QADnC,suOAsEoD,EAAC1lC,UAtErD,CAsEoD,EAtEpD,EAAXylC,gBAAW,CAAXA;AAuEA9oC,yBAAqB,YAAM;AACzBA;AADFA;AAGD;AACDA,0BAAwB,YAAM;AAC5B,QAAI+Q,UAAU,IAAIi4B,QAAJ,QAAd,MAAc,CAAd;AACAhpC;AACAA;;AAEA,QAAI,CAACA,oBAAL,OAAgC;AAC9B;AACD;;AAED,QAAIupB,SAASuf,uBAAb,wBAAaA,CAAb;AACA,QAAIG,mBAAJ;AACA,QAAIC,aAAa,2BAAjB,OAAiB,CAAjB;AACAA,uBAAmB,gBAAQ;AACzBJ,sCAAgC,aAAa;AAC3C5xC;AACAA;AACA;AACA4xC;AACAG;AALFH;AADFI;AASAJ,4CAAwC,aAAa;AACnD5xC;AACAA;AACA;AACA+xC;AAJFH;AAMAvf,0CAAsC,aAAa;AACjDryB;AACAA;AACA,UAAI+xC,gBAAJ,OAA2B;AACzB;AACD;AALH1f;;AAQA,QAAI4f,cAAcnpC,cAAlB;AACA,QAAIopC,iBAAiBN,uBAArB,2BAAqBA,CAArB;AACA,QAAIO,cAAcP,uBAAlB,wBAAkBA,CAAlB;AACA,QAAIQ,iBAAiBR,uBAArB,2BAAqBA,CAArB;AACA,QAAIS,gBAAgBT,uBAApB,0BAAoBA,CAApB;AACA,QAAIU,gBAAgB;AAClB,gBADkB;AAElB,aAFkB;AAGlB,gBAHkB;AAIlB,eAASD;AAJS,KAApB;;AAxC4B;AA+C1B,UAAIvhC,OAAJ;AACA,UAAIqgC,KAAK,aAAT,OAAS,CAAT;AACAA,iBAAW,gBAAQ;AACjBmB,mDAA2C,aAAa;AACtD,cAAIA,2CAAJ,QAAuD;AACrDA;AACAA;AACAxpC;AAHF,iBAIO;AACLwpC;AACAA;AACAxpC;AACD;AATHwpC;AADFnB;AAjD0B;;AA8C5B,SAAK,IAAL,sBAA+B;AAAA,YAAtBtyC,GAAsB;AAgB9B;AACD,QAAI0zC,eAAeX,uBAAnB,6BAAmBA,CAAnB;AACA,QAAIY,uBAAuBZ,uBAA3B,iCAA2BA,CAA3B;AACA,QAAIa,oBAAJ;AACAD,4CAAwC,wGAAxCA;AACAD,2CAAuC,aAAa;AAClDvyC;AACAA;AACAyyC,0BAAoBzyC,SAApByyC;AACAD,8CAAwC,wGAAxCA;AACAP,mCAA6B,gBAAQ;AACnClzC,6BAAqB0zC,oBAArB1zC;AADFkzC;AALFM;AASA,QAAIG,WAAWd,uBAAf,yBAAeA,CAAf;AACAc,uCAAmC,aAAa;AAC9C1yC;AACAA;AACA,UAAI2yC,gBAAgB3yC,SAApB;AACA8I,qCAA+B6pC,gBAA/B7pC;AACAA,qCAA+B6pC,gBAA/B7pC;AACAA;AANF4pC;AAQA,QAAIE,aAAahB,uBAAjB,2BAAiBA,CAAjB;AACAgB,yCAAqC,aAAa;AAChD5yC;AACAA;AACA,UAAI6yC,kBAAkB7yC,SAAtB;AACAiyC,mCAA6B,gBAAQ;AACnClzC,wBAAgB,CAAC,MAAD,mBAAhBA;AADFkzC;AAJFW;AAQA,QAAIE,YAAYlB,uBAAhB,0BAAgBA,CAAhB;AACAkB,wCAAoC,aAAa;AAC/C9yC;AACAA;AACA,UAAI+yC,iBAAiB/yC,SAArB;AACAiyC,mCAA6B,gBAAQ;AACnClzC,8BAAsBg0C,iBAAtBh0C;AADFkzC;AAJFa;AAQA,QAAGrsC,yCAAyC,CAA5C,GAAgD;AAC9C,WAAK,IAAIjF,IAAT,GAAgBA,IAAI6wB,iCAApB,aAAkE;AAChEA;AACD;AACF;AA3GHvpB;AA9FF;;kBA6Me;AACb1H,QADa;AAEbmH,UAAQkpC;AAFK,C;;;;;;;;;;;;AClNf,CAAC,UAASzxC,CAAT,EAAWw0B,CAAX,EAAa;AAAC,4CAAiBrxB,OAAjB,MAA0B,0CAAiBD,MAAjB,EAA1B,GAAkDA,OAAOC,OAAP,GAAeqxB,GAAjE,GAAqE,QAAsCva,iCAAO,EAAP,oCAAUua,CAAV;AAAA;AAAA;AAAA,oGAAtC,GAAmD,SAAxH;AAA2L,CAAzM,CAA0M70B,MAA1M,EAAkN,YAAU;AAAC,SAAO,UAASK,CAAT,EAAW;AAAC,QAAIw0B,IAAE,EAAN,CAAS,SAASG,CAAT,CAAWnzB,CAAX,EAAa;AAAC,UAAGgzB,EAAEhzB,CAAF,CAAH,EAAQ,OAAOgzB,EAAEhzB,CAAF,EAAK2B,OAAZ,CAAoB,IAAIoM,IAAEilB,EAAEhzB,CAAF,IAAK,EAACA,GAAEA,CAAH,EAAK4N,GAAE,CAAC,CAAR,EAAUjM,SAAQ,EAAlB,EAAX,CAAiC,OAAOnD,EAAEwB,CAAF,EAAKyM,IAAL,CAAUsB,EAAEpM,OAAZ,EAAoBoM,CAApB,EAAsBA,EAAEpM,OAAxB,EAAgCwxB,CAAhC,GAAmCplB,EAAEH,CAAF,GAAI,CAAC,CAAxC,EAA0CG,EAAEpM,OAAnD;AAA2D,YAAOwxB,EAAEyB,CAAF,GAAIp2B,CAAJ,EAAM20B,EAAE7kB,CAAF,GAAI0kB,CAAV,EAAYG,EAAE/mB,CAAF,GAAI,UAAS5N,CAAT,EAAWw0B,CAAX,EAAahzB,CAAb,EAAe;AAACmzB,QAAEplB,CAAF,CAAIvP,CAAJ,EAAMw0B,CAAN,KAAU51B,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBw0B,CAAxB,EAA0B,EAACjmB,YAAW,CAAC,CAAb,EAAe/H,KAAIhF,CAAnB,EAA1B,CAAV;AAA2D,KAA3F,EAA4FmzB,EAAEj1B,CAAF,GAAI,UAASM,CAAT,EAAW;AAAC,qBAAa,OAAOw7B,MAApB,IAA4BA,OAAOwX,WAAnC,IAAgDp0C,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBw7B,OAAOwX,WAA/B,EAA2C,EAACl0C,OAAM,QAAP,EAA3C,CAAhD,EAA6GF,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwB,YAAxB,EAAqC,EAAClB,OAAM,CAAC,CAAR,EAArC,CAA7G;AAA8J,KAA1Q,EAA2Q61B,EAAEH,CAAF,GAAI,UAASx0B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAG,IAAEA,CAAF,KAAMx0B,IAAE20B,EAAE30B,CAAF,CAAR,GAAc,IAAEw0B,CAAnB,EAAqB,OAAOx0B,CAAP,CAAS,IAAG,IAAEw0B,CAAF,IAAK,oBAAiBx0B,CAAjB,yCAAiBA,CAAjB,EAAL,IAAyBA,CAAzB,IAA4BA,EAAEy0B,UAAjC,EAA4C,OAAOz0B,CAAP,CAAS,IAAIwB,IAAE5C,OAAOsP,MAAP,CAAc,IAAd,CAAN,CAA0B,IAAGymB,EAAEj1B,CAAF,CAAI8B,CAAJ,GAAO5C,OAAOuP,cAAP,CAAsB3M,CAAtB,EAAwB,SAAxB,EAAkC,EAAC+M,YAAW,CAAC,CAAb,EAAezP,OAAMkB,CAArB,EAAlC,CAAP,EAAkE,IAAEw0B,CAAF,IAAK,YAAU,OAAOx0B,CAA3F,EAA6F,KAAI,IAAIuP,CAAR,IAAavP,CAAb;AAAe20B,UAAE/mB,CAAF,CAAIpM,CAAJ,EAAM+N,CAAN,EAAQ,UAASilB,CAAT,EAAW;AAAC,iBAAOx0B,EAAEw0B,CAAF,CAAP;AAAY,SAAxB,CAAyBxZ,IAAzB,CAA8B,IAA9B,EAAmCzL,CAAnC,CAAR;AAAf,OAA8D,OAAO/N,CAAP;AAAS,KAA9iB,EAA+iBmzB,EAAEA,CAAF,GAAI,UAAS30B,CAAT,EAAW;AAAC,UAAIw0B,IAAEx0B,KAAGA,EAAEy0B,UAAL,GAAgB,YAAU;AAAC,eAAOz0B,EAAE00B,OAAT;AAAiB,OAA5C,GAA6C,YAAU;AAAC,eAAO10B,CAAP;AAAS,OAAvE,CAAwE,OAAO20B,EAAE/mB,CAAF,CAAI4mB,CAAJ,EAAM,GAAN,EAAUA,CAAV,GAAaA,CAApB;AAAsB,KAA7pB,EAA8pBG,EAAEplB,CAAF,GAAI,UAASvP,CAAT,EAAWw0B,CAAX,EAAa;AAAC,aAAO51B,OAAOoP,SAAP,CAAiBK,cAAjB,CAAgCJ,IAAhC,CAAqCjO,CAArC,EAAuCw0B,CAAvC,CAAP;AAAiD,KAAjuB,EAAkuBG,EAAEY,CAAF,GAAI,EAAtuB,EAAyuBZ,EAAEA,EAAEI,CAAF,GAAI,CAAN,CAAhvB;AAAyvB,GAAp5B,CAAq5B,CAAC,UAAS/0B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,EAAC5E,WAAU,qBAAU;AAAC,YAAIoD,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,KAA7D;AAAA,YAAmEmuB,IAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA5H;AAAA,YAA+HsuB,IAAEtuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAAxL;AAAA,YAA2L7E,IAAE6E,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAApP;AAAA,YAAuPkJ,IAAE5Q,SAAS6b,aAAT,CAAuBxa,CAAvB,CAAzP,CAAmR,OAAOuP,EAAEvQ,SAAF,GAAYwC,CAAZ,EAAc+N,EAAEoN,SAAF,GAAY6X,CAA1B,EAA4B51B,OAAOkS,IAAP,CAAY6jB,CAAZ,EAAe1jB,OAAf,CAAwB,UAASujB,CAAT,EAAW;AAAC,cAAIhzB,IAAEgzB,CAAN;AAAA,cAAQ90B,IAAEi1B,EAAEH,CAAF,CAAV,CAAe,YAAUx0B,CAAV,IAAa,YAAUA,CAAvB,GAAyBN,KAAG6P,EAAEmN,YAAF,CAAelb,CAAf,EAAiB9B,CAAjB,CAA5B,GAAgD6P,EAAEmN,YAAF,CAAelb,CAAf,EAAiB9B,CAAjB,CAAhD;AAAoE,SAAvH,CAA5B,EAAsJ6P,CAA7J;AAA+J,OAAxc,EAAyc1S,UAAS,kBAASmD,CAAT,EAAWw0B,CAAX,EAAa;AAAC,eAAOx0B,EAAEqkB,SAAF,GAAY9jB,MAAMyN,SAAN,CAAgBgnB,IAAhB,CAAqB/mB,IAArB,CAA0BjO,EAAEqkB,SAA5B,EAAuC,UAASrkB,CAAT,EAAW;AAAC,iBAAOA,MAAIw0B,CAAX;AAAa,SAAhE,CAAZ,GAA+E,CAAC,CAACx0B,EAAEhB,SAAF,CAAYm2B,KAAZ,CAAkB,IAAIC,MAAJ,CAAW,YAAUZ,CAAV,GAAY,SAAvB,CAAlB,CAAxF;AAA6I,OAA7mB,EAA8mB13B,UAAS,kBAASkD,CAAT,EAAWw0B,CAAX,EAAa;AAACx0B,UAAEqkB,SAAF,GAAYmQ,EAAEriB,OAAF,CAAU,cAAV,EAAyB,EAAzB,EAA6B8I,KAA7B,CAAmC,MAAnC,EAA2ChK,OAA3C,CAAoD,UAASujB,CAAT,EAAW;AAACA,eAAGx0B,EAAEqkB,SAAF,CAAYC,GAAZ,CAAgBkQ,CAAhB,CAAH;AAAsB,SAAtF,CAAZ,GAAqGhzB,EAAE3E,QAAF,CAAWmD,CAAX,EAAaw0B,CAAb,MAAkBx0B,EAAEhB,SAAF,IAAa,MAAIw1B,CAAnC,CAArG;AAA2I,OAAhxB,EAAixBz3B,aAAY,qBAASiD,CAAT,EAAWw0B,CAAX,EAAa;AAACx0B,UAAEqkB,SAAF,GAAYmQ,EAAEvZ,KAAF,CAAQ,MAAR,EAAgBhK,OAAhB,CAAyB,UAASujB,CAAT,EAAW;AAACx0B,YAAEqkB,SAAF,CAAY8C,MAAZ,CAAmBqN,CAAnB;AAAsB,SAA3D,CAAZ,GAA0EhzB,EAAE3E,QAAF,CAAWmD,CAAX,EAAaw0B,CAAb,KAAiBA,EAAEvZ,KAAF,CAAQ,MAAR,EAAgBhK,OAAhB,CAAyB,UAASujB,CAAT,EAAW;AAAC,cAAIG,IAAE,IAAIS,MAAJ,CAAW,YAAUZ,CAAV,GAAY,SAAvB,CAAN,CAAwCx0B,EAAEhB,SAAF,GAAYgB,EAAEhB,SAAF,CAAYmT,OAAZ,CAAoBwiB,CAApB,EAAsB,GAAtB,CAAZ;AAAuC,SAApH,CAA3F;AAAkN,OAA7/B,EAA8/B33B,aAAY,qBAASgD,CAAT,EAAWw0B,CAAX,EAAa;AAACA,UAAEvZ,KAAF,CAAQ,MAAR,EAAgBhK,OAAhB,CAAyB,UAASujB,CAAT,EAAW;AAAChzB,YAAE3E,QAAF,CAAWmD,CAAX,EAAaw0B,CAAb,IAAgBhzB,EAAEzE,WAAF,CAAciD,CAAd,EAAgBw0B,CAAhB,CAAhB,GAAmChzB,EAAE1E,QAAF,CAAWkD,CAAX,EAAaw0B,CAAb,CAAnC;AAAmD,SAAxF;AAA2F,OAAnnC,EAAonCv3B,SAAQ,mBAAU;AAAC,YAAI+C,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD1H,QAA7D;AAAA,YAAsE61B,IAAEnuB,UAAU,CAAV,CAAxE;AAAA,YAAqFsuB,IAAE,KAAK,CAA5F,CAA8F,IAAG;AAACA,cAAE30B,EAAEohB,aAAF,CAAgBoT,CAAhB,CAAF;AAAqB,SAAzB,CAAyB,OAAMhzB,CAAN,EAAQ;AAACgzB,YAAEye,UAAF,CAAa,GAAb,MAAoBte,IAAE30B,EAAEkzC,cAAF,CAAiB1e,EAAEllB,KAAF,CAAQ,CAAR,CAAjB,CAAtB;AAAoD,gBAAOqlB,CAAP;AAAS,OAAp0C,EAAq0Cr3B,UAAS,kBAAS0C,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,aAAWhzB,EAAEnE,MAAF,CAASm3B,CAAT,CAAX,IAAwB,aAAWhzB,EAAEnE,MAAF,CAAS2C,CAAT,CAAtC,EAAkD,OAAOpB,OAAOkS,IAAP,CAAY0jB,CAAZ,EAAevjB,OAAf,CAAwB,UAAS0jB,CAAT,EAAW;AAAC,uBAAWnzB,EAAEnE,MAAF,CAASm3B,EAAEG,CAAF,CAAT,CAAX,IAA2BH,EAAEG,CAAF,aAAewe,IAA1C,GAA+C,YAAU3xC,EAAEnE,MAAF,CAASm3B,EAAEG,CAAF,CAAT,CAAV,GAAyB30B,EAAE20B,CAAF,IAAK,YAAUnzB,EAAEnE,MAAF,CAAS2C,EAAE20B,CAAF,CAAT,CAAV,GAAyB30B,EAAE20B,CAAF,EAAKnwB,MAAL,CAAYgwB,EAAEG,CAAF,CAAZ,CAAzB,GAA2CH,EAAEG,CAAF,CAAzE,GAA8E30B,EAAE20B,CAAF,IAAKH,EAAEG,CAAF,CAAlI,GAAuI30B,EAAE20B,CAAF,IAAKnzB,EAAElE,QAAF,CAAW0C,EAAE20B,CAAF,CAAX,EAAgBH,EAAEG,CAAF,CAAhB,CAAL,GAA2B30B,EAAE20B,CAAF,IAAKH,EAAEG,CAAF,CAAvK;AAA4K,SAAhN,GAAmN30B,CAA1N;AAA4N,OAA1mD,EAA2mD3C,QAAO,gBAAS2C,CAAT,EAAW;AAAC,eAAOpB,OAAOoP,SAAP,CAAiB1K,QAAjB,CAA0B2K,IAA1B,CAA+BjO,CAA/B,EAAkCm1B,KAAlC,CAAwC,mBAAxC,EAA6D,CAA7D,CAAP;AAAuE,OAArsD,EAAssD33B,SAAQ,iBAASwC,CAAT,EAAW;AAAC,YAAGA,KAAG,MAAIA,EAAE0pB,QAAZ,EAAqB;AAAC,cAAI8K,IAAE71B,SAAS6b,aAAT,CAAuBxa,EAAEozC,OAAzB,CAAN,CAAwC,OAAO7yC,MAAMyN,SAAN,CAAgBiD,OAAhB,CAAwBhD,IAAxB,CAA6BjO,EAAEqzC,UAA/B,EAA2C,UAASrzC,CAAT,EAAW;AAACw0B,cAAE9X,YAAF,CAAe1c,EAAEoB,IAAjB,EAAsBpB,EAAElB,KAAxB;AAA+B,WAAtF,GAAyFkB,EAAE2c,SAAF,KAAc6X,EAAE7X,SAAF,GAAY3c,EAAE2c,SAA5B,CAAzF,EAAgI6X,CAAvI;AAAyI,gBAAM,EAAN;AAAS,OAA16D,EAA26D8e,YAAW,oBAAStzC,CAAT,EAAW;AAAC,YAAIw0B,IAAEh1B,KAAKk6B,KAAL,CAAW15B,CAAX,CAAN,CAAoB,OAAO,MAAIw0B,CAAJ,IAAOx0B,IAAEw0B,CAAT,CAAP;AAAmB,OAAz+D,EAA0+Dz2B,cAAa,sBAASiC,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAenzB,CAAf,EAAiB;AAACxB,UAAE/B,IAAF,CAAOuD,CAAP,EAAU,SAAS+N,CAAT,GAAY;AAACvP,YAAEyO,GAAF,CAAM+lB,CAAN,EAAQG,CAAR,GAAW30B,EAAEyO,GAAF,CAAMjN,CAAN,EAAQ+N,CAAR,CAAX;AAAsB,SAA7C;AAAgD,OAAzjE,EAA0jEvR,IAAG,YAASgC,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAeplB,CAAf,EAAiB;AAAC,YAAGA,CAAH,EAAKvP,EAAEhC,EAAF,CAAKw2B,CAAL,EAAOG,CAAP,GAAUnzB,EAAEzD,YAAF,CAAeiC,CAAf,EAAiBw0B,CAAjB,EAAmBG,CAAnB,EAAqBplB,CAArB,CAAV,CAAL,KAA2C;AAACvP,YAAEhC,EAAF,CAAKw2B,CAAL,EAAQ,SAAShzB,CAAT,CAAW+N,CAAX,EAAa;AAAColB,cAAEplB,CAAF,GAAKvP,EAAEyO,GAAF,CAAM+lB,CAAN,EAAQhzB,CAAR,CAAL;AAAgB,WAAtC;AAAyC;AAAC,OAArqE,EAAsqEkB,OAAM,eAAS1C,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC,YAAInzB,IAAExB,EAAE0C,KAAR,CAAc,IAAG;AAAClB,YAAEgzB,CAAF,IAAKG,CAAL;AAAO,SAAX,CAAW,OAAM30B,CAAN,EAAQ;AAACwB,YAAE+xC,WAAF,CAAc/e,CAAd,EAAgBG,CAAhB;AAAmB;AAAC,OAAlvE,EAAN,CAA0vEH,EAAEE,OAAF,GAAUlzB,CAAV,EAAYxB,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAAz2E,EAA02E,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,CAAJ;AAAA,QAAM+N,IAAE,YAAU;AAAC,eAASvP,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAR;AAAA,QAA2P90B,IAAEi1B,EAAE,EAAF,CAA7P;AAAA,QAAmQt0B,IAAE,CAACmB,IAAE9B,CAAH,KAAO8B,EAAEizB,UAAT,GAAoBjzB,CAApB,GAAsB,EAACkzB,SAAQlzB,CAAT,EAA3R,CAAuS,IAAIuzB,IAAE,YAAU;AAAC,eAAS/0B,CAAT,GAAY;AAAC,SAAC,UAASA,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGlR,CAAlG,CAAD;AAAsG,cAAOuP,EAAEvP,CAAF,EAAI,CAAC,EAACnB,KAAI,WAAL,EAAiBC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,EAA7D,CAAgE,KAAKmtC,MAAL,GAAY,IAAInzC,EAAEq0B,OAAN,CAAc10B,IAAE,KAAhB,CAAZ;AAAmC,SAArI,EAAD,CAAJ,GAA8IA,CAArJ;AAAuJ,KAArR,EAAN,CAA8Rw0B,EAAEE,OAAF,GAAUK,CAAV,EAAY/0B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA7hG,EAA8hG,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,EAAF,GAAN,CAAc30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAOA,MAAIwB,CAAJ,IAAO,SAAOxB,CAArB;AAAuB,KAA7C;AAA8C,GAAvnG,EAAwnG,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAb;AAAe,KAArC;AAAsC,GAA3rG,EAA4rG,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC30B,MAAEmD,OAAF,GAAUwxB,EAAE,CAAF,CAAV;AAAe,GAA3tG,EAA4tG,UAAS30B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,CAAJ;AAAA,QAAM+N,IAAEolB,EAAE,CAAF,CAAR;AAAA,QAAaj1B,IAAE,CAAC8B,IAAE+N,CAAH,KAAO/N,EAAEizB,UAAT,GAAoBjzB,CAApB,GAAsB,EAACkzB,SAAQlzB,CAAT,EAArC,CAAiDmzB,EAAE,EAAF,GAAMH,EAAEE,OAAF,GAAUh1B,EAAEg1B,OAAlB,EAA0B10B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAtC;AAA8C,GAAz4G,EAA04G,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN;AAAA,QAAyPjlB,IAAE8N,EAAEsX,EAAE,CAAF,CAAF,CAA3P;AAAA,QAAmQj1B,IAAE2d,EAAEsX,EAAE,CAAF,CAAF,CAArQ;AAAA,QAA6Qt0B,IAAEgd,EAAEsX,EAAE,EAAF,CAAF,CAA/Q;AAAA,QAAwRI,IAAE1X,EAAEsX,EAAE,EAAF,CAAF,CAA1R;AAAA,QAAmSvlB,IAAEiO,EAAEsX,EAAE,CAAF,CAAF,CAArS;AAAA,QAA6SU,IAAEV,EAAE,EAAF,CAA/S;AAAA,QAAqT7kB,IAAE6kB,EAAE,EAAF,CAAvT,CAA6T,SAAStX,CAAT,CAAWrd,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEy0B,UAAL,GAAgBz0B,CAAhB,GAAkB,EAAC00B,SAAQ10B,CAAT,EAAzB;AAAqC,cAASgB,CAAT,CAAWhB,CAAX,EAAaw0B,CAAb,EAAe;AAAC,UAAG,CAACx0B,CAAJ,EAAM,MAAM,IAAI2hC,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAACnN,CAAD,IAAI,oBAAiBA,CAAjB,yCAAiBA,CAAjB,MAAoB,cAAY,OAAOA,CAA3C,GAA6Cx0B,CAA7C,GAA+Cw0B,CAArD;AAAuD,SAAI5mB,IAAE,UAAS5N,CAAT,EAAW;AAAC,eAASw0B,CAAT,CAAWx0B,CAAX,EAAa;AAAC,SAAC,UAASA,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGsjB,CAAlG,CAAD,CAAsG,IAAIG,IAAE3zB,EAAE,IAAF,EAAO,CAACwzB,EAAE0N,SAAF,IAAatjC,OAAOo5B,cAAP,CAAsBxD,CAAtB,CAAd,EAAwCvmB,IAAxC,CAA6C,IAA7C,CAAP,CAAN,CAAiE0mB,EAAE8e,SAAF,CAAY,OAAZ,GAAqB9e,EAAE6e,MAAF,IAAU7e,EAAE6e,MAAF,CAASE,IAAT,CAAc,uBAAqBre,EAAEnvB,OAArC,CAA/B,CAA6E,IAAI1E,IAAEmzB,CAAN,CAAQ,IAAGnzB,EAAEke,MAAF,GAAStQ,EAAEslB,OAAF,CAAUp3B,QAAV,CAAmB,EAACq2C,SAAQ,CAAC,CAAV,EAAYhC,MAAK,EAACvvC,OAAM,CAAP,EAASV,KAAI,CAAb,EAAjB,EAAiCkyC,MAAK,CAAC,CAAvC,EAAyClC,UAAS,EAAlD,EAAqDmC,WAAU,KAA/D,EAAqEC,oBAAmB,CAAC,CAAzF,EAAnB,EAA+G9zC,CAA/G,CAAT,EAA2HwB,EAAEuyC,OAAF,GAAU,EAArI,EAAwIvyC,EAAEwyC,MAAF,GAAS,IAAIjf,EAAEL,OAAN,EAAjJ,EAA+J,CAAC,GAAEnlB,EAAEmlB,OAAL,EAAclzB,CAAd,CAA/J,EAAgLA,EAAEke,MAAF,CAASgyB,QAAT,CAAkBzgC,OAAlB,CAA2B,UAASjR,CAAT,EAAW;AAACA,YAAE0V,QAAF,GAAW1V,EAAE0V,QAAF,GAAW1V,EAAE0V,QAAb,GAAsB,GAAjC,EAAqC1V,EAAE0T,IAAF,KAAS1T,EAAE0T,IAAF,GAAO,QAAhB,CAArC;AAA+D,SAAtG,CAAhL,EAAyR,CAAClS,EAAEke,MAAF,CAAS9K,SAAV,IAAqB,MAAIpT,EAAEke,MAAF,CAAS9K,SAAT,CAAmB8U,QAAxU,EAAiV,OAAOloB,EAAEkN,IAAF,CAAO,OAAP,EAAe,6BAAf,GAA8C,CAAC,CAA/C,EAAiD1N,EAAE2zB,CAAF,EAAI,CAAC,CAAL,CAAxD,CAAgE,IAAGnzB,EAAEoT,SAAF,GAAYpT,EAAEke,MAAF,CAAS9K,SAArB,EAA+BpT,EAAEke,MAAF,CAASu0B,cAA3C,EAA0D;AAAC,cAAIv0C,IAAE8B,EAAEke,MAAF,CAASu0B,cAAf,CAA8Br1C,OAAOkS,IAAP,CAAYpR,CAAZ,EAAeuR,OAAf,CAAwB,UAASjR,CAAT,EAAW;AAACwB,cAAEoT,SAAF,CAAYlS,KAAZ,CAAkB1C,CAAlB,IAAqBN,EAAEM,CAAF,CAArB;AAA0B,WAA9D;AAAiE,gBAAOwB,EAAEoyC,IAAF,GAAOpyC,EAAEke,MAAF,CAASk0B,IAAhB,EAAqBpyC,EAAEsH,MAAF,GAAStH,EAAEke,MAAF,CAAS5W,MAAvC,EAA8CtH,EAAEqyC,SAAF,GAAYryC,EAAEke,MAAF,CAASm0B,SAAnE,EAA6EzkC,EAAEslB,OAAF,CAAU53B,QAAV,CAAmB0E,EAAEoT,SAArB,EAA+B,OAA/B,CAA7E,EAAqHpT,EAAE0yC,SAAF,GAAY,IAAI7zC,EAAEq0B,OAAN,CAAclzB,CAAd,CAAjI,EAAkJA,EAAE2yC,OAAF,GAAU,CAAC,CAA7J,EAA+J3yC,EAAEkN,IAAF,CAAO,OAAP,CAA/J,EAA+KimB,EAAE6e,MAAF,IAAU7e,EAAE6e,MAAF,CAASE,IAAT,CAAc,OAAd,CAAzL,EAAgN/e,EAAEyf,iBAAF,EAAhN,EAAsOzf,CAA7O;AAA+O,cAAO,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAItjB,SAAJ,CAAc,qEAAkEsjB,CAAlE,yCAAkEA,CAAlE,EAAd,CAAN,CAAyFx0B,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAcsmB,KAAGA,EAAExmB,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAMkB,CAAP,EAASuO,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GkmB,MAAI51B,OAAOqjC,cAAP,GAAsBrjC,OAAOqjC,cAAP,CAAsBjiC,CAAtB,EAAwBw0B,CAAxB,CAAtB,GAAiDx0B,EAAEkiC,SAAF,GAAY1N,CAAjE,CAA5G;AAAgL,OAAzT,CAA0TA,CAA1T,EAA4Tx0B,CAA5T,GAA+TwB,EAAEgzB,CAAF,EAAI,CAAC,EAAC31B,KAAI,mBAAL,EAAyBC,OAAM,iBAAU;AAAC,cAAIkB,IAAE,IAAN,CAAW,KAAK0f,MAAL,CAAYo0B,kBAAZ,IAAgC,CAAC,GAAEhkC,EAAEmmB,WAAL,EAAkB,KAAKrhB,SAAvB,EAAkC,YAAU;AAAC5U,cAAEwzC,MAAF,IAAUxzC,EAAEwzC,MAAF,CAASE,IAAT,CAAc,oBAAd,CAAV,EAA8C1zC,EAAE+uC,MAAF,EAA9C;AAAyD,WAAtG,CAAhC;AAAyI,SAA9L,EAAD,EAAiM,EAAClwC,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,EAAuC,KAAKQ,SAAL,CAAeG,IAAf,CAAoBjyC,KAApB,EAAvC;AAAmE,SAAjG,EAAjM,EAAoS,EAACvD,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,EAAuC,KAAKQ,SAAL,CAAeG,IAAf,CAAoBC,KAApB,EAAvC;AAAmE,SAAjG,EAApS,EAAuY,EAACz1C,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,MAAjB,CAAb,EAAsC,KAAKQ,SAAL,CAAeG,IAAf,CAAoBzgC,IAApB,EAAtC;AAAiE,SAA9F,EAAvY,EAAue,EAAC/U,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,MAAjB,CAAb,EAAsC,KAAKQ,SAAL,CAAeG,IAAf,CAAoBE,IAApB,EAAtC;AAAiE,SAA9F,EAAve,EAAukB,EAAC11C,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,EAAuC,KAAKQ,SAAL,CAAeG,IAAf,CAAoBlP,KAApB,EAAvC;AAAmE,SAAjG,EAAvkB,EAA0qB,EAACtmC,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,eAAI,IAAIkB,CAAR,IAAY,CAAC,GAAE8P,EAAEqmB,UAAL,EAAiB,KAAKvhB,SAAtB,GAAiC,KAAK4+B,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,SAAjB,CAA9C,EAA0E,KAAKa,IAAL,EAA1E,EAAsF,KAAKL,SAAL,CAAersB,OAAf,EAAtF,EAA+G,KAAKmsB,MAAL,CAAYnsB,OAAZ,EAA/G,EAAqI,IAAjJ;AAAsJ,mBAAO,KAAK7nB,CAAL,CAAP;AAAtJ,WAAqK,KAAK0O,IAAL,CAAU,SAAV;AAAqB,SAA1N,EAA1qB,EAAs4B,EAAC7P,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,mBAAiB1zC,EAAEw0C,GAAF,IAAO,eAAxB,CAAjB,CAAb,EAAwEx0C,EAAE0V,QAAF,KAAa1V,EAAE0V,QAAF,GAAW,IAAxB,CAAxE,EAAsG1V,KAAGA,EAAE8D,EAAL,IAAS9D,EAAE0V,QAAX,KAAsB1V,EAAE1B,EAAF,IAAM0B,EAAEw0C,GAA9B,MAAqCx0C,EAAE0V,QAAF,GAAW1V,EAAE0V,QAAF,GAAW1V,EAAE0V,QAAb,GAAsB,GAAjC,EAAqC1V,EAAE0C,KAAF,KAAU1C,EAAE0C,KAAF,GAAQ,EAAC+xC,SAAQ,KAAK,CAAd,EAAgB5F,UAAS,KAAK,CAA9B,EAAlB,CAArC,EAAyF7uC,EAAE0C,KAAF,KAAU,KAAK+xC,OAAL,IAAc,KAAKA,OAAL,KAAez0C,EAAE0C,KAAF,CAAQ+xC,OAArC,KAA+Cz0C,EAAE0C,KAAF,CAAQ+xC,OAAR,GAAgB,KAAKA,OAApE,GAA6E,KAAK5F,QAAL,IAAe,KAAKA,QAAL,KAAgB7uC,EAAE0C,KAAF,CAAQmsC,QAAvC,KAAkD7uC,EAAE0C,KAAF,CAAQmsC,QAAR,GAAiB,KAAKA,QAAxE,CAA7E,EAA+J,KAAK6F,IAAL,KAAY10C,EAAE00C,IAAF,GAAO10C,EAAE00C,IAAF,GAAO10C,EAAE00C,IAAT,GAAc,KAAKA,IAAtC,CAAzK,CAAzF,EAA+S10C,EAAE20C,KAAF,IAAS30C,EAAE40C,QAAX,IAAqB,KAAKV,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyB8vC,OAAzB,CAAiC70C,CAAjC,GAAoCA,EAAE40C,QAAF,KAAa,KAAKV,SAAL,CAAeG,IAAf,CAAoBS,QAApB,IAA+B,KAAKZ,SAAL,CAAeG,IAAf,CAAoBU,UAApB,EAA5C,CAAzD,IAAwI,KAAKb,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBhB,IAAzB,CAA8B/D,CAA9B,CAA5d,CAAtG;AAAomB,SAAzoB,EAAt4B,EAAihD,EAACnB,KAAI,cAAL,EAAoBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAIG,IAAE,IAAN,CAAW,KAAK6e,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,yBAAuB1zC,CAAvB,GAAyB,SAAzB,GAAmCw0B,CAApD,CAAb,CAAoE,IAAIhzB,IAAE,KAAKoT,SAAL,CAAe6Q,qBAAf,EAAN,CAA6CzlB,KAAGw0B,CAAH,KAAO,KAAK0f,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBiwB,IAAzB,CAA+B,UAASL,CAAT,EAAW;AAAC,mBAAOA,EAAE7wB,EAAF,KAAO9D,CAAP,KAAW20B,EAAE7wB,EAAF,GAAK0wB,CAAL,EAAO,CAAC,CAAnB,CAAP;AAA6B,WAAxE,GAA2E,KAAK0f,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASzlB,CAAT,EAAW;AAAC,mBAAOA,EAAEzL,EAAF,KAAO9D,CAAP,KAAWuP,EAAEzL,EAAF,GAAK0wB,CAAL,EAAOjlB,EAAE0lC,SAAF,CAAYzzC,CAAZ,CAAP,EAAsB,aAAWmzB,EAAEuf,SAAF,CAAYG,IAAZ,CAAiBhnC,MAA5B,IAAoCkC,EAAE2lC,SAAF,CAAY1zC,CAAZ,CAA1D,EAAyE,CAAC,CAArF,CAAP;AAA+F,WAA3I,CAAlF;AAAiO,SAArY,EAAjhD,EAAw5D,EAAC3C,KAAI,oBAAL,EAA0BC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAIG,IAAE,IAAN,CAAW,KAAK6e,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,4BAA0B1zC,CAA1B,GAA4B,YAA5B,GAAyCw0B,CAA1D,CAAb,CAA0E,IAAIhzB,IAAE,KAAKoT,SAAL,CAAe6Q,qBAAf,EAAN,CAA6CzlB,KAAGw0B,CAAH,KAAOA,IAAEA,KAAG,GAAL,EAAS,KAAK0f,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBiwB,IAAzB,CAA+B,UAASL,CAAT,EAAW;AAAC,mBAAOA,EAAE7wB,EAAF,KAAO9D,CAAP,KAAW20B,EAAEjf,QAAF,GAAW8e,CAAX,EAAa,CAAC,CAAzB,CAAP;AAAmC,WAA9E,CAAT,EAA0F,KAAK0f,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASzlB,CAAT,EAAW;AAAC,mBAAOA,EAAEzL,EAAF,KAAO9D,CAAP,KAAWuP,EAAEmG,QAAF,GAAW8e,CAAX,EAAajlB,EAAE0lC,SAAF,CAAYzzC,CAAZ,CAAb,EAA4B,aAAWmzB,EAAEuf,SAAF,CAAYG,IAAZ,CAAiBhnC,MAA5B,IAAoCkC,EAAE2lC,SAAF,CAAY1zC,CAAZ,CAAhE,EAA+E,CAAC,CAA3F,CAAP;AAAqG,WAAjJ,CAAjG;AAAsP,SAAta,EAAx5D,EAAg0E,EAAC3C,KAAI,gBAAL,EAAsBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,eAAKgf,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,wBAAsB1zC,CAAtB,GAAwB,QAAxB,GAAiCw0B,CAAlD,CAAb,CAAkE,IAAIG,IAAE,KAAK/f,SAAL,CAAe6Q,qBAAf,EAAN,CAA6C,KAAKivB,IAAL,GAAUlgB,CAAV,EAAYx0B,KAAGw0B,CAAH,KAAO,KAAK0f,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBiwB,IAAzB,CAA+B,UAASL,CAAT,EAAW;AAAC,mBAAOA,EAAE7wB,EAAF,KAAO9D,CAAP,KAAW20B,EAAE+f,IAAF,GAAOlgB,CAAP,EAAS,CAAC,CAArB,CAAP;AAA+B,WAA1E,GAA6E,KAAK0f,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASxzB,CAAT,EAAW;AAAC,mBAAOA,EAAEsC,EAAF,KAAO9D,CAAP,KAAWwB,EAAEyzC,SAAF,CAAYtgB,CAAZ,GAAenzB,EAAE2zC,UAAF,CAAa3gB,EAAEl2B,EAAf,EAAkBk2B,EAAE9xB,KAApB,CAAf,EAA0C,aAAWlB,EAAEoY,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0C7L,EAAE0zC,SAAF,CAAYvgB,CAAZ,CAApF,EAAmG,CAAC,CAA/G,CAAP;AAAyH,WAArK,CAApF,CAAZ;AAAyQ,SAAla,EAAh0E,EAAouF,EAAC91B,KAAI,gBAAL,EAAsBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,wBAAsB1zC,CAAvC,CAAb,EAAuD,KAAKo1C,YAAL,GAAkB,CAAC,CAA1E,CAA4E,IAAI5gB,IAAE,KAAK5f,SAAL,CAAe6Q,qBAAf,EAAN,CAA6CzlB,KAAG,KAAKk0C,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASL,CAAT,EAAW;AAAC,mBAAOA,EAAE7wB,EAAF,KAAO9D,CAAP,KAAW,aAAW20B,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,GAAyCsnB,EAAEugB,SAAF,CAAY1gB,CAAZ,EAAc,CAAC,CAAf,CAAzC,GAA2DG,EAAEtnB,MAAF,GAAS,QAApE,EAA6E,CAAC,CAAzF,CAAP;AAAmG,WAA/I,CAAH;AAAqJ,SAAtT,EAApuF,EAA4hG,EAACxO,KAAI,eAAL,EAAqBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,uBAAqB1zC,CAAtC,CAAb,EAAsD,KAAKo1C,YAAL,GAAkB,CAAC,CAAzE,CAA2E,IAAI5gB,IAAE,KAAK5f,SAAL,CAAe6Q,qBAAf,EAAN,CAA6CzlB,KAAG,KAAKk0C,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASL,CAAT,EAAW;AAAC,mBAAOA,EAAE7wB,EAAF,KAAO9D,CAAP,KAAW20B,EAAEtnB,MAAF,GAAS,aAAT,EAAuBsnB,EAAEsgB,SAAF,CAAYzgB,CAAZ,CAAvB,EAAsCG,EAAEr2B,EAAF,IAAMq2B,EAAEr2B,EAAF,CAAKoE,KAAX,IAAkB0M,EAAEslB,OAAF,CAAUhyB,KAAV,CAAgBiyB,EAAEr2B,EAAlB,EAAqB,QAArB,EAA8B,EAA9B,CAAxD,EAA0F,CAAC,CAAtG,CAAP;AAAgH,WAA5J,CAAH;AAAkK,SAAjU,EAA5hG,EAA+1G,EAACO,KAAI,eAAL,EAAqBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,uBAAqB1zC,CAAtC,CAAb,EAAsDA,MAAI,KAAKk0C,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BhgB,IAA1B,CAAgC,UAASR,CAAT,EAAW;AAAC,mBAAOA,EAAE1wB,EAAF,KAAO9D,CAAP,KAAWw0B,EAAErN,MAAF,IAAW,CAAC,CAAvB,CAAP;AAAiC,WAA7E,GAAgF,KAAK+sB,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,GAAyB,KAAKmvC,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBswC,MAAzB,CAAiC,UAAS7gB,CAAT,EAAW;AAAC,mBAAOA,EAAE1wB,EAAF,KAAO9D,CAAd;AAAgB,WAA7D,CAA7G,CAAtD;AAAoO,SAA3Q,EAA/1G,EAA4mH,EAACnB,KAAI,gBAAL,EAAsBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,EAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA/B,KAA8CA,UAAU,CAAV,CAApD,CAAiEmuB,MAAI,KAAK0f,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,GAAyB,EAA7B,GAAiC,KAAKmvC,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,GAAyB,KAAKmvC,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBP,MAAzB,CAAgCxE,CAAhC,CAA1D;AAA6F,SAAtM,EAA5mH,EAAozH,EAACnB,KAAI,gBAAL,EAAsBC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,QAA7D;AAAA,cAAsEmuB,IAAEnuB,UAAU,CAAV,CAAxE;AAAA,cAAqFsuB,IAAE,EAAEtuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA/B,KAA8CA,UAAU,CAAV,CAArI,CAAkJ,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,0BAAwB1zC,CAAxB,GAA0B,YAA1B,GAAuCw0B,CAAvC,GAAyC,SAAzC,GAAmDG,CAApE,CAAb,CAAoF,IAAInzB,IAAE,KAAKoT,SAAL,CAAe6Q,qBAAf,EAAN,CAA6C+O,MAAIA,IAAEA,KAAG,GAAL,EAASG,MAAI,KAAKuf,SAAL,CAAeG,IAAf,CAAoBiB,aAApB,GAAkC9gB,CAAtC,CAAT,EAAkD,KAAK0f,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBkM,OAAzB,CAAkC,UAAS0jB,CAAT,EAAW;AAAC30B,kBAAI20B,EAAEjhB,IAAN,KAAaihB,EAAEjf,QAAF,GAAW8e,CAAxB;AAA2B,WAAzE,CAAlD,EAA8H,KAAK0f,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0B/jC,OAA1B,CAAmC,UAAS0jB,CAAT,EAAW;AAAC30B,kBAAI20B,EAAEjhB,IAAN,KAAaihB,EAAEjf,QAAF,GAAW8e,CAAX,EAAaG,EAAEsgB,SAAF,CAAYzzC,CAAZ,CAAb,EAA4B,aAAWmzB,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0CsnB,EAAEugB,SAAF,CAAY1zC,CAAZ,CAAnF;AAAmG,WAAlJ,CAAlI;AAAwR,SAAllB,EAApzH,EAAw4I,EAAC3C,KAAI,YAAL,EAAkBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,yBAAuB1zC,CAAxC,CAAb,EAAwD,KAAK4U,SAAL,CAAelS,KAAf,CAAqB+xC,OAArB,GAA6Bz0C,CAArF;AAAuF,SAA3H,EAAx4I,EAAqgJ,EAACnB,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAIG,IAAE,IAAN,CAAW,KAAK6e,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,uBAAqB1zC,CAArB,GAAuB,eAAvB,GAAuCw0B,CAAxD,CAAb,EAAwE,KAAKqa,QAAL,GAAc7uC,IAAE,IAAxF,EAA6FA,MAAI,KAAKk0C,SAAL,CAAeG,IAAf,CAAoBtvC,IAApB,CAAyBkM,OAAzB,CAAkC,UAASjR,CAAT,EAAW;AAACA,cAAE0C,KAAF,KAAU1C,EAAE0C,KAAF,CAAQmsC,QAAR,GAAiBla,EAAEka,QAA7B;AAAuC,WAArF,GAAwF,KAAKqF,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0B/jC,OAA1B,CAAmC,UAASjR,CAAT,EAAW;AAACA,cAAE+L,OAAF,CAAUrJ,KAAV,KAAkB1C,EAAE+L,OAAF,CAAUrJ,KAAV,GAAgB,EAAlC,GAAsC1C,EAAE+L,OAAF,CAAUrJ,KAAV,CAAgBmsC,QAAhB,GAAyBla,EAAEka,QAAjE,EAA0E7uC,EAAEu1C,WAAF,CAAc5gB,EAAEka,QAAhB,CAA1E,EAAoGra,MAAIx0B,EAAEsjB,GAAF,GAAMtjB,EAAEw1C,UAAF,CAAa,CAAb,IAAgBhhB,CAAtB,EAAwBx0B,EAAEy1C,OAAF,EAA5B,CAApG;AAA6I,WAA5L,CAA5F,CAA7F,EAAyXjhB,MAAI,KAAK9U,MAAL,CAAYg2B,WAAZ,GAAwBlhB,CAAxB,EAA0B,KAAK0f,SAAL,CAAeG,IAAf,CAAoBsB,OAApB,CAA4B5G,MAA5B,CAAmC,CAAC,CAApC,CAA9B,CAAzX;AAA+b,SAAjf,EAArgJ,EAAw/J,EAAClwC,KAAI,SAAL,EAAeC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,mBAAiB1zC,CAAlC,CAAb,EAAkD,KAAK0f,MAAL,CAAYiyB,IAAZ,GAAiB3xC,CAAnE,EAAqE,KAAKk0C,SAAL,CAAeG,IAAf,CAAoBsB,OAApB,CAA4B5G,MAA5B,CAAmC,CAAC,CAApC,CAArE;AAA4G,SAA7I,EAAx/J,EAAuoK,EAAClwC,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,QAA7D,CAAsE,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,gBAAc1zC,CAA/B,CAAb,EAA+C,KAAK+zC,OAAL,CAAaxiC,OAAb,CAAqBvR,CAArB,IAAwB,CAAxB,IAA2B,KAAK+zC,OAAL,CAAahwC,IAAb,CAAkB/D,CAAlB,CAA1E,CAA+F,IAAIw0B,IAAE,KAAK0f,SAAL,CAAeG,IAAf,CAAoBW,KAApB,CAA0BK,MAA1B,CAAkC,UAAS7gB,CAAT,EAAW;AAAC,mBAAOx0B,MAAIw0B,EAAE9gB,IAAN,IAAY,YAAU1T,CAAV,IAAaw0B,EAAEuZ,KAAlC;AAAwC,WAAtF,CAAN,CAA+FvZ,EAAEvjB,OAAF,CAAW,UAASjR,CAAT,EAAW;AAAC,mBAAOA,EAAEmnB,MAAF,EAAP;AAAkB,WAAzC;AAA4C,SAA7U,EAAvoK,EAAs9K,EAACtoB,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,QAA7D,CAAsE,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,gBAAc1zC,CAA/B,CAAb,CAA+C,IAAIw0B,IAAE,KAAKuf,OAAL,CAAaxiC,OAAb,CAAqBvR,CAArB,CAAN,CAA8Bw0B,IAAE,CAAC,CAAH,IAAM,KAAKuf,OAAL,CAAa5kC,MAAb,CAAoBqlB,CAApB,EAAsB,CAAtB,CAAN;AAA+B,SAA/M,EAAt9K,EAAuqL,EAAC31B,KAAI,cAAL,EAAoBC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,GAA0CA,UAAU,CAAV,CAA1C,GAAuD,KAA7D,CAAmE,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,6BAA2B1zC,CAA5C,CAAb,EAA4D,KAAK0O,IAAL,CAAU,iBAAV,EAA4B1O,CAA5B,CAA5D;AAA2F,SAAnM,EAAvqL,EAA42L,EAACnB,KAAI,QAAL,EAAcC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,QAAjB,CAAb,EAAwC,KAAKhlC,IAAL,CAAU,gBAAV,CAAxC;AAAoE,SAAnG,EAA52L,CAAJ,CAA/T,EAAsxM8lB,CAA7xM;AAA+xM,KAA/0O,CAAg1O90B,EAAEg1B,OAAl1O,CAAN,CAAi2OF,EAAEE,OAAF,GAAU9mB,CAAV,EAAY5N,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA52W,EAA62W,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,CAAJ;AAAA,QAAM+N,CAAN;AAAA,QAAQ7P,CAAR;AAAA,QAAUW,CAAV;AAAA,QAAY00B,CAAZ;AAAA,QAAc3lB,CAAd;AAAA,QAAgBimB,CAAhB;AAAA,QAAkBvlB,IAAE6kB,EAAE,CAAF,CAApB;AAAA,QAAyBtX,IAAEsX,EAAE,EAAF,CAA3B;AAAA,QAAiC3zB,IAAE+M,SAASC,SAAT,CAAmBF,KAAtD;AAAA,QAA4DF,IAAEG,SAASC,SAAT,CAAmBC,IAAjF;AAAA,QAAsFioB,IAAEt3B,OAAOsP,MAA/F;AAAA,QAAsGqnB,IAAE32B,OAAOuP,cAA/G;AAAA,QAA8HioB,IAAEx3B,OAAOwP,gBAAvI;AAAA,QAAwJonB,IAAE52B,OAAOoP,SAAP,CAAiBK,cAA3K;AAAA,QAA0LzM,IAAE,EAAC0M,cAAa,CAAC,CAAf,EAAiBC,YAAW,CAAC,CAA7B,EAA+BC,UAAS,CAAC,CAAzC,EAA5L,CAAwOe,IAAE,WAASvP,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAIG,EAAJ,EAAMplB,CAAN,CAAQ,OAAO8N,EAAEmX,CAAF,GAAKjlB,IAAE,IAAP,EAAY/N,EAAEyM,IAAF,CAAO,IAAP,EAAYjO,CAAZ,EAAc20B,KAAE,aAAU;AAACj1B,UAAEuO,IAAF,CAAOsB,CAAP,EAASvP,CAAT,EAAW20B,EAAX,GAAc3zB,EAAEiN,IAAF,CAAOumB,CAAP,EAAS,IAAT,EAAcnuB,SAAd,CAAd;AAAuC,OAAlE,CAAZ,EAAgFsuB,GAAE3lB,kBAAF,GAAqBwlB,CAArG,EAAuG,IAA9G;AAAmH,KAA3I,EAA4IO,IAAE,EAAC/2B,IAAGwD,IAAE,WAASxB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAIG,CAAJ,CAAM,OAAOtX,EAAEmX,CAAF,GAAKgB,EAAEvnB,IAAF,CAAO,IAAP,EAAY,QAAZ,IAAsB0mB,IAAE,KAAK5lB,MAA7B,IAAqC4lB,IAAE/yB,EAAE9C,KAAF,GAAQo3B,EAAE,IAAF,CAAV,EAAkBX,EAAE,IAAF,EAAO,QAAP,EAAgB3zB,CAAhB,CAAlB,EAAqCA,EAAE9C,KAAF,GAAQ,IAAlF,CAAL,EAA6F61B,EAAE30B,CAAF,IAAK,oBAAiB20B,EAAE30B,CAAF,CAAjB,IAAsB20B,EAAE30B,CAAF,EAAK+D,IAAL,CAAUywB,CAAV,CAAtB,GAAmCG,EAAE30B,CAAF,IAAK,CAAC20B,EAAE30B,CAAF,CAAD,EAAMw0B,CAAN,CAA7C,GAAsDG,EAAE30B,CAAF,IAAKw0B,CAAxJ,EAA0J,IAAjK;AAAsK,OAAhM,EAAiMv2B,MAAKsR,CAAtM,EAAwMd,KAAI/O,IAAE,WAASM,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAIG,CAAJ,EAAMnzB,CAAN,EAAQ+N,CAAR,EAAU7P,CAAV,CAAY,IAAG2d,EAAEmX,CAAF,GAAK,CAACgB,EAAEvnB,IAAF,CAAO,IAAP,EAAY,QAAZ,CAAT,EAA+B,OAAO,IAAP,CAAY,IAAG,CAAC,CAAC0mB,IAAE,KAAK5lB,MAAR,EAAgB/O,CAAhB,CAAJ,EAAuB,OAAO,IAAP,CAAY,IAAG,oBAAiBwB,IAAEmzB,EAAE30B,CAAF,CAAnB,CAAH,EAA4B,KAAIN,IAAE,CAAN,EAAQ6P,IAAE/N,EAAE9B,CAAF,CAAV,EAAe,EAAEA,CAAjB;AAAmB6P,gBAAIilB,CAAJ,IAAOjlB,EAAEP,kBAAF,KAAuBwlB,CAA9B,KAAkC,MAAIhzB,EAAElC,MAAN,GAAaq1B,EAAE30B,CAAF,IAAKwB,EAAE9B,IAAE,CAAF,GAAI,CAAN,CAAlB,GAA2B8B,EAAE2N,MAAF,CAASzP,CAAT,EAAW,CAAX,CAA7D;AAAnB,SAA5B,MAAgI8B,MAAIgzB,CAAJ,IAAOhzB,EAAEwN,kBAAF,KAAuBwlB,CAA9B,IAAiC,OAAOG,EAAE30B,CAAF,CAAxC,CAA6C,OAAO,IAAP;AAAY,OAA/e,EAAgf0O,MAAKrO,IAAE,WAASL,CAAT,EAAW;AAAC,YAAIw0B,CAAJ,EAAMG,CAAN,EAAQnzB,CAAR,EAAU+N,CAAV,EAAY7P,CAAZ,CAAc,IAAG81B,EAAEvnB,IAAF,CAAO,IAAP,EAAY,QAAZ,MAAwBsB,IAAE,KAAKR,MAAL,CAAY/O,CAAZ,CAA1B,CAAH,EAA6C,IAAG,oBAAiBuP,CAAjB,yCAAiBA,CAAjB,EAAH,EAAsB;AAAC,eAAIolB,IAAEtuB,UAAU/G,MAAZ,EAAmBI,IAAE,IAAIa,KAAJ,CAAUo0B,IAAE,CAAZ,CAArB,EAAoCH,IAAE,CAA1C,EAA4CA,IAAEG,CAA9C,EAAgD,EAAEH,CAAlD;AAAoD90B,cAAE80B,IAAE,CAAJ,IAAOnuB,UAAUmuB,CAAV,CAAP;AAApD,WAAwE,KAAIjlB,IAAEA,EAAED,KAAF,EAAF,EAAYklB,IAAE,CAAlB,EAAoBhzB,IAAE+N,EAAEilB,CAAF,CAAtB,EAA2B,EAAEA,CAA7B;AAA+BxzB,cAAEiN,IAAF,CAAOzM,CAAP,EAAS,IAAT,EAAc9B,CAAd;AAA/B;AAAgD,SAA/I,MAAoJ,QAAO2G,UAAU/G,MAAjB,GAAyB,KAAK,CAAL;AAAOsO,cAAEK,IAAF,CAAOsB,CAAP,EAAS,IAAT,EAAe,MAAM,KAAK,CAAL;AAAO3B,cAAEK,IAAF,CAAOsB,CAAP,EAAS,IAAT,EAAclJ,UAAU,CAAV,CAAd,EAA4B,MAAM,KAAK,CAAL;AAAOuH,cAAEK,IAAF,CAAOsB,CAAP,EAAS,IAAT,EAAclJ,UAAU,CAAV,CAAd,EAA2BA,UAAU,CAAV,CAA3B,EAAyC,MAAM;AAAQ,iBAAIsuB,IAAEtuB,UAAU/G,MAAZ,EAAmBI,IAAE,IAAIa,KAAJ,CAAUo0B,IAAE,CAAZ,CAArB,EAAoCH,IAAE,CAA1C,EAA4CA,IAAEG,CAA9C,EAAgD,EAAEH,CAAlD;AAAoD90B,gBAAE80B,IAAE,CAAJ,IAAOnuB,UAAUmuB,CAAV,CAAP;AAApD,aAAwExzB,EAAEiN,IAAF,CAAOsB,CAAP,EAAS,IAAT,EAAc7P,CAAd,EAApO;AAAsP,OAAx8B,EAA9I,EAAwlC0P,IAAE,EAACpR,IAAG8R,EAAEtO,CAAF,CAAJ,EAASvD,MAAK6R,EAAEP,CAAF,CAAd,EAAmBd,KAAIqB,EAAEpQ,CAAF,CAAvB,EAA4BgP,MAAKoB,EAAEzP,CAAF,CAAjC,EAA1lC,EAAioCg1B,IAAEe,EAAE,EAAF,EAAKhnB,CAAL,CAAnoC,EAA2oCpP,EAAEmD,OAAF,GAAUqxB,IAAE,WAASx0B,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,GAAQk2B,EAAEb,CAAF,CAAR,GAAae,EAAEx3B,OAAOoB,CAAP,CAAF,EAAYoP,CAAZ,CAApB;AAAmC,KAAtsC,EAAusColB,EAAE7lB,OAAF,GAAUomB,CAAjtC;AAAmtC,GAAr0Z,EAAs0Z,UAAS/0B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,CAAF,CAAN;AAAA,QAAWplB,IAAEolB,EAAE,CAAF,CAAb;AAAA,QAAkBj1B,IAAEi1B,EAAE,EAAF,CAApB;AAAA,QAA0Bt0B,IAAEs0B,EAAE,EAAF,CAA5B;AAAA,QAAkCI,IAAEJ,EAAE,EAAF,CAApC,CAA0C,CAAC30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAIG,CAAJ,EAAMplB,CAAN,EAAQH,CAAR,EAAUimB,CAAV,EAAYvlB,CAAZ,CAAc,OAAOzJ,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,YAAU,OAAOU,CAArC,IAAwCq1B,IAAEb,CAAF,EAAIA,IAAEx0B,CAAN,EAAQA,IAAE,IAAlD,IAAwDq1B,IAAEhvB,UAAU,CAAV,CAA1D,EAAuE7E,EAAExB,CAAF,KAAM20B,IAAEI,EAAE9mB,IAAF,CAAOjO,CAAP,EAAS,GAAT,CAAF,EAAgBuP,IAAEwlB,EAAE9mB,IAAF,CAAOjO,CAAP,EAAS,GAAT,CAAlB,EAAgCoP,IAAE2lB,EAAE9mB,IAAF,CAAOjO,CAAP,EAAS,GAAT,CAAxC,KAAwD20B,IAAEvlB,IAAE,CAAC,CAAL,EAAOG,IAAE,CAAC,CAAlE,CAAvE,EAA4IO,IAAE,EAAChR,OAAM01B,CAAP,EAASlmB,cAAaqmB,CAAtB,EAAwBpmB,YAAWgB,CAAnC,EAAqCf,UAASY,CAA9C,EAA9I,EAA+LimB,IAAE31B,EAAEW,EAAEg1B,CAAF,CAAF,EAAOvlB,CAAP,CAAF,GAAYA,CAAlN;AAAoN,KAA3P,EAA6PE,EAA7P,GAAgQ,UAAShQ,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC,UAAIvlB,CAAJ,EAAMimB,CAAN,EAAQvlB,CAAR,EAAUuN,CAAV,CAAY,OAAM,YAAU,OAAOrd,CAAjB,IAAoB8P,IAAE6kB,CAAF,EAAIA,IAAEH,CAAN,EAAQA,IAAEx0B,CAAV,EAAYA,IAAE,IAAlC,IAAwC8P,IAAEzJ,UAAU,CAAV,CAA1C,EAAuD7E,EAAEgzB,CAAF,IAAKjlB,EAAEilB,CAAF,IAAKhzB,EAAEmzB,CAAF,IAAKplB,EAAEolB,CAAF,MAAO7kB,IAAE6kB,CAAF,EAAIA,IAAE,KAAK,CAAlB,CAAL,GAA0BA,IAAE,KAAK,CAAtC,IAAyC7kB,IAAE0kB,CAAF,EAAIA,IAAEG,IAAE,KAAK,CAAtD,CAAL,GAA8DH,IAAE,KAAK,CAA5H,EAA8HhzB,EAAExB,CAAF,KAAMoP,IAAE2lB,EAAE9mB,IAAF,CAAOjO,CAAP,EAAS,GAAT,CAAF,EAAgBq1B,IAAEN,EAAE9mB,IAAF,CAAOjO,CAAP,EAAS,GAAT,CAAxB,KAAwCoP,IAAE,CAAC,CAAH,EAAKimB,IAAE,CAAC,CAAhD,CAA9H,EAAiLhY,IAAE,EAAC7W,KAAIguB,CAAL,EAAO1oB,KAAI6oB,CAAX,EAAarmB,cAAac,CAA1B,EAA4Bb,YAAW8mB,CAAvC,EAAnL,EAA6NvlB,IAAEpQ,EAAEW,EAAEyP,CAAF,CAAF,EAAOuN,CAAP,CAAF,GAAYA,CAA/O;AAAiP,KAA7gB;AAA8gB,GAA35a,EAA45a,UAASrd,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,EAAF,CAAN;AAAA,QAAYplB,IAAE,kBAAd;AAAA,QAAiC7P,IAAEqO,SAASC,SAAT,CAAmB1K,QAAtD,CAA+DtD,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAM,CAAC,CAACwB,EAAExB,CAAF,CAAF,IAAQ,CAACuP,EAAEc,IAAF,CAAO3Q,EAAEuO,IAAF,CAAOjO,CAAP,CAAP,CAAf;AAAiC,KAAvD;AAAwD,GAAhjb,EAAijb,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,EAAF,CAAN,CAAY30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAG,cAAY,OAAOA,CAAtB,EAAwB,OAAM,CAAC,CAAP,CAAS,IAAG,CAACqO,eAAeJ,IAAf,CAAoBjO,CAApB,EAAsB,QAAtB,CAAJ,EAAoC,OAAM,CAAC,CAAP,CAAS,IAAG;AAAC,YAAG,YAAU,OAAOA,EAAEV,MAAtB,EAA6B,OAAM,CAAC,CAAP,CAAS,IAAG,cAAY,OAAOU,EAAEiO,IAAxB,EAA6B,OAAM,CAAC,CAAP,CAAS,IAAG,cAAY,OAAOjO,EAAE8N,KAAxB,EAA8B,OAAM,CAAC,CAAP;AAAS,OAAvH,CAAuH,OAAM9N,CAAN,EAAQ;AAAC,eAAM,CAAC,CAAP;AAAS,cAAM,CAACwB,EAAExB,CAAF,CAAP;AAAY,KAAzP;AAA0P,GAAp1b,EAAq1b,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,EAAF,CAAN,CAAY30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAG,CAACwB,EAAExB,CAAF,CAAJ,EAAS,OAAM,CAAC,CAAP,CAAS,IAAG;AAAC,eAAM,CAAC,CAACA,EAAEyQ,WAAJ,IAAiBzQ,EAAEyQ,WAAF,CAAczC,SAAd,KAA0BhO,CAAjD;AAAmD,OAAvD,CAAuD,OAAMA,CAAN,EAAQ;AAAC,eAAM,CAAC,CAAP;AAAS;AAAC,KAAlH;AAAmH,GAAj/b,EAAk/b,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,CAAF,CAAN;AAAA,QAAWplB,IAAE,EAACzN,QAAO,CAAC,CAAT,EAAW4P,UAAS,CAAC,CAArB,EAAuBzB,WAAU,CAAC,CAAlC,EAAb,CAAkDjQ,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAM,CAAC,CAACwB,EAAExB,CAAF,CAAF,IAAQqO,eAAeJ,IAAf,CAAoBsB,CAApB,SAA6BvP,CAA7B,yCAA6BA,CAA7B,EAAd;AAA8C,KAApE;AAAqE,GAAtoc,EAAuoc,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAUwxB,EAAE,EAAF,MAAQ/1B,OAAO8Q,MAAf,GAAsBilB,EAAE,EAAF,CAAhC;AAAsC,GAA1sc,EAA2sc,UAAS30B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAU,YAAU;AAAC,UAAInD,CAAJ;AAAA,UAAMw0B,IAAE51B,OAAO8Q,MAAf,CAAsB,OAAM,cAAY,OAAO8kB,CAAnB,KAAuBA,EAAEx0B,IAAE,EAAC2Q,KAAI,KAAL,EAAJ,EAAgB,EAACC,KAAI,KAAL,EAAhB,EAA4B,EAACC,MAAK,MAAN,EAA5B,GAA2C7Q,EAAE2Q,GAAF,GAAM3Q,EAAE4Q,GAAR,GAAY5Q,EAAE6Q,IAAd,KAAqB,YAAvF,CAAN;AAA2G,KAAtJ;AAAuJ,GAA/3c,EAAg4c,UAAS7Q,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,EAAF,CAAN;AAAA,QAAYplB,IAAEolB,EAAE,EAAF,CAAd;AAAA,QAAoBj1B,IAAEF,KAAKuR,GAA3B,CAA+B/Q,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAIG,CAAJ;AAAA,UAAMt0B,CAAN;AAAA,UAAQ00B,CAAR;AAAA,UAAU3lB,IAAE1P,EAAE2G,UAAU/G,MAAZ,EAAmB,CAAnB,CAAZ,CAAkC,KAAIU,IAAEpB,OAAO2Q,EAAEvP,CAAF,CAAP,CAAF,EAAe+0B,IAAE,WAASvzB,CAAT,EAAW;AAAC,YAAG;AAACxB,YAAEwB,CAAF,IAAKgzB,EAAEhzB,CAAF,CAAL;AAAU,SAAd,CAAc,OAAMxB,CAAN,EAAQ;AAAC20B,gBAAIA,IAAE30B,CAAN;AAAS;AAAC,OAA9D,EAA+DK,IAAE,CAArE,EAAuEA,IAAE+O,CAAzE,EAA2E,EAAE/O,CAA7E;AAA+EmB,UAAEgzB,IAAEnuB,UAAUhG,CAAV,CAAJ,EAAkB4Q,OAAlB,CAA0B8jB,CAA1B;AAA/E,OAA4G,IAAG,KAAK,CAAL,KAASJ,CAAZ,EAAc,MAAMA,CAAN,CAAQ,OAAO30B,CAAP;AAAS,KAArM;AAAsM,GAAlod,EAAmod,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAUwxB,EAAE,EAAF,MAAQ/1B,OAAOkS,IAAf,GAAoB6jB,EAAE,EAAF,CAA9B;AAAoC,GAApsd,EAAqsd,UAAS30B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAU,YAAU;AAAC,UAAG;AAAC,eAAOvE,OAAOkS,IAAP,CAAY,WAAZ,GAAyB,CAAC,CAAjC;AAAmC,OAAvC,CAAuC,OAAM9Q,CAAN,EAAQ;AAAC,eAAM,CAAC,CAAP;AAAS;AAAC,KAA/E;AAAgF,GAAlzd,EAAmzd,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,CAAF,CAAN;AAAA,QAAWplB,IAAE3Q,OAAOkS,IAApB,CAAyB9Q,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAOuP,EAAE/N,EAAExB,CAAF,IAAKpB,OAAOoB,CAAP,CAAL,GAAeA,CAAjB,CAAP;AAA2B,KAAjD;AAAkD,GAA35d,EAA45d,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAU,YAAU,CAAE,CAAtB;AAAuB,GAAh9d,EAAi9d,UAASnD,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,CAAF,CAAN,CAAW30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAG,CAACwB,EAAExB,CAAF,CAAJ,EAAS,MAAM,IAAIkR,SAAJ,CAAc,8BAAd,CAAN,CAAoD,OAAOlR,CAAP;AAAS,KAA5F;AAA6F,GAAtle,EAAule,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEmzB,EAAE,CAAF,CAAN;AAAA,QAAWplB,IAAEhP,MAAMyN,SAAN,CAAgBiD,OAA7B;AAAA,QAAqCvR,IAAEd,OAAOsP,MAA9C;AAAA,QAAqD7N,IAAE,SAAFA,CAAE,CAASL,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAIG,CAAJ,CAAM,KAAIA,CAAJ,IAAS30B,CAAT;AAAWw0B,UAAEG,CAAF,IAAK30B,EAAE20B,CAAF,CAAL;AAAX;AAAqB,KAAhG,CAAiG30B,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAIw0B,IAAE90B,EAAE,IAAF,CAAN,CAAc,OAAO6P,EAAEtB,IAAF,CAAO5H,SAAP,EAAkB,UAASrG,CAAT,EAAW;AAACwB,UAAExB,CAAF,KAAMK,EAAEzB,OAAOoB,CAAP,CAAF,EAAYw0B,CAAZ,CAAN;AAAqB,OAAnD,GAAsDA,CAA7D;AAA+D,KAAnG;AAAoG,GAAzze,EAA0ze,UAASx0B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAUwxB,EAAE,EAAF,MAAQv1B,OAAO4O,SAAP,CAAiB4B,QAAzB,GAAkC+kB,EAAE,EAAF,CAA5C;AAAkD,GAAz4e,EAA04e,UAAS30B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAE,YAAN,CAAmBxB,EAAEmD,OAAF,GAAU,YAAU;AAAC,aAAM,cAAY,OAAO3B,EAAEoO,QAArB,IAAgC,CAAC,CAAD,KAAKpO,EAAEoO,QAAF,CAAW,KAAX,CAAL,IAAwB,CAAC,CAAD,KAAKpO,EAAEoO,QAAF,CAAW,KAAX,CAAnE;AAAsF,KAA3G;AAA4G,GAAtif,EAAuif,UAAS5P,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa,QAAInzB,IAAEpC,OAAO4O,SAAP,CAAiBuD,OAAvB,CAA+BvR,EAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,aAAOwB,EAAEyM,IAAF,CAAO,IAAP,EAAYjO,CAAZ,EAAcqG,UAAU,CAAV,CAAd,IAA4B,CAAC,CAApC;AAAsC,KAA5D;AAA6D,GAAhqf,EAAiqf,UAASrG,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa30B,MAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAG,cAAY,OAAOA,CAAtB,EAAwB,MAAM,IAAIkR,SAAJ,CAAclR,IAAE,oBAAhB,CAAN,CAA4C,OAAOA,CAAP;AAAS,KAAnG;AAAoG,GAAlyf,EAAmyf,UAASA,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN,CAAyP,IAAIjlB,IAAE,eAAa,OAAO5P,MAApB,IAA4BA,OAAOiS,QAAP,CAAgBuJ,IAAhB,CAAqB5J,OAArB,CAA6B,aAA7B,IAA4C,CAAC,CAA/E;AAAA,QAAiF7R,IAAE,YAAU;AAAC,eAASM,CAAT,CAAWw0B,CAAX,EAAa;AAAC,SAAC,UAASx0B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGlR,CAAlG,CAAD,EAAsG,KAAK41C,eAAL,GAAqBphB,KAAG,EAA9H;AAAiI,cAAOhzB,EAAExB,CAAF,EAAI,CAAC,EAACnB,KAAI,MAAL,EAAYC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAI,IAAIw0B,CAAJ,EAAMG,IAAEtuB,UAAU/G,MAAlB,EAAyBkC,IAAEjB,MAAMo0B,IAAE,CAAF,GAAIA,IAAE,CAAN,GAAQ,CAAd,CAA3B,EAA4Cj1B,IAAE,CAAlD,EAAoDA,IAAEi1B,CAAtD,EAAwDj1B,GAAxD;AAA4D8B,cAAE9B,IAAE,CAAJ,IAAO2G,UAAU3G,CAAV,CAAP;AAA5D,WAAgF6P,KAAG,CAACilB,IAAErsB,OAAH,EAAY0tC,GAAZ,CAAgB/nC,KAAhB,CAAsB0mB,CAAtB,EAAwB,CAAC,iBAAe,KAAKohB,eAApB,GAAoC,GAArC,EAAyC51C,CAAzC,EAA4CwE,MAA5C,CAAmDhD,CAAnD,CAAxB,CAAH;AAAkF,SAAhM,EAAD,CAAJ,GAAyMxB,CAAhN;AAAkN,KAA5W,EAAnF,CAAkcw0B,EAAEE,OAAF,GAAUh1B,CAAV,EAAYM,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA5khB,EAA6khB,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN;AAAA,QAAyPjlB,IAAEwlB,EAAEJ,EAAE,CAAF,CAAF,CAA3P;AAAA,QAAmQj1B,IAAEq1B,EAAEJ,EAAE,CAAF,CAAF,CAArQ;AAAA,QAA6Qt0B,IAAE00B,EAAEJ,EAAE,EAAF,CAAF,CAA/Q,CAAwR,SAASI,CAAT,CAAW/0B,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEy0B,UAAL,GAAgBz0B,CAAhB,GAAkB,EAAC00B,SAAQ10B,CAAT,EAAzB;AAAqC,SAAIoP,IAAE,UAASpP,CAAT,EAAW;AAAC,eAASw0B,CAAT,CAAWx0B,CAAX,EAAa;AAAC,SAAC,UAASA,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGsjB,CAAlG,CAAD,CAAsG,IAAIG,IAAE,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,CAACx0B,CAAJ,EAAM,MAAM,IAAI2hC,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAACnN,CAAD,IAAI,oBAAiBA,CAAjB,yCAAiBA,CAAjB,MAAoB,cAAY,OAAOA,CAA3C,GAA6Cx0B,CAA7C,GAA+Cw0B,CAArD;AAAuD,SAAjK,CAAkK,IAAlK,EAAuK,CAACA,EAAE0N,SAAF,IAAatjC,OAAOo5B,cAAP,CAAsBxD,CAAtB,CAAd,EAAwCvmB,IAAxC,CAA6C,IAA7C,CAAvK,CAAN,CAAiO,OAAO0mB,EAAE8e,SAAF,CAAY,SAAZ,GAAuB9e,EAAE/a,KAAF,GAAQ5Z,CAA/B,EAAiC20B,EAAE0f,IAAF,GAAO,IAAIh0C,EAAEq0B,OAAN,CAAc10B,CAAd,CAAxC,EAAyDA,EAAE0f,MAAF,CAASo2B,UAAT,IAAqBnhB,EAAE0f,IAAF,CAAOjyC,KAAP,EAA9E,EAA6FuyB,CAApG;AAAsG,cAAO,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAItjB,SAAJ,CAAc,qEAAkEsjB,CAAlE,yCAAkEA,CAAlE,EAAd,CAAN,CAAyFx0B,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAcsmB,KAAGA,EAAExmB,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAMkB,CAAP,EAASuO,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GkmB,MAAI51B,OAAOqjC,cAAP,GAAsBrjC,OAAOqjC,cAAP,CAAsBjiC,CAAtB,EAAwBw0B,CAAxB,CAAtB,GAAiDx0B,EAAEkiC,SAAF,GAAY1N,CAAjE,CAA5G;AAAgL,OAAzT,CAA0TA,CAA1T,EAA4Tx0B,CAA5T,GAA+TwB,EAAEgzB,CAAF,EAAI,CAAC,EAAC31B,KAAI,cAAL,EAAoBC,OAAM,iBAAU;AAAC,cAAIkB,IAAE,EAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA/B,KAA8CA,UAAU,CAAV,CAApD,CAAiE,OAAO,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,cAAjB,CAAb,EAA8C,KAAKqC,SAAL,GAAer2C,EAAEg1B,OAAF,CAAU93B,SAAV,CAAoB,WAApB,EAAgC,4BAAhC,EAA6D,EAA7D,EAAgE,mBAAiBoD,IAAE,qBAAF,GAAwB,EAAzC,CAAhE,CAA7D,EAA2K,KAAK+1C,SAAvL;AAAiM,SAAvS,EAAD,EAA0S,EAACl3C,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,eAAI,IAAIkB,CAAR,IAAa,KAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,SAAjB,CAAb,EAAyC,KAAKW,IAAL,CAAUxsB,OAAV,EAAzC,EAA6D,IAA1E;AAA+E,mBAAO,KAAK7nB,CAAL,CAAP;AAA/E;AAA8F,SAA9H,EAA1S,CAAJ,CAA/T,EAA+uBw0B,CAAtvB;AAAwvB,KAA/rC,CAAgsCjlB,EAAEmlB,OAAlsC,CAAN,CAAitCF,EAAEE,OAAF,GAAUtlB,CAAV,EAAYpP,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAAvtkB,EAAwtkB,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN;AAAA,QAAyPjlB,IAAEH,EAAEulB,EAAE,CAAF,CAAF,CAA3P;AAAA,QAAmQj1B,IAAE0P,EAAEulB,EAAE,EAAF,CAAF,CAArQ;AAAA,QAA8Qt0B,IAAE+O,EAAEulB,EAAE,EAAF,CAAF,CAAhR;AAAA,QAAyRI,IAAE3lB,EAAEulB,EAAE,CAAF,CAAF,CAA3R,CAAmS,SAASvlB,CAAT,CAAWpP,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEy0B,UAAL,GAAgBz0B,CAAhB,GAAkB,EAAC00B,SAAQ10B,CAAT,EAAzB;AAAqC,SAAIq1B,IAAE,UAASr1B,CAAT,EAAW;AAAC,eAASw0B,CAAT,CAAWx0B,CAAX,EAAa;AAAC,SAAC,UAASA,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGsjB,CAAlG,CAAD,CAAsG,IAAIG,IAAE,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,CAACx0B,CAAJ,EAAM,MAAM,IAAI2hC,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAACnN,CAAD,IAAI,oBAAiBA,CAAjB,yCAAiBA,CAAjB,MAAoB,cAAY,OAAOA,CAA3C,GAA6Cx0B,CAA7C,GAA+Cw0B,CAArD;AAAuD,SAAjK,CAAkK,IAAlK,EAAuK,CAACA,EAAE0N,SAAF,IAAatjC,OAAOo5B,cAAP,CAAsBxD,CAAtB,CAAd,EAAwCvmB,IAAxC,CAA6C,IAA7C,CAAvK,CAAN,CAAiO0mB,EAAE8e,SAAF,CAAY,MAAZ,GAAoB9e,EAAE/a,KAAF,GAAQ5Z,CAA5B,EAA8B20B,EAAE/f,SAAF,GAAY5U,EAAE4U,SAA5C,EAAsD+f,EAAEghB,OAAF,GAAU,IAAIj2C,EAAEg1B,OAAN,CAAc10B,CAAd,CAAhE,EAAiF20B,EAAE5vB,IAAF,GAAO,GAAGP,MAAH,CAAUxE,EAAE0f,MAAF,CAASgyB,QAAnB,CAAxF,EAAqH/c,EAAEqhB,UAAF,GAAa,EAAlI,EAAqIrhB,EAAEqgB,KAAF,GAAQ,EAA7I,EAAgJrgB,EAAEshB,KAAF,GAAQ,IAAxJ,EAA6JthB,EAAEuhB,UAAF,GAAa,IAA1K,EAA+KvhB,EAAEwhB,WAAF,GAAc,QAA7L,EAAsMxhB,EAAE3e,QAAF,GAAWhW,EAAE0f,MAAF,CAAS1J,QAAT,IAAmB,GAApO,EAAwO2e,EAAEtnB,MAAF,GAAS,MAAjP,EAAwP0nB,EAAEL,OAAF,CAAU12B,EAAV,CAAagC,CAAb,EAAe,eAAf,EAA+B20B,EAAEyhB,WAAF,CAAcp7B,IAAd,CAAmB2Z,CAAnB,CAA/B,EAAqD,SAArD,CAAxP,CAAwT,IAAInzB,IAAEmzB,CAAN,CAAQ,OAAOI,EAAEL,OAAF,CAAU12B,EAAV,CAAa22B,EAAE/a,KAAf,EAAqB,iBAArB,EAAwC,UAAS5Z,CAAT,EAAW;AAACwB,YAAEoY,KAAF,CAAQi6B,SAAR,GAAkB7zC,CAAlB;AAAoB,SAAxE,EAA0E,SAA1E,GAAqF20B,EAAE0hB,IAAF,GAAO,CAA5F,EAA8F1hB,CAArG;AAAuG,cAAO,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAItjB,SAAJ,CAAc,qEAAkEsjB,CAAlE,yCAAkEA,CAAlE,EAAd,CAAN,CAAyFx0B,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAcsmB,KAAGA,EAAExmB,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAMkB,CAAP,EAASuO,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GkmB,MAAI51B,OAAOqjC,cAAP,GAAsBrjC,OAAOqjC,cAAP,CAAsBjiC,CAAtB,EAAwBw0B,CAAxB,CAAtB,GAAiDx0B,EAAEkiC,SAAF,GAAY1N,CAAjE,CAA5G;AAAgL,OAAzT,CAA0TA,CAA1T,EAA4Tx0B,CAA5T,GAA+TwB,EAAEgzB,CAAF,EAAI,CAAC,EAAC31B,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,eAAI,IAAIkB,CAAR,IAAa,KAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,SAAjB,CAAb,EAAyCvqC,aAAa,KAAKmtC,eAAlB,CAAzC,EAA4E,KAAKX,OAAL,CAAa9tB,OAAb,EAA5E,EAAmG,KAAK9iB,IAAL,GAAU,EAA7G,EAAgH,IAA7H;AAAkI,mBAAO,KAAK/E,CAAL,CAAP;AAAlI;AAAiJ,SAAjL,EAAD,EAAoL,EAACnB,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,aAAjB,CAAb,CAA6C,IAAIlf,IAAE,IAAN,CAAWA,EAAEwgB,KAAF,CAAQhgB,IAAR,CAAc,UAASL,CAAT,EAAWnzB,CAAX,EAAa;AAAC,mBAAOmzB,EAAE7wB,EAAF,KAAO9D,EAAEu2C,MAAF,CAASzyC,EAAhB,KAAqB0wB,EAAEwgB,KAAF,CAAQ7lC,MAAR,CAAe3N,CAAf,EAAiB,CAAjB,GAAoB,CAAC,CAA1C,CAAP;AAAoD,WAAhF,GAAmFgzB,EAAEzvB,IAAF,CAAOiwB,IAAP,CAAa,UAASR,CAAT,EAAWG,CAAX,EAAa;AAAC,mBAAOH,EAAE1wB,EAAF,KAAO9D,EAAEu2C,MAAF,CAASzyC,EAAhB,KAAqB0wB,EAAEgiB,WAAF,GAAc,CAAC,CAAf,EAAiB,CAAC,CAAvC,CAAP;AAAiD,WAA5E,CAAnF;AAAkK,SAA/P,EAApL,EAAqb,EAAC33C,KAAI,MAAL,EAAYC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAACA,YAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc,MAAd,CAAV,EAAgClf,MAAIA,IAAE,IAAN,CAAhC,EAA4CA,EAAE2hB,WAAF,GAAc,QAA1D,EAAmE3hB,EAAEzvB,IAAF,CAAO0xC,IAAP,CAAa,UAASz2C,CAAT,EAAWw0B,CAAX,EAAa;AAAC,mBAAOx0B,EAAEoC,KAAF,GAAQoyB,EAAEpyB,KAAjB;AAAuB,WAAlD,CAAnE,CAAwHoyB,EAAE0hB,UAAF,IAAc,SAASl2C,CAAT,GAAY;AAAC,yBAAWw0B,EAAEnnB,MAAb,IAAqB,WAASmnB,EAAE2hB,WAAhC,KAA8C,cAAY3hB,EAAEnnB,MAAd,KAAuBmnB,EAAEsgB,QAAF,IAAatgB,EAAEugB,UAAF,EAApC,GAAoD,WAASvgB,EAAE2hB,WAAX,IAAwB,aAAW3hB,EAAEnnB,MAArC,KAA8CmnB,EAAE8hB,eAAF,GAAkBttC,WAAY,YAAU;AAAChJ;AAAI,aAA3B,EAA6Bw0B,EAAExe,QAAF,GAAW,GAAxC,CAAhE,CAAlG;AAAiN,WAA9N,EAAd;AAA+O,SAAvY,EAArb,EAA8zB,EAACnX,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,CAAuC,KAAKrmC,MAAL,GAAY,SAAZ,EAAsB,KAAK2nC,KAAL,GAAW,EAAjC,EAAoC,KAAKpgC,SAAL,CAAe+H,SAAf,GAAyB,EAA7D,EAAgE,KAAKg5B,OAAL,CAAae,WAAb,CAAyB,KAAKC,IAA9B,EAAmC,IAAnC,CAAhE;AAAyG,SAA9K,EAA9zB,EAA8+B,EAAC93C,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,MAAjB,CAAb,CAAsC,KAAKrmC,MAAL,GAAY,QAAZ,EAAqB,KAAK6oC,UAAL,GAAgB,IAArC,EAA0C,KAAKC,WAAL,GAAiB,MAA3D,EAAkE,KAAKR,OAAL,CAAaiB,KAAb,EAAlE,EAAuF,KAAK5B,KAAL,GAAW,EAAlG,EAAqG,KAAKpgC,SAAL,CAAe+H,SAAf,GAAyB,EAA9H;AAAiI,SAApM,EAA9+B,EAAorC,EAAC9d,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,EAAuC,KAAKiC,OAAL,CAAaiB,KAAb,EAAvC,EAA4D,KAAK7xC,IAAL,GAAU,EAAtE,EAAyE,KAAKiwC,KAAL,GAAW,EAApF,EAAuF,KAAKpgC,SAAL,CAAe+H,SAAf,GAAyB,EAAhH;AAAmH,SAAjJ,EAAprC,EAAu0C,EAAC9d,KAAI,MAAL,EAAYC,OAAM,iBAAU;AAAC,cAAIkB,IAAE,IAAN,CAAW,KAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,MAAjB,CAAb,EAAsC,KAAKrmC,MAAL,GAAY,SAAlD,CAA4D,IAAImnB,IAAE,KAAKmhB,OAAL,CAAakB,QAAnB;AAAA,cAA4BliB,IAAE,KAAK/a,KAAL,CAAWhF,SAAX,CAAqB6Q,qBAArB,EAA9B,CAA2E+O,KAAGA,EAAEl1B,MAAF,GAAS,CAAZ,IAAe,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0B2R,OAA1B,CAAmC,UAASzP,CAAT,EAAW;AAACxB,cAAEg1C,KAAF,CAAQ/jC,OAAR,CAAiB,UAASjR,CAAT,EAAW;AAACA,gBAAEk1C,SAAF,CAAYvgB,CAAZ,GAAe30B,EAAE82C,OAAF,GAAU,CAAC,CAA1B;AAA4B,aAAzD,EAA4D,KAAI,IAAIvnC,IAAE,CAAV,EAAYA,IAAEilB,EAAEl1B,MAAhB,EAAuBiQ,GAAvB;AAA2BilB,gBAAEjlB,CAAF,EAAKylC,KAAL,CAAWxzC,CAAX,EAAcyP,OAAd,CAAuB,UAASjR,CAAT,EAAW;AAACA,kBAAE82C,OAAF,GAAU,CAAC,CAAX;AAAa,eAAhD;AAA3B;AAA8E,WAAzL,CAAf;AAA2M,SAA1X,EAAv0C,EAAmsD,EAACj4C,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,EAAuC,KAAKrmC,MAAL,GAAY,QAAnD,CAA4D,IAAIrN,IAAE,KAAK21C,OAAL,CAAakB,QAAnB;AAAA,cAA4BriB,IAAE,KAAK5a,KAAL,CAAWhF,SAAX,CAAqB6Q,qBAArB,EAA9B,CAA2EzlB,KAAGA,EAAEV,MAAF,GAAS,CAAZ,IAAe,KAAK01C,KAAL,CAAW/jC,OAAX,CAAoB,UAASjR,CAAT,EAAW;AAACA,cAAEi1C,SAAF,CAAYzgB,CAAZ;AAAe,WAA/C,CAAf;AAAiE,SAAtO,EAAnsD,EAA26D,EAAC31B,KAAI,YAAL,EAAkBC,OAAM,iBAAU;AAAC,cAAIkB,IAAE,IAAN,CAAW,aAAW,KAAKqN,MAAhB,IAAwB,aAAW,KAAKA,MAAxC,IAAgDrN,EAAEg1C,KAAF,CAAQ11C,MAAxD,IAAgEU,EAAEg1C,KAAF,CAAQ/jC,OAAR,CAAiB,UAASujB,CAAT,EAAW;AAAC,0BAAYA,EAAEnnB,MAAd,IAAsBmnB,EAAE0gB,SAAF,CAAYl1C,EAAE21C,OAAF,CAAUoB,YAAtB,CAAtB;AAA0D,WAAvF,CAAhE;AAA0J,SAAxM,EAA36D,EAAqnE,EAACl4C,KAAI,UAAL,EAAgBC,OAAM,iBAAU;AAAC,cAAIkB,IAAE,IAAN;AAAA,cAAWw0B,IAAE,KAAK5a,KAAlB,CAAwB,IAAG4a,EAAE2f,OAAL,EAAa;AAAC,gBAAIxf,IAAE,CAAN,CAAQH,EAAE1rB,MAAF,IAAU0rB,EAAE1rB,MAAF,CAASkE,WAAnB,KAAiC2nB,IAAEI,EAAEL,OAAF,CAAU4e,UAAV,CAAqB9e,EAAE1rB,MAAF,CAASkE,WAA9B,CAAnC,EAA+E,IAAIxL,IAAE,KAAK,CAAX;AAAA,gBAAa+N,IAAEvP,EAAEgW,QAAjB;AAAA,gBAA0BtW,IAAEM,EAAE21C,OAA9B;AAAA,gBAAsCvmC,IAAE,KAAK,CAA7C,CAA+ColB,EAAE1rB,MAAF,IAAUsG,IAAEpP,EAAE+E,IAAF,CAAOswC,MAAP,CAAe,UAAS7gB,CAAT,EAAW;AAAC,qBAAM,CAACA,EAAEpyB,KAAH,IAAUpC,EAAE4Z,KAAF,CAAQm6B,OAAR,CAAgBxiC,OAAhB,CAAwBijB,EAAE9gB,IAA1B,IAAgC,CAA1C,KAA8C,CAAC8gB,EAAEuZ,KAAH,IAAU/tC,EAAE4Z,KAAF,CAAQm6B,OAAR,CAAgBxiC,OAAhB,CAAwB,OAAxB,IAAiC,CAAzF,MAA8FijB,EAAEpyB,KAAF,GAAQuyB,CAAtG,GAAyG30B,EAAE4Z,KAAF,CAAQm6B,OAAR,CAAgBxiC,OAAhB,CAAwBijB,EAAE9gB,IAA1B,IAAgC,CAAhC,KAAoC,CAAC8gB,EAAEuZ,KAAH,IAAU/tC,EAAE4Z,KAAF,CAAQm6B,OAAR,CAAgBxiC,OAAhB,CAAwB,OAAxB,IAAiC,CAA/E,KAAmFijB,EAAEpyB,KAAF,GAAQmN,CAAR,IAAWolB,CAA9F,IAAiGA,KAAGH,EAAEpyB,KAAF,GAAQmN,CAA3N;AAA6N,aAAxP,CAAF,EAA6PilB,EAAEof,IAAF,KAAS5zC,EAAE+E,IAAF,GAAO,EAAhB,CAAvQ,IAA4R,MAAI,CAACqK,IAAEpP,EAAE+E,IAAF,CAAOoK,MAAP,CAAc,CAAd,EAAgB,CAAhB,CAAH,EAAuB7P,MAA3B,KAAoC8P,IAAEpP,EAAEg2C,UAAF,CAAa7mC,MAAb,CAAoB,CAApB,EAAsB,CAAtB,CAAtC,CAA5R,EAA4VC,EAAE9P,MAAF,GAAS,CAAT,IAAY8P,EAAE6B,OAAF,CAAW,UAAS0jB,CAAT,EAAW;AAAC,kBAAG30B,EAAEs1C,aAAF,IAAiBt1C,EAAEs1C,aAAF,IAAiB3gB,EAAEjf,QAApC,KAA+Cif,EAAEjf,QAAF,GAAW1V,EAAEs1C,aAA5D,GAA2E9zC,IAAE,IAAInB,EAAEq0B,OAAN,CAAcF,CAAd,EAAgBG,CAAhB,CAA7E,EAAgGA,EAAE6hB,WAArG,EAAiH;AAAC,qBAAI,IAAIjnC,CAAR,IAAa/N,EAAEw1C,MAAF,IAAWx1C,CAAxB;AAA0B,yBAAOA,EAAE+N,CAAF,CAAP;AAA1B,iBAAsC/N,IAAE,IAAF,EAAOmzB,EAAE6hB,WAAF,GAAc,CAAC,CAAtB,EAAwB7hB,EAAEsiB,SAAF,KAActiB,EAAEggB,KAAF,GAAQ30C,EAAE+E,IAAF,CAAO8vC,OAAP,CAAelgB,CAAf,CAAR,GAA0B30B,EAAE+E,IAAF,CAAOhB,IAAP,CAAY4wB,CAAZ,CAAxC,CAAxB;AAAgF,eAAxO,MAA6O,IAAGnzB,EAAE01C,MAAF,IAAWviB,EAAE6hB,WAAF,GAAc,CAAC,CAA1B,EAA4B92C,EAAEy3C,SAAF,CAAY31C,CAAZ,EAAe6P,MAA9C,EAAqDrR,EAAEg1C,KAAF,CAAQjxC,IAAR,CAAavC,CAAb,GAAgBxB,EAAEq2C,IAAF,EAAhB,EAAyB70C,EAAEi0C,OAAF,EAAzB,CAArD,KAA8F;AAAC,qBAAI,IAAI1gB,CAAR,IAAavzB,EAAEw1C,MAAF,IAAWx1C,CAAxB;AAA0B,yBAAOA,EAAEuzB,CAAF,CAAP;AAA1B,iBAAsCvzB,IAAE,IAAF,EAAOmzB,EAAE6hB,WAAF,GAAc,CAAC,CAAtB,EAAwB7hB,EAAEsiB,SAAF,KAActiB,EAAEggB,KAAF,GAAQ30C,EAAE+E,IAAF,CAAO8vC,OAAP,CAAelgB,CAAf,CAAR,GAA0B30B,EAAE+E,IAAF,CAAOhB,IAAP,CAAY4wB,CAAZ,CAAxC,CAAxB;AAAgF;AAAC,aAA1d,CAAxW;AAAq0B;AAAC,SAAnhC,EAArnE,CAAJ,CAA/T,EAA+8GH,CAAt9G;AAAw9G,KAAhuI,CAAiuIjlB,EAAEmlB,OAAnuI,CAAN,CAAkvIF,EAAEE,OAAF,GAAUW,CAAV,EAAYr1B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA94tB,EAA+4tB,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN;AAAA,QAAyPjlB,IAAElP,EAAEs0B,EAAE,CAAF,CAAF,CAA3P;AAAA,QAAmQj1B,IAAEW,EAAEs0B,EAAE,CAAF,CAAF,CAArQ,CAA6Q,SAASt0B,CAAT,CAAWL,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEy0B,UAAL,GAAgBz0B,CAAhB,GAAkB,EAAC00B,SAAQ10B,CAAT,EAAzB;AAAqC,SAAI+0B,IAAE,UAAS/0B,CAAT,EAAW;AAAC,eAASw0B,CAAT,CAAWx0B,CAAX,EAAa;AAAC,SAAC,UAASA,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGsjB,CAAlG,CAAD,CAAsG,IAAIG,IAAE,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,CAACx0B,CAAJ,EAAM,MAAM,IAAI2hC,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAACnN,CAAD,IAAI,oBAAiBA,CAAjB,yCAAiBA,CAAjB,MAAoB,cAAY,OAAOA,CAA3C,GAA6Cx0B,CAA7C,GAA+Cw0B,CAArD;AAAuD,SAAjK,CAAkK,IAAlK,EAAuK,CAACA,EAAE0N,SAAF,IAAatjC,OAAOo5B,cAAP,CAAsBxD,CAAtB,CAAd,EAAwCvmB,IAAxC,CAA6C,IAA7C,CAAvK,CAAN,CAAiO0mB,EAAE8e,SAAF,CAAY,SAAZ,GAAuB9e,EAAE/a,KAAF,GAAQ5Z,CAA/B,EAAiC20B,EAAEiiB,KAAF,CAAQ,CAAC,CAAT,CAAjC,CAA6C,IAAIp1C,IAAEmzB,CAAN,CAAQ,OAAOj1B,EAAEg1B,OAAF,CAAU12B,EAAV,CAAa22B,EAAE/a,KAAf,EAAqB,eAArB,EAAsC,UAAS5Z,CAAT,EAAW;AAACwB,YAAE41C,YAAF,CAAep3C,EAAEu2C,MAAjB;AAAyB,SAA3E,EAA6E,SAA7E,GAAwF5hB,EAAEkf,SAAF,GAAY7zC,EAAE6zC,SAAtG,EAAgHn0C,EAAEg1B,OAAF,CAAU12B,EAAV,CAAa22B,EAAE/a,KAAf,EAAqB,iBAArB,EAAwC,UAAS5Z,CAAT,EAAW;AAACwB,YAAEqyC,SAAF,GAAY7zC,CAAZ;AAAc,SAAlE,EAAoE,SAApE,CAAhH,EAA+L20B,EAAEoiB,YAAF,GAAepiB,EAAE/a,KAAF,CAAQhF,SAAR,CAAkB6Q,qBAAlB,EAA9M,EAAwPkP,EAAE3f,cAAF,GAAiB2f,EAAEoiB,YAAF,CAAej2C,KAAxR,EAA8R6zB,EAAE7B,eAAF,GAAkB6B,EAAEoiB,YAAF,CAAe71C,MAA/T,EAAsUyzB,EAAE3d,aAAF,GAAgB2d,EAAEoiB,YAAF,CAAevgC,IAArW,EAA0Wme,EAAE0iB,cAAF,GAAiB1iB,EAAEoiB,YAAF,CAAejI,KAA1Y,EAAgZpvC,EAAEg1B,OAAF,CAAU12B,EAAV,CAAa22B,EAAE/a,KAAf,EAAqB,gBAArB,EAAuC,YAAU;AAACpY,YAAEu1C,YAAF,GAAev1C,EAAEoY,KAAF,CAAQhF,SAAR,CAAkB6Q,qBAAlB,EAAf,EAAyDjkB,EAAE81C,QAAF,KAAa91C,EAAEwT,cAAF,GAAiBxT,EAAEu1C,YAAF,CAAej2C,KAAhC,EAAsCU,EAAEsxB,eAAF,GAAkBtxB,EAAEu1C,YAAF,CAAe71C,MAAvE,EAA8EM,EAAEwV,aAAF,GAAgBxV,EAAEu1C,YAAF,CAAevgC,IAA7G,EAAkHhV,EAAE61C,cAAF,GAAiB71C,EAAEu1C,YAAF,CAAejI,KAAlJ,EAAwJttC,EAAEutC,MAAF,CAAS,CAAC,CAAV,CAArK,CAAzD;AAA4O,SAA9R,EAAgS,SAAhS,CAAhZ,EAA2rBpa,CAAlsB;AAAosB,cAAO,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAItjB,SAAJ,CAAc,qEAAkEsjB,CAAlE,yCAAkEA,CAAlE,EAAd,CAAN,CAAyFx0B,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAcsmB,KAAGA,EAAExmB,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAMkB,CAAP,EAASuO,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GkmB,MAAI51B,OAAOqjC,cAAP,GAAsBrjC,OAAOqjC,cAAP,CAAsBjiC,CAAtB,EAAwBw0B,CAAxB,CAAtB,GAAiDx0B,EAAEkiC,SAAF,GAAY1N,CAAjE,CAA5G;AAAgL,OAAzT,CAA0TA,CAA1T,EAA4Tx0B,CAA5T,GAA+TwB,EAAEgzB,CAAF,EAAI,CAAC,EAAC31B,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,eAAI,IAAIkB,CAAR,IAAa,KAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,SAAjB,CAAb,EAAyCvqC,aAAa,KAAKouC,WAAlB,CAAzC,EAAwE,KAAKV,QAAL,GAAc,EAAtF,EAAyF,IAAtG;AAA2G,mBAAO,KAAK72C,CAAL,CAAP;AAA3G;AAA0H,SAA1J,EAAD,EAA6J,EAACnB,KAAI,QAAL,EAAcC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,IAA2CA,UAAU,CAAV,CAAjD,CAA8D,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,QAAjB,CAAb,CAAwC,IAAIlf,IAAE,KAAK5a,KAAL,CAAWhF,SAAjB;AAAA,cAA2B+f,IAAE,IAA7B,CAAkCA,EAAE2iB,QAAF,KAAa3iB,EAAE2iB,QAAF,GAAW,CAAC,CAAZ,EAAc,KAAKC,WAAL,GAAiBvuC,WAAY,YAAU;AAAC2rB,cAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBtvC,IAAvB,IAA6B4vB,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBtvC,IAAvB,CAA4BkM,OAA5B,CAAqC,UAASjR,CAAT,EAAW;AAACA,gBAAEw3C,aAAF,KAAkB,OAAOx3C,EAAEw3C,aAAT,EAAuB7iB,EAAE6e,MAAF,IAAU7e,EAAE6e,MAAF,CAASE,IAAT,CAAc,aAAW1zC,EAAE8D,EAAb,GAAgB,WAA9B,CAAnD;AAA+F,aAAhJ,CAA7B,EAAgL6wB,EAAE6e,MAAF,IAAU7e,EAAE6e,MAAF,CAASE,IAAT,CAAc,oBAAd,CAA1L,CAA8N,IAAIlyC,IAAEgzB,EAAE/O,qBAAF,EAAN,CAAgCkP,EAAE7zB,KAAF,GAAQU,EAAEV,KAAV,EAAgB6zB,EAAEzzB,MAAF,GAASM,EAAEN,MAA3B,EAAkCyzB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBhd,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAApB,IAA2B,CAAhD,IAAmDuyB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,IAAyBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAhG,KAAwG,UAAQuyB,EAAEkf,SAAV,GAAoBlf,EAAE7zB,KAAF,GAAQ6zB,EAAE7zB,KAAF,IAAS6zB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAArD,CAA5B,GAAwFuyB,EAAEzzB,MAAF,GAASyzB,EAAEzzB,MAAF,IAAUyzB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAtD,CAAzM,CAAlC,EAAySuyB,EAAE/f,SAAF,GAAY4f,CAArT,CAAuT,IAAIjlB,IAAEolB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeg2B,WAAf,KAA6B,WAAWrlC,IAAX,CAAgB5J,UAAU0W,SAA1B,IAAqC,EAArC,GAAwC,EAArE,CAAN;AAAA,gBAA+Ezd,IAAE,KAAK,CAAtF,CAAwFA,IAAE,UAAQi1B,EAAEkf,SAAV,GAAoBr0C,KAAKk6B,KAAL,CAAW/E,EAAE7zB,KAAF,GAAQyO,CAAnB,CAApB,GAA0C/P,KAAKk6B,KAAL,CAAW/E,EAAEzzB,MAAF,GAASqO,CAApB,CAA5C,CAAmE,KAAI,IAAIlP,IAAE,EAAN,EAAS00B,IAAE,CAAf,EAAiBA,IAAEr1B,CAAnB,EAAqBq1B,GAArB;AAAyB10B,gBAAE00B,CAAF,IAAK,EAACjxB,IAAGixB,CAAJ,EAAMigB,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL;AAAzB,aAAyH,IAAGhjB,EAAEkiB,QAAF,IAAYliB,EAAEkiB,QAAF,CAAWv3C,MAAX,IAAmBe,EAAEf,MAApC,EAA2C;AAAC,mBAAI,IAAI8P,IAAE,SAAFA,CAAE,CAASolB,CAAT,EAAW;AAACn0B,kBAAEm0B,CAAF,IAAK,EAAC1wB,IAAG0wB,CAAJ,EAAMwgB,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL,EAAgG,CAAC,QAAD,EAAU,KAAV,EAAiB1mC,OAAjB,CAA0B,UAASzP,CAAT,EAAW;AAACmzB,oBAAEkiB,QAAF,CAAWriB,CAAX,EAAcwgB,KAAd,CAAoBxzC,CAApB,EAAuByP,OAAvB,CAAgC,UAAS1B,CAAT,EAAW;AAACA,sBAAEjR,EAAF,KAAO+B,EAAEm0B,CAAF,EAAKwgB,KAAL,CAAWxzC,CAAX,EAAcuC,IAAd,CAAmBwL,CAAnB,GAAsBA,EAAEunC,OAAF,KAAYvnC,EAAE0lC,SAAF,CAAYtgB,EAAEoiB,YAAd,EAA2B/2C,CAA3B,GAA8B,aAAWuP,EAAEqK,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0CkC,EAAE2lC,SAAF,CAAYvgB,EAAEoiB,YAAd,CAAxE,EAAoGxnC,EAAEunC,OAAF,GAAU,CAAC,CAA3H,CAA7B;AAA4J,mBAAxM;AAA2M,iBAAjP,CAAhG,EAAoVniB,EAAEkiB,QAAF,CAAWriB,CAAX,EAAcwgB,KAAd,CAAoB7gB,MAApB,CAA2BljB,OAA3B,CAAoC,UAASzP,CAAT,EAAW;AAAC,sBAAGA,EAAElD,EAAL,EAAQ;AAAC,wBAAG+B,EAAEm0B,IAAEn0B,EAAEf,MAAJ,GAAWq1B,EAAEkiB,QAAF,CAAWv3C,MAAxB,EAAgC01C,KAAhC,CAAsC7gB,MAAtC,CAA6CpwB,IAA7C,CAAkDvC,CAAlD,GAAqDA,EAAEg0C,UAAF,CAAa,CAAb,IAAgBh0C,EAAEg0C,UAAF,CAAa,CAAb,CAAhB,GAAgC,CAAhC,KAAoChhB,CAA5F,EAA8F;AAAC,0BAAI90B,IAAE,GAAG8E,MAAH,CAAUhD,EAAEg0C,UAAZ,CAAN,CAA8Bh0C,EAAEg0C,UAAF,GAAa,CAAC91C,EAAE,CAAF,IAAKi1B,EAAEkiB,QAAF,CAAWv3C,MAAhB,GAAuBe,EAAEf,MAA1B,EAAiCI,EAAE,CAAF,CAAjC,CAAb,EAAoD8B,EAAE8hB,GAAF,GAAM9hB,EAAEg0C,UAAF,CAAa,CAAb,IAAgBjmC,CAA1E,EAA4EolB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBhd,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiDZ,EAAE8hB,GAAF,IAAOqR,EAAE7B,eAAF,GAAkB6B,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAA5E,EAAiLZ,EAAEi0C,OAAF,EAAjL;AAA6L,uBAAEqB,OAAF,KAAYt1C,EAAEyzC,SAAF,CAAYtgB,EAAEoiB,YAAd,EAA2B/2C,CAA3B,GAA8B,aAAWwB,EAAEoY,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0C7L,EAAE0zC,SAAF,CAAYvgB,EAAEoiB,YAAd,CAAxE,EAAoGv1C,EAAEs1C,OAAF,GAAU,CAAC,CAA3H;AAA8H;AAAC,iBAAlf,CAApV;AAAy0B,eAA31B,EAA41BzhB,IAAE,CAAl2B,EAAo2BA,IAAEV,EAAEkiB,QAAF,CAAWv3C,MAAj3B,EAAw3B+1B,GAAx3B;AAA43BjmB,kBAAEimB,CAAF;AAA53B,eAAi4B,KAAI,IAAIvlB,IAAE,SAAFA,CAAE,CAAS9P,CAAT,EAAW;AAAC,iBAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0BiR,OAA1B,CAAmC,UAASujB,CAAT,EAAW;AAACn0B,oBAAEL,CAAF,EAAKg1C,KAAL,CAAWxgB,CAAX,EAAcvjB,OAAd,CAAuB,UAASjR,CAAT,EAAW;AAACA,sBAAE82C,OAAF,GAAU,CAAC,CAAX;AAAa,mBAAhD;AAAmD,iBAAlG;AAAqG,eAAvH,EAAwHz5B,IAAE,CAA9H,EAAgIA,IAAEhd,EAAEf,MAApI,EAA2I+d,GAA3I;AAA+IvN,kBAAEuN,CAAF;AAA/I,eAAoJsX,EAAEkiB,QAAF,GAAWx2C,CAAX,EAAa,UAAQs0B,EAAEkf,SAAV,GAAoBlf,EAAEijB,YAAF,GAAeroC,CAAnC,GAAqColB,EAAEkjB,aAAF,GAAgBtoC,CAAlE;AAAoE,aAAroC,MAA0oC,IAAGolB,EAAEkiB,QAAF,IAAYliB,EAAEkiB,QAAF,CAAWv3C,MAAX,GAAkBe,EAAEf,MAAnC,EAA0C;AAAC,mBAAI,IAAI0B,IAAE,SAAFA,CAAE,CAASwzB,CAAT,EAAW;AAACn0B,kBAAEm0B,CAAF,IAAK,EAAC1wB,IAAG0wB,CAAJ,EAAMwgB,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL,EAAgG,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0B1mC,OAA1B,CAAmC,UAASzP,CAAT,EAAW;AAAC,sBAAG,UAAQA,CAAR,IAAWgzB,IAAEh1B,KAAKk6B,KAAL,CAAWr5B,EAAEf,MAAF,GAAS,CAApB,CAAhB,EAAuC,CAAvC,KAA6C,IAAG,aAAWkC,CAAX,IAAcgzB,KAAGh1B,KAAKk6B,KAAL,CAAWr5B,EAAEf,MAAF,GAAS,CAApB,CAApB,EAA2C,CAA3C,KAAgD;AAAC,wBAAII,IAAE,aAAW8B,CAAX,GAAagzB,IAAEn0B,EAAEf,MAAJ,GAAWq1B,EAAEkiB,QAAF,CAAWv3C,MAAnC,GAA0Ck1B,CAAhD,CAAkDG,EAAEkiB,QAAF,CAAWn3C,CAAX,EAAcs1C,KAAd,CAAoBxzC,CAApB,EAAuByP,OAAvB,CAAgC,UAAS8jB,CAAT,EAAW3lB,CAAX,EAAa;AAAC,0BAAG2lB,EAAEz2B,EAAL,EAAQ;AAAC,4BAAG+B,EAAEm0B,CAAF,EAAKwgB,KAAL,CAAWxzC,CAAX,EAAcuC,IAAd,CAAmBgxB,CAAnB,GAAsB,aAAWvzB,CAAX,IAAcuzB,EAAEygB,UAAF,CAAa,CAAb,IAAgBzgB,EAAEygB,UAAF,CAAa,CAAb,CAAhB,GAAgC,CAAhC,KAAoC91C,CAA3E,EAA6E;AAAC,8BAAI21B,IAAE,GAAG7wB,MAAH,CAAUuwB,EAAEygB,UAAZ,CAAN,CAA8BzgB,EAAEygB,UAAF,GAAa,CAACngB,EAAE,CAAF,IAAKV,EAAEkiB,QAAF,CAAWv3C,MAAhB,GAAuBe,EAAEf,MAA1B,EAAiC+1B,EAAE,CAAF,CAAjC,CAAb,EAAoDN,EAAEzR,GAAF,GAAMyR,EAAEygB,UAAF,CAAa,CAAb,IAAgBjmC,CAA1E,EAA4EolB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBhd,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiD2yB,EAAEzR,GAAF,IAAOqR,EAAE7B,eAAF,GAAkB6B,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAA5E,EAAiL2yB,EAAE0gB,OAAF,EAAjL;AAA6L,2BAAER,SAAF,CAAYtgB,EAAEoiB,YAAd,EAA2B/2C,CAA3B,GAA8B,aAAW+0B,EAAEnb,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0C0nB,EAAEmgB,SAAF,CAAYvgB,EAAEoiB,YAAd,CAAxE,EAAoGhiB,EAAE+hB,OAAF,KAAY/hB,EAAE+hB,OAAF,GAAU,CAAC,CAAvB,CAApG;AAA8H,yBAAED,QAAF,CAAWn3C,CAAX,EAAcs1C,KAAd,CAAoBxzC,CAApB,EAAuB2N,MAAvB,CAA8BC,CAA9B,EAAgC,CAAhC;AAAmC,qBAAjgB;AAAogB;AAAC,iBAApsB,CAAhG;AAAuyB,eAAzzB,EAA0zBxB,IAAE,CAAh0B,EAAk0BA,IAAEvN,EAAEf,MAAt0B,EAA60BsO,GAA70B;AAAi1B5M,kBAAE4M,CAAF;AAAj1B,eAAs1B,KAAI,IAAIsoB,IAAE,SAAFA,CAAE,CAASl2B,CAAT,EAAW;AAAC,iBAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0BiR,OAA1B,CAAmC,UAASujB,CAAT,EAAW;AAACn0B,oBAAEL,CAAF,EAAKg1C,KAAL,CAAWxgB,CAAX,EAAcvjB,OAAd,CAAuB,UAASjR,CAAT,EAAW;AAACA,sBAAE82C,OAAF,GAAU,CAAC,CAAX;AAAa,mBAAhD;AAAmD,iBAAlG;AAAqG,eAAvH,EAAwHvhB,IAAE,CAA9H,EAAgIA,IAAEl1B,EAAEf,MAApI,EAA2Ii2B,GAA3I;AAA+IW,kBAAEX,CAAF;AAA/I,eAAoJZ,EAAEkiB,QAAF,GAAWx2C,CAAX,EAAa,UAAQs0B,EAAEkf,SAAV,GAAoBlf,EAAEijB,YAAF,GAAeroC,CAAnC,GAAqColB,EAAEkjB,aAAF,GAAgBtoC,CAAlE;AAAoE,eAAE+nC,QAAF,GAAW,CAAC,CAAZ;AAAc,WAAjlG,EAAmlG,EAAnlG,CAA5C;AAAooG,SAA3yG,EAA7J,EAA08G,EAACz4C,KAAI,WAAL,EAAiBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,IAAN;AAAA,cAAWG,IAAE,KAAK/a,KAAlB;AAAA,cAAwBpY,IAAE,KAAKq1C,QAA/B;AAAA,cAAwCtnC,IAAE,KAAK,CAA/C;AAAA,cAAiD7P,IAAE,KAAK,CAAxD;AAAA,cAA0DW,IAAE,KAAK,CAAjE,CAAmE,IAAG,UAAQm0B,EAAEqf,SAAV,IAAqBn0C,IAAE,KAAKk4C,YAAP,EAAoBv3C,IAAEb,KAAKg6B,IAAL,CAAUx5B,EAAEc,KAAF,GAAQpB,CAAlB,CAA3C,KAAkE6P,IAAE,KAAKsoC,aAAP,EAAqBx3C,IAAEb,KAAKg6B,IAAL,CAAUx5B,EAAEkB,MAAF,GAASqO,CAAnB,CAAzF,GAAgHlP,IAAEmB,EAAElC,MAAvH,EAA8H,OAAM,EAAC+R,QAAO,CAAC,CAAT,EAAWiX,SAAQ,oCAAkCjoB,CAAlC,GAAoC,gBAApC,GAAqDmB,EAAElC,MAA1E,EAAN,CAAwF,KAAI,IAAIy1B,IAAE,CAAC,CAAP,EAAS3lB,IAAE,KAAK,CAAhB,EAAkBimB,IAAE,CAAC,CAArB,EAAuBvlB,IAAE,CAAzB,EAA2BuN,IAAE7b,EAAElC,MAAnC,EAA0CwQ,IAAEuN,CAA5C,EAA8CvN,GAA9C;AAAkD,gBAAGtO,EAAEsO,CAAF,EAAKklC,KAAL,CAAWh1C,EAAE0T,IAAb,EAAmBshB,IAAnB,CAAyB,UAASR,CAAT,EAAW;AAAC,qBAAOA,EAAE1wB,EAAF,KAAO9D,EAAE8D,EAAhB;AAAmB,aAAxD,CAAH,EAA8D,OAAM,EAACuN,QAAO,CAAC,CAAT,EAAWiX,SAAQ,2BAAyBxY,CAAzB,GAA2B,YAA3B,GAAwC9P,EAAE8D,EAA7D,EAAN;AAAhH,WAAuL,IAAG,aAAW9D,EAAE0T,IAAhB,EAAqB,KAAI,IAAI1S,IAAE,CAAN,EAAQ4M,IAAEpM,EAAElC,MAAF,GAASe,CAAvB,EAAyBW,KAAG4M,CAA5B,EAA8B5M,GAA9B,EAAkC;AAAC+zB,gBAAE,CAAC,CAAH,CAAK,KAAI,IAAImB,IAAEl1B,CAAV,EAAYk1B,IAAEl1B,IAAEX,CAAhB,EAAkB61B,GAAlB,EAAsB;AAAC,kBAAG,CAAC9mB,IAAE5N,EAAE00B,CAAF,CAAH,EAASwhB,SAAT,CAAmBD,MAAtB,EAA6B;AAAC1iB,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG3lB,EAAEuoC,MAAF,CAASF,MAAT,IAAiBroC,EAAEuoC,MAAF,CAASF,MAAT,KAAkBz3C,EAAE8D,EAAxC,EAA2C;AAACixB,oBAAE,CAAC,CAAH,CAAK;AAAM,iBAAE2iB,SAAF,CAAYD,MAAZ,GAAmB,CAAC,CAApB,CAAsB,IAAIliB,IAAEnmB,EAAE4lC,KAAF,CAAQyC,MAAR,CAAe,CAAf,CAAN,CAAwB,IAAGliB,CAAH,EAAK;AAAC,oBAAIa,IAAEb,EAAEj3B,EAAF,CAAKmnB,qBAAL,EAAN,CAAmC,IAAG,UAAQ+O,EAAEqf,SAAb,EAAuB;AAAC,sBAAGzd,EAAEjC,MAAF,GAASK,EAAEuiB,YAAF,CAAe5iB,MAA3B,EAAkC;AAACY,wBAAE,CAAC,CAAH,EAAK3lB,EAAEsoC,SAAF,CAAYD,MAAZ,GAAmB,CAAC,CAAzB,CAA2B;AAAM;AAAC,iBAA7F,MAAkG,IAAGrhB,EAAE0Y,KAAF,GAAQta,EAAEuiB,YAAF,CAAejI,KAA1B,EAAgC;AAAC/Z,sBAAE,CAAC,CAAH,EAAK3lB,EAAEsoC,SAAF,CAAYD,MAAZ,GAAmB,CAAC,CAAzB,CAA2B;AAAM,qBAAIjiB,CAAJ;AAAA,oBAAM5zB,IAAE,KAAK,CAAb;AAAA,oBAAe2b,IAAE,KAAK,CAAtB;AAAA,oBAAwBxc,IAAE,KAAK,CAA/B;AAAA,oBAAiCu1B,IAAE,KAAK,CAAxC,CAA0C,IAAG,UAAQ9B,EAAEqf,SAAV,IAAqBt2B,IAAE,CAAC6Y,EAAE9S,GAAF,GAAMkR,EAAEuiB,YAAF,CAAezzB,GAArB,GAAyB8S,EAAEl1B,MAA5B,KAAqCU,IAAE,CAAC4yB,EAAEuiB,YAAF,CAAe71C,MAAf,GAAsBk1B,EAAEl1B,MAAzB,IAAiCq0B,EAAE7f,QAA1E,CAAF,EAAsF3U,IAAEyzB,EAAEuiB,YAAF,CAAe71C,MAAvG,EAA8Go1B,IAAE,CAAC9B,EAAEuiB,YAAF,CAAe71C,MAAf,GAAsBlB,EAAEkB,MAAzB,IAAiClB,EAAE0V,QAAxK,KAAmL6H,IAAE,CAAC6Y,EAAE5f,IAAF,GAAOge,EAAEuiB,YAAF,CAAevgC,IAAtB,GAA2B4f,EAAEt1B,KAA9B,KAAsCc,IAAE,CAAC4yB,EAAEuiB,YAAF,CAAej2C,KAAf,GAAqBs1B,EAAEt1B,KAAxB,IAA+By0B,EAAE7f,QAAzE,CAAF,EAAqF3U,IAAEyzB,EAAEuiB,YAAF,CAAej2C,KAAtG,EAA4Gw1B,IAAE,CAAC9B,EAAEuiB,YAAF,CAAej2C,KAAf,GAAqBd,EAAEc,KAAxB,IAA+Bd,EAAE0V,QAAlU,GAA4U8f,IAAEz0B,IAAEu1B,CAAhV,EAAkV3B,EAAEjV,MAAF,CAASo4B,OAAT,KAAmBnjB,EAAEjV,MAAF,CAASo4B,OAAT,GAAiB,CAApC,CAAlV,EAAyXl2C,IAAE00B,CAAF,IAAK/Y,IAAEoX,EAAEjV,MAAF,CAASo4B,OAAX,GAAmBtiB,CAApZ,EAAsZ;AAACT,sBAAE,CAAC,CAAH,EAAK3lB,EAAEsoC,SAAF,CAAYD,MAAZ,GAAmB,CAAC,CAAzB,CAA2B;AAAM;AAAC,iBAAEC,SAAF,CAAYD,MAAZ,GAAmB,CAAC,CAApB;AAAsB,iBAAG1iB,CAAH,EAAK;AAACM,kBAAEr0B,CAAF,CAAI;AAAM;AAAC,WAAz7B,MAA87B,IAAG,UAAQhB,EAAE0T,IAAb,EAAkB,KAAI,IAAIwjB,IAAE,CAAN,EAAQxtB,IAAElI,EAAElC,MAAF,GAASe,CAAvB,EAAyB62B,KAAGxtB,CAA5B,EAA8BwtB,GAA9B,EAAkC;AAACnC,gBAAE,CAAC,CAAH,CAAK,KAAI,IAAI7S,IAAEgV,CAAV,EAAYhV,IAAEgV,IAAE72B,CAAhB,EAAkB6hB,GAAlB,EAAsB;AAAC,kBAAGA,IAAE1iB,KAAKk6B,KAAL,CAAWl4B,EAAElC,MAAF,GAAS,CAApB,CAAL,EAA4B;AAACy1B,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG,CAAC3lB,IAAE5N,EAAE0gB,CAAF,CAAH,EAASw1B,SAAT,CAAmB13C,EAAE0T,IAArB,CAAH,EAA8B;AAACqhB,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG,CAAC3lB,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,KAAkB1T,EAAE20C,KAArB,KAA6BvlC,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,MAAmB1T,EAAE8D,EAArD,EAAwD;AAACixB,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG3lB,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAArB,EAAuBtE,EAAE4lC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBpU,MAAhB,GAAuB,CAAjD,EAAmD;AAACy1B,oBAAE,CAAC,CAAH,EAAK3lB,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAA1B,CAA4B;AAAM,iBAAEgkC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAArB;AAAuB,iBAAGqhB,CAAH,EAAK;AAACM,kBAAE6B,CAAF,CAAI;AAAM;AAAC,WAArW,MAA0W,IAAG,aAAWl3B,EAAE0T,IAAhB,EAAqB,KAAI,IAAI8jB,IAAEh2B,EAAElC,MAAF,GAASe,CAAnB,EAAqBm3B,KAAG,CAAxB,EAA0BA,GAA1B,EAA8B;AAACzC,gBAAE,CAAC,CAAH,CAAK,KAAI,IAAI4C,IAAEH,CAAV,EAAYG,IAAEH,IAAEn3B,CAAhB,EAAkBs3B,GAAlB,EAAsB;AAAC,kBAAGA,KAAGn4B,KAAKk6B,KAAL,CAAWl4B,EAAElC,MAAF,GAAS,CAApB,CAAN,EAA6B;AAACy1B,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG,CAAC3lB,IAAE5N,EAAEm2B,CAAF,CAAH,EAAS+f,SAAT,CAAmB13C,EAAE0T,IAArB,CAAH,EAA8B;AAACqhB,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG,CAAC3lB,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,KAAkB1T,EAAE20C,KAArB,KAA6BvlC,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,MAAmB1T,EAAE8D,EAArD,EAAwD;AAACixB,oBAAE,CAAC,CAAH,CAAK;AAAM,mBAAG3lB,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAArB,EAAuBtE,EAAE4lC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBpU,MAAhB,GAAuB,CAAjD,EAAmD;AAACy1B,oBAAE,CAAC,CAAH,EAAK3lB,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAA1B,CAA4B;AAAM,iBAAEgkC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAArB;AAAuB,iBAAGqhB,CAAH,EAAK;AAACM,kBAAEmC,CAAF,CAAI;AAAM;AAAC,eAAG,CAAC,CAAD,KAAKnC,CAAR,EAAU;AAAC,iBAAI,IAAI+B,IAAE/B,CAAN,EAAQ1zB,IAAE0zB,IAAEh1B,CAAhB,EAAkB+2B,IAAEz1B,CAApB,EAAsBy1B,GAAtB;AAA0B,eAAChoB,IAAE5N,EAAE41B,CAAF,CAAH,EAASsgB,SAAT,CAAmB13C,EAAE0T,IAArB,IAA2B,CAAC,CAA5B,EAA8BtE,EAAE4lC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBmhC,OAAhB,CAAwB70C,CAAxB,CAA9B,EAAyDA,EAAE20C,KAAF,KAAU,OAAOvlC,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,CAAP,EAAwB8gB,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAActc,IAAE,WAAhB,CAA5C,CAAzD,EAAmIhoB,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAAxJ;AAA1B,aAAoL,IAAG1T,EAAE20C,KAAL,EAAW,IAAGngB,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc1zC,EAAE8D,EAAF,GAAK,WAAnB,CAAV,EAA0C,OAAO9D,EAAEw3C,aAAnD,EAAiE7iB,EAAE7rB,MAAtE,EAA6E6rB,EAAEuf,SAAF,CAAYG,IAAZ,CAAiBtvC,IAAjB,CAAsBiwB,IAAtB,CAA4B,UAASR,CAAT,EAAW;AAAC,qBAAOA,EAAE1wB,EAAF,KAAO9D,EAAE8D,EAAT,KAAc,OAAO0wB,EAAEgjB,aAAT,EAAuB,CAAC,CAAtC,CAAP;AAAgD,aAAxF,EAA2F,OAAOx3C,EAAEw1C,UAAF,GAAa,CAACngB,CAAD,EAAGh1B,CAAH,CAAb,EAAmB,UAAQm0B,EAAEqf,SAAV,IAAqB7zC,EAAEsjB,GAAF,GAAM+R,IAAE31B,CAAR,EAAU80B,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiDpC,EAAEsjB,GAAF,IAAOkR,EAAExf,cAAF,GAAiBwf,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA7F,CAA/B,KAAqIpC,EAAEsjB,GAAF,GAAM+R,IAAE9lB,CAAR,EAAUilB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiDpC,EAAEsjB,GAAF,IAAOkR,EAAE1B,eAAF,GAAkB0B,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAA/I,CAAnB,EAAwQ,EAACiP,QAAOrR,CAAR,EAAUsoB,SAAQ,SAAlB,EAA/Q;AAA4S,eAAGtoB,EAAE+L,OAAF,CAAU6oC,QAAb,EAAsB;AAAC,gBAAI1c,IAAE,CAAN;AAAA,gBAAQlB,IAAE,CAAC,CAAX;AAAA,gBAAaM,IAAE,IAAf,CAAoB,IAAG9C,EAAE5a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBW,KAAvB,CAA6B/jC,OAA7B,CAAsC,UAASjR,CAAT,EAAW20B,CAAX,EAAa;AAAC,eAAC30B,EAAE20C,KAAH,IAAU,CAAC30C,EAAE+L,OAAF,CAAU6oC,QAArB,IAA+B50C,EAAE1B,EAAjC,IAAqC0B,EAAE1B,EAAF,CAAKmnB,qBAAL,GAA6BjP,IAA7B,GAAkCge,EAAEuiB,YAAF,CAAejI,KAAtF,IAA6F9uC,EAAEoC,KAAF,IAAS81B,CAAtG,KAA0GA,IAAEl4B,EAAEoC,KAAJ,EAAU40B,IAAErC,CAAZ,EAAc2C,IAAEt3B,CAA1H;AAA6H,aAAjL,GAAoLs3B,CAAvL,EAAyL;AAACA,gBAAEnQ,MAAF,IAAWqN,EAAE4iB,YAAF,CAAe9f,CAAf,CAAX,EAA6B9C,EAAE5a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBW,KAAvB,CAA6B7lC,MAA7B,CAAoC6nB,CAApC,EAAsC,CAAtC,CAA7B,EAAsEh3B,EAAEw1C,UAAF,GAAale,EAAEke,UAArF,CAAgG,KAAI,IAAIvd,IAAEX,EAAEke,UAAF,CAAa,CAAb,CAAN,EAAsBve,IAAEK,EAAEke,UAAF,CAAa,CAAb,IAAgBle,EAAEke,UAAF,CAAa,CAAb,CAA5C,EAA4Dvd,IAAEhB,CAA9D,EAAgEgB,GAAhE;AAAoE,iBAAC7oB,IAAE5N,EAAEy2B,CAAF,CAAH,EAASyf,SAAT,CAAmB13C,EAAE0T,IAArB,IAA2B,CAAC,CAA5B,EAA8BtE,EAAE4lC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBmhC,OAAhB,CAAwB70C,CAAxB,CAA9B,EAAyDA,EAAE20C,KAAF,IAAS,OAAOvlC,EAAEuoC,MAAF,CAAS33C,EAAE0T,IAAX,CAAzE,EAA0FtE,EAAEsoC,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAA/G;AAApE,eAAqL,OAAO1T,EAAEsjB,GAAF,GAAMgU,EAAEhU,GAAR,EAAYkR,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiDpC,EAAEsjB,GAAF,IAAOkR,EAAE1B,eAAF,GAAkB0B,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAAZ,EAAiH,EAACiP,QAAOrR,CAAR,EAAUsoB,SAAQ,SAAlB,EAAxH;AAAqJ;AAAC,eAAGtoB,EAAE20C,KAAL,EAAW,IAAG30C,EAAEw3C,aAAF,IAAiBhjB,EAAE5a,KAAF,CAAQg6B,IAA5B,EAAiC;AAAC,gBAAGjf,EAAE7rB,MAAL,EAAY6rB,EAAEuf,SAAF,CAAYG,IAAZ,CAAiBtvC,IAAjB,CAAsBiwB,IAAtB,CAA4B,UAASL,CAAT,EAAW;AAAC,qBAAOA,EAAE7wB,EAAF,KAAO9D,EAAE8D,EAAT,KAAc0wB,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc1zC,EAAE8D,EAAF,GAAK,kBAAnB,CAAV,EAAiD6wB,EAAEvyB,KAAF,IAAS,GAA1D,EAA8D,CAAC,CAA7E,CAAP;AAAuF,aAA/H;AAAkI,WAAhL,MAAoL;AAACizB,gBAAE,CAAC,CAAH,CAAK,KAAI,IAAIyC,IAAE,CAAN,EAAQK,IAAE32B,EAAElC,MAAF,GAASe,CAAvB,EAAyBy3B,KAAGK,CAA5B,EAA8BL,GAA9B,EAAkC;AAAC/C,kBAAE,CAAC,CAAH,CAAK,KAAI,IAAIgE,IAAEjB,CAAV,EAAYiB,IAAEjB,IAAEz3B,CAAhB,EAAkB04B,GAAlB;AAAsB,oBAAGv3B,EAAEu3B,CAAF,EAAK4e,MAAL,CAAY33C,EAAE0T,IAAd,CAAH,EAAuB;AAACqhB,sBAAE,CAAC,CAAH,CAAK;AAAM;AAAzD,eAAyD,IAAGA,CAAH,EAAK;AAACM,oBAAEyC,CAAF,CAAI;AAAM;AAAC,iBAAG,CAAC,CAAD,KAAKzC,CAAR,EAAU;AAAC,mBAAI,IAAIuC,IAAEvC,CAAV,EAAYuC,IAAEvC,IAAEh1B,CAAhB,EAAkBu3B,GAAlB;AAAsBp2B,kBAAEo2B,CAAF,EAAK+f,MAAL,CAAY33C,EAAE0T,IAAd,IAAoB1T,EAAE8D,EAAtB,EAAyB0wB,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc9b,IAAE,MAAF,GAAS53B,EAAE8D,EAAX,GAAc,SAA5B,CAAnC;AAAtB,eAAgG,IAAG6wB,EAAE7rB,MAAL,EAAY6rB,EAAEuf,SAAF,CAAYG,IAAZ,CAAiBtvC,IAAjB,CAAsBiwB,IAAtB,CAA4B,UAASL,CAAT,EAAW;AAAC,uBAAOA,EAAE7wB,EAAF,KAAO9D,EAAE8D,EAAT,KAAc0wB,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc1zC,EAAE8D,EAAF,GAAK,kBAAnB,CAAV,EAAiD6wB,EAAEvyB,KAAF,IAAS,GAA1D,EAA8DuyB,EAAE6iB,aAAF,GAAgB,CAACniB,CAAD,EAAGh1B,CAAH,CAA9E,EAAoFm0B,EAAEgf,MAAF,IAAUhf,EAAEgf,MAAF,CAASE,IAAT,CAAc1zC,EAAE8D,EAAF,GAAK,UAAL,GAAgBuxB,CAAhB,GAAkB,GAAlB,IAAuBA,IAAEh1B,CAAF,GAAI,CAA3B,IAA8B,KAA5C,CAA9F,EAAiJ,CAAC,CAAhK,CAAP;AAA0K,eAAlN;AAAqN;AAAC,kBAAM,EAACgR,QAAO,CAAC,CAAT,EAAWiX,SAAQ,uBAAnB,EAAN;AAAkD,SAApmI,EAA18G,EAAgjP,EAACzpB,KAAI,cAAL,EAAoBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAKwzC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,mBAAiB1zC,EAAE+L,OAAF,CAAUyoC,GAAV,IAAe,eAAhC,CAAjB,CAAb,CAAgF,KAAI,IAAIhgB,IAAE,KAAKqiB,QAAX,EAAoBliB,IAAE30B,EAAEw1C,UAAxB,EAAmCh0C,IAAE,KAAK,CAA1C,EAA4C+N,IAAEolB,EAAE,CAAF,CAA9C,EAAmDj1B,IAAEi1B,EAAE,CAAF,IAAKA,EAAE,CAAF,CAA9D,EAAmEplB,IAAE7P,CAArE,EAAuE6P,GAAvE;AAA2E,gBAAG/N,IAAEgzB,EAAEjlB,CAAF,CAAL,EAAU;AAAC/N,gBAAEk2C,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAArB,CAAuB,IAAIrT,IAAE,CAAC,CAAP,CAASmB,EAAEwzC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBshB,IAAhB,CAAsB,UAASR,CAAT,EAAWG,CAAX,EAAa;AAAC,uBAAOH,EAAE1wB,EAAF,KAAO9D,EAAE8D,EAAT,KAAczD,IAAEs0B,CAAF,EAAI,CAAC,CAAnB,CAAP;AAA6B,eAAjE,GAAoEt0B,IAAE,CAAC,CAAH,IAAMmB,EAAEwzC,KAAF,CAAQh1C,EAAE0T,IAAV,EAAgBvE,MAAhB,CAAuB9O,CAAvB,EAAyB,CAAzB,CAA1E,EAAsGmB,EAAEk2C,SAAF,CAAY13C,EAAE0T,IAAd,IAAoB,CAAC,CAA3H;AAA6H;AAAnP,WAAmP1T,EAAE+L,OAAF,CAAUgsC,IAAV,IAAgB,KAAKn+B,KAAL,CAAWs6B,SAAX,CAAqBG,IAArB,CAA0B2B,UAA1B,CAAqCjyC,IAArC,CAA0C/D,EAAE+L,OAA5C,CAAhB;AAAqE,SAA9a,EAAhjP,EAAg+P,EAAClN,KAAI,WAAL,EAAiBC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,WAAjB,CAAb,CAA2C,IAAI1zC,IAAE,KAAK4Z,KAAL,CAAWhF,SAAjB;AAAA,cAA2B4f,IAAE,IAA7B;AAAA,cAAkCG,IAAE30B,EAAEylB,qBAAF,EAApC,CAA8D+O,EAAE1zB,KAAF,GAAQ6zB,EAAE7zB,KAAV,EAAgB0zB,EAAEtzB,MAAF,GAASyzB,EAAEzzB,MAA3B,EAAkCszB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAApB,IAA2B,CAAhD,IAAmDoyB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,IAAyB8yB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAhG,KAAwG,UAAQoyB,EAAEqf,SAAV,GAAoBrf,EAAE1zB,KAAF,GAAQ0zB,EAAE1zB,KAAF,IAAS0zB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwB8yB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAArD,CAA5B,GAAwFoyB,EAAEtzB,MAAF,GAASszB,EAAEtzB,MAAF,IAAUszB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwB8yB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAtD,CAAzM,CAAlC,EAAySoyB,EAAE5f,SAAF,GAAY5U,CAArT,CAAuT,IAAIwB,IAAEgzB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeg2B,WAAf,KAA6B,WAAWrlC,IAAX,CAAgB5J,UAAU0W,SAA1B,IAAqC,EAArC,GAAwC,EAArE,CAAN;AAAA,cAA+E5N,IAAE,KAAK,CAAtF,CAAwFA,IAAE,UAAQilB,EAAEqf,SAAV,GAAoBr0C,KAAKk6B,KAAL,CAAWlF,EAAE1zB,KAAF,GAAQU,CAAnB,CAApB,GAA0ChC,KAAKk6B,KAAL,CAAWlF,EAAEtzB,MAAF,GAASM,CAApB,CAA5C,CAAmE,KAAI,IAAI9B,IAAE,EAAN,EAASW,IAAE,CAAf,EAAiBA,IAAEkP,CAAnB,EAAqBlP,GAArB;AAAyBX,cAAEW,CAAF,IAAK,EAACyD,IAAGzD,CAAJ,EAAM20C,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL;AAAzB,WAAyH,IAAGnjB,EAAEqiB,QAAF,IAAYriB,EAAEqiB,QAAF,CAAWv3C,MAAX,IAAmBI,EAAEJ,MAApC,EAA2C;AAAC,iBAAI,IAAIy1B,IAAE,SAAFA,CAAE,CAAS/0B,CAAT,EAAW;AAACN,gBAAEM,CAAF,IAAK,EAAC8D,IAAG9D,CAAJ,EAAMg1C,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL,EAAgG,CAAC,QAAD,EAAU,KAAV,EAAiB1mC,OAAjB,CAA0B,UAAS0jB,CAAT,EAAW;AAACH,kBAAEqiB,QAAF,CAAW72C,CAAX,EAAcg1C,KAAd,CAAoBrgB,CAApB,EAAuB1jB,OAAvB,CAAgC,UAASzP,CAAT,EAAW;AAACA,oBAAElD,EAAF,KAAOoB,EAAEM,CAAF,EAAKg1C,KAAL,CAAWrgB,CAAX,EAAc5wB,IAAd,CAAmBvC,CAAnB,GAAsBA,EAAEs1C,OAAF,KAAYt1C,EAAEyzC,SAAF,CAAYzgB,EAAEuiB,YAAd,EAA2B,CAAC,CAA5B,GAA+Bv1C,EAAE0zC,SAAF,CAAY1gB,EAAEuiB,YAAd,CAA/B,EAA2Dv1C,EAAEs1C,OAAF,GAAU,CAAC,CAAlF,CAA7B;AAAmH,iBAA/J;AAAkK,eAAxM,CAAhG,EAA2StiB,EAAEqiB,QAAF,CAAW72C,CAAX,EAAcg1C,KAAd,CAAoB7gB,MAApB,CAA2BljB,OAA3B,CAAoC,UAAS0jB,CAAT,EAAW;AAAC,oBAAGA,EAAEr2B,EAAL,EAAQ;AAAC,sBAAGoB,EAAEM,IAAEN,EAAEJ,MAAJ,GAAWk1B,EAAEqiB,QAAF,CAAWv3C,MAAxB,EAAgC01C,KAAhC,CAAsC7gB,MAAtC,CAA6CpwB,IAA7C,CAAkD4wB,CAAlD,GAAqDA,EAAE6gB,UAAF,CAAa,CAAb,IAAgB7gB,EAAE6gB,UAAF,CAAa,CAAb,CAAhB,GAAgC,CAAhC,KAAoCx1C,CAA5F,EAA8F;AAAC,wBAAIuP,IAAE,GAAG/K,MAAH,CAAUmwB,EAAE6gB,UAAZ,CAAN,CAA8B7gB,EAAE6gB,UAAF,GAAa,CAACjmC,EAAE,CAAF,IAAKilB,EAAEqiB,QAAF,CAAWv3C,MAAhB,GAAuBI,EAAEJ,MAA1B,EAAiCiQ,EAAE,CAAF,CAAjC,CAAb,EAAoDolB,EAAErR,GAAF,GAAMqR,EAAE6gB,UAAF,CAAa,CAAb,IAAgBh0C,CAA1E,EAA4EgzB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiDuyB,EAAErR,GAAF,IAAOkR,EAAE1B,eAAF,GAAkB0B,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAA5E,EAAiLuyB,EAAE8gB,OAAF,EAAjL;AAA6L,qBAAEqB,OAAF,KAAYniB,EAAEsgB,SAAF,CAAYzgB,EAAEuiB,YAAd,EAA2B,CAAC,CAA5B,GAA+BpiB,EAAEugB,SAAF,CAAY1gB,EAAEuiB,YAAd,CAA/B,EAA2DpiB,EAAEmiB,OAAF,GAAU,CAAC,CAAlF;AAAqF;AAAC,eAAzc,CAA3S;AAAuvB,aAAzwB,EAA0wB1nC,IAAE,CAAhxB,EAAkxBA,IAAEolB,EAAEqiB,QAAF,CAAWv3C,MAA/xB,EAAsyB8P,GAAtyB;AAA0yB2lB,gBAAE3lB,CAAF;AAA1yB,aAA+yB,KAAI,IAAIimB,IAAE,SAAFA,CAAE,CAASr1B,CAAT,EAAW;AAAC,eAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0BiR,OAA1B,CAAmC,UAASujB,CAAT,EAAW;AAAC90B,kBAAEM,CAAF,EAAKg1C,KAAL,CAAWxgB,CAAX,EAAcvjB,OAAd,CAAuB,UAASjR,CAAT,EAAW;AAACA,oBAAE82C,OAAF,GAAU,CAAC,CAAX;AAAa,iBAAhD;AAAmD,eAAlG;AAAqG,aAAvH,EAAwHhnC,IAAE,CAA9H,EAAgIA,IAAEpQ,EAAEJ,MAApI,EAA2IwQ,GAA3I;AAA+IulB,gBAAEvlB,CAAF;AAA/I,aAAoJ0kB,EAAEqiB,QAAF,GAAWn3C,CAAX,EAAa,UAAQ80B,EAAEqf,SAAV,GAAoBrf,EAAEojB,YAAF,GAAep2C,CAAnC,GAAqCgzB,EAAEqjB,aAAF,GAAgBr2C,CAAlE;AAAoE,WAAnjC,MAAwjC,IAAGgzB,EAAEqiB,QAAF,IAAYriB,EAAEqiB,QAAF,CAAWv3C,MAAX,GAAkBI,EAAEJ,MAAnC,EAA0C;AAAC,iBAAI,IAAI+d,IAAE,SAAFA,CAAE,CAASrd,CAAT,EAAW;AAACN,gBAAEM,CAAF,IAAK,EAAC8D,IAAG9D,CAAJ,EAAMg1C,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL,EAAgG,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0B1mC,OAA1B,CAAmC,UAAS0jB,CAAT,EAAW;AAAC,oBAAG,UAAQA,CAAR,IAAW30B,IAAER,KAAKk6B,KAAL,CAAWh6B,EAAEJ,MAAF,GAAS,CAApB,CAAhB,EAAuC,CAAvC,KAA6C,IAAG,aAAWq1B,CAAX,IAAc30B,KAAGR,KAAKk6B,KAAL,CAAWh6B,EAAEJ,MAAF,GAAS,CAApB,CAApB,EAA2C,CAA3C,KAAgD;AAAC,sBAAIiQ,IAAE,aAAWolB,CAAX,GAAa30B,IAAEN,EAAEJ,MAAJ,GAAWk1B,EAAEqiB,QAAF,CAAWv3C,MAAnC,GAA0CU,CAAhD,CAAkDw0B,EAAEqiB,QAAF,CAAWtnC,CAAX,EAAcylC,KAAd,CAAoBrgB,CAApB,EAAuB1jB,OAAvB,CAAgC,UAAS5Q,CAAT,EAAW00B,CAAX,EAAa;AAAC,wBAAG10B,EAAE/B,EAAL,EAAQ;AAAC,0BAAGoB,EAAEM,CAAF,EAAKg1C,KAAL,CAAWrgB,CAAX,EAAc5wB,IAAd,CAAmB1D,CAAnB,GAAsB,aAAWs0B,CAAX,IAAct0B,EAAEm1C,UAAF,CAAa,CAAb,IAAgBn1C,EAAEm1C,UAAF,CAAa,CAAb,CAAhB,GAAgC,CAAhC,KAAoCjmC,CAA3E,EAA6E;AAAC,4BAAIH,IAAE,GAAG5K,MAAH,CAAUnE,EAAEm1C,UAAZ,CAAN,CAA8Bn1C,EAAEm1C,UAAF,GAAa,CAACpmC,EAAE,CAAF,IAAKolB,EAAEqiB,QAAF,CAAWv3C,MAAhB,GAAuBI,EAAEJ,MAA1B,EAAiC8P,EAAE,CAAF,CAAjC,CAAb,EAAoD/O,EAAEijB,GAAF,GAAMjjB,EAAEm1C,UAAF,CAAa,CAAb,IAAgBh0C,CAA1E,EAA4EgzB,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnd,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAzC,KAAiD/B,EAAEijB,GAAF,IAAOkR,EAAE1B,eAAF,GAAkB0B,EAAE5a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAA9F,CAA5E,EAAiL/B,EAAEo1C,OAAF,EAAjL;AAA6L,yBAAEqB,OAAF,KAAYz2C,EAAE40C,SAAF,CAAYzgB,EAAEuiB,YAAd,EAA2B,CAAC,CAA5B,GAA+B12C,EAAE60C,SAAF,CAAY1gB,EAAEuiB,YAAd,CAA/B,EAA2D12C,EAAEy2C,OAAF,GAAU,CAAC,CAAlF;AAAqF,uBAAED,QAAF,CAAWtnC,CAAX,EAAcylC,KAAd,CAAoBrgB,CAApB,EAAuBxlB,MAAvB,CAA8B4lB,CAA9B,EAAgC,CAAhC;AAAmC,mBAAxd;AAA2d;AAAC,eAA3pB,CAAhG;AAA8vB,aAAhxB,EAAixB/zB,IAAE,CAAvxB,EAAyxBA,IAAEtB,EAAEJ,MAA7xB,EAAoyB0B,GAApyB;AAAwyBqc,gBAAErc,CAAF;AAAxyB,aAA6yB,KAAI,IAAI4M,IAAE,SAAFA,CAAE,CAAS5N,CAAT,EAAW;AAAC,eAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0BiR,OAA1B,CAAmC,UAASujB,CAAT,EAAW;AAAC90B,kBAAEM,CAAF,EAAKg1C,KAAL,CAAWxgB,CAAX,EAAcvjB,OAAd,CAAuB,UAASjR,CAAT,EAAW;AAACA,oBAAE82C,OAAF,GAAU,CAAC,CAAX;AAAa,iBAAhD;AAAmD,eAAlG;AAAqG,aAAvH,EAAwH5gB,IAAE,CAA9H,EAAgIA,IAAEx2B,EAAEJ,MAApI,EAA2I42B,GAA3I;AAA+ItoB,gBAAEsoB,CAAF;AAA/I,aAAoJ1B,EAAEqiB,QAAF,GAAWn3C,CAAX,EAAa,UAAQ80B,EAAEqf,SAAV,GAAoBrf,EAAEojB,YAAF,GAAep2C,CAAnC,GAAqCgzB,EAAEqjB,aAAF,GAAgBr2C,CAAlE;AAAoE;AAAC,SAA/zF,EAAh+P,EAAiyV,EAAC3C,KAAI,OAAL,EAAaC,OAAM,iBAAU;AAAC,cAAIkB,IAAEqG,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,IAA2CA,UAAU,CAAV,CAAjD,CAA8D,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,OAAjB,CAAb,CAAuC,IAAIlf,IAAE,KAAK5a,KAAL,CAAWhF,SAAjB;AAAA,cAA2B+f,IAAE,IAA7B,CAAkC,SAASnzB,CAAT,GAAY;AAAC,gBAAIxB,IAAEw0B,EAAE/O,qBAAF,EAAN,CAAgCkP,EAAE7zB,KAAF,GAAQd,EAAEc,KAAV,EAAgB6zB,EAAEzzB,MAAF,GAASlB,EAAEkB,MAA3B,EAAkCyzB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBhd,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAApB,IAA2B,CAAhD,IAAmDuyB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,IAAyBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAhG,KAAwG,UAAQuyB,EAAEkf,SAAV,GAAoBlf,EAAE7zB,KAAF,GAAQ6zB,EAAE7zB,KAAF,IAAS6zB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAArD,CAA5B,GAAwFuyB,EAAEzzB,MAAF,GAASyzB,EAAEzzB,MAAF,IAAUyzB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBizB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAtD,CAAzM,CAAlC,EAAySuyB,EAAE/f,SAAF,GAAY4f,CAArT,CAAuT,IAAIhzB,IAAEmzB,EAAE/a,KAAF,CAAQ8F,MAAR,CAAeg2B,WAAf,KAA6B,WAAWrlC,IAAX,CAAgB5J,UAAU0W,SAA1B,IAAqC,EAArC,GAAwC,EAArE,CAAN;AAAA,gBAA+E5N,IAAE,KAAK,CAAtF,CAAwFA,IAAE,UAAQolB,EAAEkf,SAAV,GAAoBr0C,KAAKk6B,KAAL,CAAW/E,EAAE7zB,KAAF,GAAQU,CAAnB,CAApB,GAA0ChC,KAAKk6B,KAAL,CAAW/E,EAAEzzB,MAAF,GAASM,CAApB,CAA5C,CAAmE,KAAI,IAAI9B,IAAE,EAAN,EAASW,IAAE,CAAf,EAAiBA,IAAEkP,CAAnB,EAAqBlP,GAArB;AAAyBX,gBAAEW,CAAF,IAAK,EAACyD,IAAGzD,CAAJ,EAAM20C,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL;AAAzB,aAAyHhjB,EAAEkiB,QAAF,GAAWn3C,CAAX,EAAa,UAAQi1B,EAAEkf,SAAV,GAAoBlf,EAAEijB,YAAF,GAAep2C,CAAnC,GAAqCmzB,EAAEkjB,aAAF,GAAgBr2C,CAAlE;AAAoE,aAAEoY,KAAF,CAAQs6B,SAAR,IAAmBvf,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAArC,IAA2C1f,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBW,KAAvB,CAA6B/jC,OAA7B,CAAsC,UAASjR,CAAT,EAAW;AAACA,cAAEi1C,SAAF,CAAYtgB,EAAEoiB,YAAd,GAA4B/2C,EAAEmnB,MAAF,EAA5B;AAAuC,WAAzF,CAA3C,EAAuIwN,EAAEkiB,QAAF,IAAYliB,EAAEkiB,QAAF,CAAWv3C,MAAX,GAAkB,CAA9B,IAAiC,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0B2R,OAA1B,CAAmC,UAASjR,CAAT,EAAW;AAAC,iBAAI,IAAIw0B,IAAE,CAAV,EAAYA,IAAEG,EAAEkiB,QAAF,CAAWv3C,MAAzB,EAAgCk1B,GAAhC;AAAoCG,gBAAEkiB,QAAF,CAAWriB,CAAX,EAAcwgB,KAAd,CAAoBh1C,CAApB,EAAuBiR,OAAvB,CAAgC,UAASjR,CAAT,EAAW;AAACA,kBAAEi1C,SAAF,CAAYtgB,EAAEoiB,YAAd,GAA4B/2C,EAAEmnB,MAAF,EAA5B;AAAuC,eAAnF;AAApC;AAA0H,WAAzK,CAAxK,EAAoVwN,EAAE/a,KAAF,CAAQs6B,SAAR,IAAmBvf,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAArC,IAA2C1f,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBtvC,IAAlE,IAAwE4vB,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBtvC,IAAvB,CAA4BkM,OAA5B,CAAqC,UAASjR,CAAT,EAAW;AAACA,cAAEw2C,WAAF,GAAc,CAAC,CAAf;AAAiB,WAAlE,CAA5Z,EAAiex2C,IAAE,KAAKg4C,UAAL,GAAgBhvC,WAAWxH,CAAX,EAAa,GAAb,CAAlB,GAAoCA,GAArgB;AAAygB,SAA12C,EAAjyV,EAA6oY,EAAC3C,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,eAAKgf,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,aAAjB,CAAb,CAA6C,IAAI/e,IAAE,KAAK/a,KAAL,CAAWhF,SAAjB;AAAA,cAA2BpT,IAAE,IAA7B,CAAkCA,EAAEq1C,QAAF,IAAYr1C,EAAEq1C,QAAF,CAAWv3C,MAAX,GAAkB,CAA9B,IAAiC,CAAC,QAAD,EAAU,KAAV,EAAgB,QAAhB,EAA0B2R,OAA1B,CAAmC,UAASjR,CAAT,EAAW;AAAC,iBAAI,IAAIw0B,IAAE,CAAV,EAAYA,IAAEhzB,EAAEq1C,QAAF,CAAWv3C,MAAzB,EAAgCk1B,GAAhC;AAAoChzB,gBAAEq1C,QAAF,CAAWriB,CAAX,EAAcwgB,KAAd,CAAoBh1C,CAApB,EAAuBiR,OAAvB,CAAgC,UAASjR,CAAT,EAAW;AAACA,kBAAEi1C,SAAF,CAAYzzC,EAAEu1C,YAAd,GAA4B/2C,EAAEmnB,MAAF,EAA5B;AAAuC,eAAnF;AAApC;AAA0H,WAAzK,CAAjC,CAA6M,IAAI5X,IAAEolB,EAAElP,qBAAF,EAAN,CAAgCjkB,EAAEV,KAAF,GAAQyO,EAAEzO,KAAV,EAAgBU,EAAEN,MAAF,GAASqO,EAAErO,MAA3B,EAAkCM,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,IAAqBnwC,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAApB,IAA2B,CAAhD,IAAmDZ,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,IAAyBF,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAhG,KAAwG,UAAQZ,EAAEqyC,SAAV,GAAoBryC,EAAEV,KAAF,GAAQU,EAAEV,KAAF,IAASU,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBF,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAArD,CAA5B,GAAwFZ,EAAEN,MAAF,GAASM,EAAEN,MAAF,IAAUM,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBjwC,GAApB,GAAwBF,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeiyB,IAAf,CAAoBvvC,KAAtD,CAAzM,CAAlC,EAAySZ,EAAEoT,SAAF,GAAY+f,CAArT,CAAuT,IAAIj1B,IAAE8B,EAAEoY,KAAF,CAAQ8F,MAAR,CAAeg2B,WAAf,KAA6B,WAAWrlC,IAAX,CAAgB5J,UAAU0W,SAA1B,IAAqC,EAArC,GAAwC,EAArE,CAAN;AAAA,cAA+E9c,IAAE,KAAK,CAAtF,CAAwFA,IAAE,UAAQmB,EAAEqyC,SAAV,GAAoBr0C,KAAKk6B,KAAL,CAAWl4B,EAAEV,KAAF,GAAQpB,CAAnB,CAApB,GAA0CF,KAAKk6B,KAAL,CAAWl4B,EAAEN,MAAF,GAASxB,CAApB,CAA5C,CAAmE,KAAI,IAAIq1B,IAAE,EAAN,EAAS3lB,IAAE,CAAf,EAAiBA,IAAE/O,CAAnB,EAAqB+O,GAArB;AAAyB2lB,cAAE3lB,CAAF,IAAK,EAACtL,IAAGsL,CAAJ,EAAM4lC,OAAM,EAACyC,QAAO,EAAR,EAAWn0B,KAAI,EAAf,EAAkB6Q,QAAO,EAAzB,EAAZ,EAAyCujB,WAAU,EAACD,QAAO,CAAC,CAAT,EAAWn0B,KAAI,CAAC,CAAhB,EAAkB6Q,QAAO,CAAC,CAA1B,EAAnD,EAAgFwjB,QAAO,EAAvF,EAAL;AAAzB,WAAyHn2C,EAAEq1C,QAAF,GAAW9hB,CAAX,EAAavzB,EAAEq2C,aAAF,GAAgBn4C,CAA7B,EAA+BM,KAAGA,EAAE,CAAC,CAAH,EAAKw0B,CAAL,CAAlC;AAA0C,SAAx9B,EAA7oY,CAAJ,CAA/T,EAA46aA,CAAn7a;AAAq7a,KAA/gd,CAAghdjlB,EAAEmlB,OAAlhd,CAAN,CAAiidF,EAAEE,OAAF,GAAUK,CAAV,EAAY/0B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA91rC,EAA+1rC,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN;AAAA,QAAyPjlB,IAAElP,EAAEs0B,EAAE,CAAF,CAAF,CAA3P;AAAA,QAAmQj1B,IAAEW,EAAEs0B,EAAE,CAAF,CAAF,CAArQ,CAA6Q,SAASt0B,CAAT,CAAWL,CAAX,EAAa;AAAC,aAAOA,KAAGA,EAAEy0B,UAAL,GAAgBz0B,CAAhB,GAAkB,EAAC00B,SAAQ10B,CAAT,EAAzB;AAAqC,SAAI+0B,IAAE,UAAS/0B,CAAT,EAAW;AAAC,eAASw0B,CAAT,CAAWx0B,CAAX,EAAa20B,CAAb,EAAe;AAAC,SAAC,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGsjB,CAAlG,CAAD,CAAsG,IAAIhzB,IAAE,UAASxB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,CAACx0B,CAAJ,EAAM,MAAM,IAAI2hC,cAAJ,CAAmB,2DAAnB,CAAN,CAAsF,OAAM,CAACnN,CAAD,IAAI,oBAAiBA,CAAjB,yCAAiBA,CAAjB,MAAoB,cAAY,OAAOA,CAA3C,GAA6Cx0B,CAA7C,GAA+Cw0B,CAArD;AAAuD,SAAjK,CAAkK,IAAlK,EAAuK,CAACA,EAAE0N,SAAF,IAAatjC,OAAOo5B,cAAP,CAAsBxD,CAAtB,CAAd,EAAwCvmB,IAAxC,CAA6C,IAA7C,CAAvK,CAAN,CAAiOzM,EAAEiyC,SAAF,CAAY,QAAZ,GAAsBjyC,EAAEoY,KAAF,GAAQ5Z,CAA9B,EAAgCwB,EAAEuK,OAAF,GAAU4oB,CAA1C,EAA4CnzB,EAAEkU,QAAF,GAAWif,EAAEjf,QAAzD,EAAkElU,EAAEy2C,KAAF,GAAQtjB,EAAEsjB,KAA5E,EAAkFz2C,EAAEsC,EAAF,GAAK6wB,EAAE7wB,EAAzF,EAA4FtC,EAAEoT,SAAF,GAAY5U,EAAE4U,SAA1G,EAAoHpT,EAAEY,KAAF,GAAQuyB,EAAEvyB,KAA9H,EAAoIZ,EAAEmzC,KAAF,GAAQhgB,EAAEggB,KAA9I,EAAoJnzC,EAAEusC,KAAF,GAAQpZ,EAAEoZ,KAA9J,EAAoKvsC,EAAEg2C,aAAF,GAAgB7iB,EAAE6iB,aAAtL,EAAoMh2C,EAAEqyC,SAAF,GAAY7zC,EAAE6zC,SAAlN,CAA4N,IAAItkC,IAAE/N,CAAN,CAAQA,EAAE02C,iBAAF,GAAoB,UAASl4C,CAAT,EAAW;AAACuP,YAAEskC,SAAF,GAAY7zC,CAAZ;AAAc,SAA9C,EAA+CwB,EAAEoY,KAAF,CAAQ5b,EAAR,CAAW,iBAAX,EAA6BwD,EAAE02C,iBAA/B,CAA/C,CAAiG,IAAI73C,IAAE,KAAK,CAAX,CAAa,IAAGmB,EAAEwyC,MAAF,GAASh0C,EAAEg0C,MAAX,EAAkBrf,EAAEr2B,EAAF,IAAM,MAAIq2B,EAAEr2B,EAAF,CAAKorB,QAApC,EAA6C;AAACrpB,cAAEmB,EAAEwyC,MAAF,CAASmE,GAAT,EAAF,CAAiB,IAAIpjB,IAAEr1B,EAAEg1B,OAAF,CAAUl3B,OAAV,CAAkBm3B,EAAEr2B,EAApB,CAAN,CAA8Bq2B,EAAEyjB,cAAF,IAAkBzjB,EAAEyjB,cAAF,CAAiB94C,MAAjB,GAAwB,CAA1C,IAA6Cq1B,EAAEyjB,cAAF,CAAiBnnC,OAAjB,CAA0B,UAASjR,CAAT,EAAW;AAAC+0B,cAAEnG,gBAAF,CAAmB5uB,EAAE5C,KAArB,EAA2B4C,EAAE8O,QAA7B,EAAsC9O,EAAEq4C,UAAF,IAAc,CAAC,CAArD;AAAwD,WAA9F,CAA7C,EAA8Ih4C,EAAEyc,WAAF,CAAciY,CAAd,CAA9I;AAA+J,SAA5P,MAAgQ,CAAC10B,IAAEmB,EAAEwyC,MAAF,CAASmE,GAAT,EAAH,EAAmBG,WAAnB,GAA+B3jB,EAAE6f,GAAjC,CAAqC,IAAG7f,EAAEjyB,KAAL,EAAW;AAAC,cAAI0M,IAAEulB,EAAEjyB,KAAR,CAAc9D,OAAOkS,IAAP,CAAY1B,CAAZ,EAAe6B,OAAf,CAAwB,UAASjR,CAAT,EAAW;AAACN,cAAEg1B,OAAF,CAAUhyB,KAAV,CAAgBrC,CAAhB,EAAkBL,CAAlB,EAAoBoP,EAAEpP,CAAF,CAApB;AAA0B,WAA9D;AAAiE,mBAAQ20B,EAAEjhB,IAAV,IAAgB,aAAWihB,EAAEjhB,IAA7B,GAAkClS,EAAEkS,IAAF,GAAOihB,EAAEjhB,IAA3C,GAAgDlS,EAAEkS,IAAF,GAAO,QAAvD,EAAgElS,EAAElD,EAAF,GAAK+B,CAArE,EAAuEs0B,EAAE+f,IAAF,IAAQ/f,EAAE+f,IAAF,CAAOp2C,EAAf,IAAmBkD,EAAE2zC,UAAF,CAAaxgB,EAAE+f,IAAF,CAAOp2C,EAApB,EAAuBq2B,EAAE+f,IAAF,CAAOhyC,KAA9B,CAA1F,EAA+HlB,EAAE6L,MAAF,GAAS,SAAxI,CAAkJ,IAAIgoB,IAAE7zB,EAAEoT,SAAF,CAAY6Q,qBAAZ,EAAN;AAAA,YAA0C3V,IAAEtQ,KAAKk6B,KAAL,CAAWl6B,KAAKi4B,MAAL,MAAepC,EAAEv0B,KAAF,GAAQ,EAAR,GAAW,GAAX,GAAe,GAAf,GAAmBu0B,EAAEv0B,KAAF,GAAQ,EAA1C,CAAX,CAA5C,CAAsG6zB,EAAEigB,QAAF,KAAa9kC,IAAE,CAAf,EAAkB,IAAIuN,IAAEgY,EAAEv0B,KAAF,GAAQgP,CAAR,GAAU,IAAhB,CAAqB,OAAOpQ,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgBlB,EAAElD,EAAlB,EAAqB,MAArB,EAA4B+e,CAA5B,GAA+B7b,EAAEu1C,YAAF,GAAe1hB,CAA9C,EAAgD7zB,CAAvD;AAAyD,cAAO,UAASxB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAG,cAAY,OAAOA,CAAnB,IAAsB,SAAOA,CAAhC,EAAkC,MAAM,IAAItjB,SAAJ,CAAc,qEAAkEsjB,CAAlE,yCAAkEA,CAAlE,EAAd,CAAN,CAAyFx0B,EAAEgO,SAAF,GAAYpP,OAAOsP,MAAP,CAAcsmB,KAAGA,EAAExmB,SAAnB,EAA6B,EAACyC,aAAY,EAAC3R,OAAMkB,CAAP,EAASuO,YAAW,CAAC,CAArB,EAAuBC,UAAS,CAAC,CAAjC,EAAmCF,cAAa,CAAC,CAAjD,EAAb,EAA7B,CAAZ,EAA4GkmB,MAAI51B,OAAOqjC,cAAP,GAAsBrjC,OAAOqjC,cAAP,CAAsBjiC,CAAtB,EAAwBw0B,CAAxB,CAAtB,GAAiDx0B,EAAEkiC,SAAF,GAAY1N,CAAjE,CAA5G;AAAgL,OAAzT,CAA0TA,CAA1T,EAA4Tx0B,CAA5T,GAA+TwB,EAAEgzB,CAAF,EAAI,CAAC,EAAC31B,KAAI,QAAL,EAAcC,OAAM,iBAAU;AAAC,cAAG,KAAK8V,SAAL,CAAekI,WAAf,CAA2B,KAAKxe,EAAhC,GAAoC,KAAKi6C,KAAL,GAAW,KAAKj6C,EAAL,CAAQmnB,qBAAR,EAA/C,EAA+E,UAAQ,KAAKouB,SAAb,IAAwB,KAAK/yC,KAAL,GAAW,KAAKy3C,KAAL,CAAWr3C,MAAtB,EAA6B,KAAKA,MAAL,GAAY,KAAKq3C,KAAL,CAAWz3C,KAA5E,KAAoF,KAAKA,KAAL,GAAW,KAAKy3C,KAAL,CAAWz3C,KAAtB,EAA4B,KAAKI,MAAL,GAAY,KAAKq3C,KAAL,CAAWr3C,MAAvI,CAA/E,EAA8N,KAAK+2C,KAAtO,EAA4O;AAAC,gBAAIj4C,IAAE,KAAK+2C,YAAX,CAAwB,KAAKrhC,QAAL,GAAc,CAAC1V,EAAEc,KAAF,GAAQ,KAAKA,KAAd,IAAqB,KAAKm3C,KAA1B,GAAgC,GAA9C;AAAkD,gBAAKr+B,KAAL,CAAW8F,MAAX,IAAmB,KAAK9F,KAAL,CAAW8F,MAAX,CAAkB01B,YAArC,KAAoD,KAAKoD,mBAAL,GAAyB,KAAKC,YAAL,CAAkBz9B,IAAlB,CAAuB,IAAvB,CAAzB,EAAsD,KAAK1c,EAAL,CAAQswB,gBAAR,CAAyB,WAAzB,EAAqC,KAAK4pB,mBAA1C,EAA8D,CAAC,CAA/D,CAA1G,GAA6K,KAAK5+B,KAAL,CAAW8F,MAAX,IAAmB,KAAK9F,KAAL,CAAW8F,MAAX,CAAkBg5B,iBAArC,KAAyD,KAAKC,oBAAL,GAA0B,KAAKF,YAAL,CAAkBz9B,IAAlB,CAAuB,IAAvB,CAA1B,EAAuD,KAAK1c,EAAL,CAAQswB,gBAAR,CAAyB,YAAzB,EAAsC,KAAK+pB,oBAA3C,EAAgE,CAAC,CAAjE,CAAhH,CAA7K;AAAkW,SAAxrB,EAAD,EAA2rB,EAAC95C,KAAI,cAAL,EAAoBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAK4Z,KAAL,IAAY,KAAKA,KAAL,CAAWw7B,YAAvB,IAAqC,KAAKx7B,KAAL,CAAW8F,MAAX,CAAkBk5B,iBAAvD,IAA0E,cAAY,KAAKvrC,MAA3F,IAAmG,UAAQ,KAAKA,MAAhH,IAAwH,KAAKuM,KAAL,IAAY,KAAKA,KAAL,CAAWlL,IAAX,CAAgB,cAAhB,EAA+B,EAAC6nC,QAAO,IAAR,EAAan5C,OAAM4C,CAAnB,EAA/B,CAApI;AAA0L,SAAhO,EAA3rB,EAA65B,EAACnB,KAAI,QAAL,EAAcC,OAAM,iBAAU;AAAC,eAAKR,EAAL,KAAU,KAAKsb,KAAL,CAAW8F,MAAX,IAAmB,KAAK9F,KAAL,CAAW8F,MAAX,CAAkB01B,YAArC,IAAmD,KAAK92C,EAAL,CAAQywB,mBAAR,CAA4B,WAA5B,EAAwC,KAAKypB,mBAA7C,EAAiE,CAAC,CAAlE,CAAnD,EAAwH,KAAK5+B,KAAL,CAAW8F,MAAX,IAAmB,KAAK9F,KAAL,CAAW8F,MAAX,CAAkBg5B,iBAArC,IAAwD,KAAKp6C,EAAL,CAAQywB,mBAAR,CAA4B,YAA5B,EAAyC,KAAK4pB,oBAA9C,EAAmE,CAAC,CAApE,CAAhL,EAAuP,KAAKr6C,EAAL,CAAQslB,UAAR,IAAoB,KAAKtlB,EAAL,CAAQslB,UAAR,CAAmB5G,WAAnB,CAA+B,KAAK1e,EAApC,CAA3Q,EAAmT,KAAK01C,MAAL,CAAY6E,KAAZ,CAAkB,KAAKv6C,EAAvB,CAAnT,EAA8U,KAAKA,EAAL,GAAQ,IAAhW,GAAsW,KAAKsb,KAAL,CAAWnL,GAAX,CAAe,iBAAf,EAAiC,KAAKypC,iBAAtC,CAAtW;AAA+Z,SAA9b,EAA75B,EAA61C,EAACr5C,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,cAAG,KAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,eAAa,KAAK3nC,OAAL,CAAayoC,GAAb,IAAkB,eAA/B,IAAgD,GAAjE,CAAb,EAAmF,UAAQ,KAAKX,SAAnG,EAA6G;AAAC,gBAAI7zC,IAAE,KAAK+2C,YAAX,CAAwBr3C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,iBAAxB,EAA0C,UAA1C,GAAsDoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,WAAxB,EAAoC,iBAAe,KAAKglB,GAApB,GAAwB,iBAAxB,GAA0CtjB,EAAEkB,MAA5C,GAAmD,mCAAvF,CAAtD,EAAkLxB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,wBAArC,CAAlL;AAAiP,WAAvX,MAA4XoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,KAAxB,EAA8B,KAAKglB,GAAL,GAAS,IAAvC;AAA6C,SAAzc,EAA71C,EAAwyD,EAACzkB,KAAI,WAAL,EAAiBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAEnuB,UAAU/G,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS+G,UAAU,CAAV,CAA7B,IAA2CA,UAAU,CAAV,CAAjD,CAA8D,KAAKmtC,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,iBAAe,KAAK3nC,OAAL,CAAayoC,GAAb,IAAkB,eAAjC,IAAkD,GAAnE,CAAb,CAAqF,IAAI7f,IAAE,IAAN,CAAW,IAAG,aAAW,KAAKtnB,MAAhB,KAAyB,kBAAgBsnB,EAAEtnB,MAAlB,KAA2B,KAAKA,MAAL,GAAY,QAAvC,GAAiDlE,aAAawrB,EAAEmkB,WAAf,CAAjD,EAA6E,KAAKx6C,EAA3G,CAAH,EAAkH,IAAGoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,MAArC,GAA6C,aAAW,KAAKoV,IAAhE,EAAqE;AAAC,gBAAG8gB,CAAH,EAAK;AAAC,kBAAIhzB,IAAE,CAAE,IAAIu3C,IAAJ,EAAD,CAAWC,OAAX,KAAqBrkB,EAAEskB,QAAxB,IAAkC,GAAxC;AAAA,kBAA4C1pC,IAAE/N,IAAE,KAAKy2C,KAArD;AAAA,kBAA2D53C,IAAE,CAA7D,CAA+DA,IAAEs0B,EAAEukB,SAAF,GAAY3pC,CAAZ,IAAe,CAAf,GAAiB,UAAQ,KAAKskC,SAAb,GAAuB,CAAClf,EAAEukB,SAAF,GAAY3pC,CAAb,IAAgBolB,EAAEwkB,mBAAlB,GAAsCn5C,EAAEkB,MAA/D,GAAsE,CAACyzB,EAAEukB,SAAF,GAAY3pC,CAAb,IAAgBolB,EAAEykB,kBAAlB,GAAqCp5C,EAAEc,KAA9H,GAAoI6zB,EAAEukB,SAAF,GAAY3pC,CAAlJ,EAAoJ,UAAQ,KAAKskC,SAAb,GAAuBn0C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,WAAxB,EAAoC,iBAAe,KAAKglB,GAApB,GAAwB,iBAAxB,GAA0CjjB,CAA1C,GAA4C,mCAAhF,CAAvB,GAA4IX,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,MAAxB,EAA+B+B,IAAE,IAAjC,CAAhS;AAAuU,aAA5Y,MAAgZ,UAAQ,KAAKwzC,SAAb,GAAuBn0C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,WAAxB,EAAoC,iBAAe,KAAKglB,GAApB,GAAwB,iBAAxB,IAA2C,KAAKhlB,EAAL,CAAQmnB,qBAAR,GAAgCnC,GAAhC,GAAoCtjB,EAAEsjB,GAAjF,IAAsF,mCAA1H,CAAvB,GAAsL5jB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,MAAxB,EAA+B,KAAKA,EAAL,CAAQmnB,qBAAR,GAAgCjP,IAAhC,GAAqCxW,EAAEwW,IAAvC,GAA4C,IAA3E,CAAtL,CAAuQ,UAAQ,KAAKq9B,SAAb,IAAwBn0C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,WAAxB,EAAoC,iDAApC,CAAxB,EAA+GoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,wBAArC,CAA/G;AAA8K,WAA34B,MAAg5B,KAAK+6C,YAAL,IAAmB,KAAKC,SAAxB,GAAkC,KAAKD,YAAL,GAAkB,KAAKA,YAAL,GAAmB,IAAIN,IAAJ,EAAD,CAAWC,OAAX,EAAlB,GAAuC,KAAKM,SAAhG,GAA0G,KAAKD,YAAL,GAAkB,CAA5H;AAA8H,SAAj0C,EAAxyD,EAA2mG,EAACx6C,KAAI,WAAL,EAAiBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,eAAKgf,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,iBAAe,KAAK3nC,OAAL,CAAayoC,GAAb,IAAkB,eAAjC,IAAkD,GAAnE,CAAb,CAAqF,IAAI7f,IAAE,IAAN,CAAW,IAAGA,EAAE4kB,OAAF,KAAY5kB,EAAE/a,KAAF,CAAQlL,IAAR,CAAa,cAAb,EAA4BimB,CAA5B,GAA+BA,EAAE4kB,OAAF,GAAU,CAAC,CAAtD,GAAyD,CAAC,kBAAgB5kB,EAAEtnB,MAAlB,IAA0BmnB,CAA3B,KAA+B,KAAKl2B,EAApC,IAAwC,YAAU,KAAK+O,MAAnH,EAA0H,IAAG,KAAKA,MAAL,GAAY,OAAZ,EAAoB3N,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,WAArC,CAApB,EAAsE,aAAW,KAAKoV,IAAzF;AAA8F,gBAAG,UAAQ,KAAKmgC,SAAhB,EAA0B;AAAC,mBAAKoE,KAAL,GAAW,CAACj4C,EAAEkB,MAAF,GAAS,KAAKA,MAAf,IAAuB,KAAKwU,QAA5B,GAAqC,GAAhD,CAAoD,IAAIlU,IAAE,CAACmzB,EAAEr2B,EAAF,CAAKmnB,qBAAL,GAA6B0O,MAA7B,GAAoCn0B,EAAEsjB,GAAvC,IAA4C,KAAK20B,KAAvD,CAA6Dv4C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,eAAakD,CAAb,GAAe,aAApD,GAAmE,KAAKg4C,cAAL,GAAoBxwC,WAAY,YAAU;AAAC2rB,kBAAEr2B,EAAF,KAAOoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgBiyB,EAAEr2B,EAAlB,EAAqB,WAArB,EAAiC,iBAAeq2B,EAAErR,GAAjB,GAAqB,kBAArB,GAAwCqR,EAAEzzB,MAA1C,GAAiD,mCAAlF,GAAuHyzB,EAAEskB,QAAF,GAAY,IAAIF,IAAJ,EAAD,CAAWC,OAAX,EAAlI,EAAuJrkB,EAAEukB,SAAF,GAAYvkB,EAAEr2B,EAAF,CAAKmnB,qBAAL,GAA6BnC,GAA7B,GAAiCtjB,EAAEsjB,GAAtM,EAA0MqR,EAAEwkB,mBAAF,GAAsBn5C,EAAEkB,MAAlO,EAAyOyzB,EAAEmkB,WAAF,GAAc9vC,WAAWoG,CAAX,EAAa,MAAI5N,CAAjB,CAA9P;AAAmR,eAA1S,EAA4S,EAA5S,CAAvF;AAAuY,aAAnhB,MAAuhB;AAAC,kBAAI+N,IAAE,KAAKjR,EAAL,CAAQmnB,qBAAR,EAAN,CAAsC,KAAKwyB,KAAL,GAAW,CAACj4C,EAAEc,KAAF,GAAQ,KAAKA,KAAd,IAAqB,KAAK4U,QAA1B,GAAmC,GAA9C,CAAkD,IAAIrV,IAAE,CAACkP,EAAEu/B,KAAF,GAAQ9uC,EAAEwW,IAAX,IAAiB,KAAKyhC,KAA5B,CAAkCv4C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,eAAa+B,CAAb,GAAe,aAApD,GAAmE,KAAKm5C,cAAL,GAAoBxwC,WAAY,YAAU;AAAC,oBAAG2rB,EAAEr2B,EAAL,EAAQ;AAAC,sBAAIk2B,IAAEG,EAAEr2B,EAAF,CAAKmnB,qBAAL,EAAN;AAAA,sBAAmCjkB,IAAE,CAACgzB,EAAEsa,KAAF,GAAQ9uC,EAAEwW,IAAX,IAAiBnW,CAAtD,CAAwDm0B,EAAEsa,KAAF,GAAQ9uC,EAAEwW,IAAV,IAAgBhV,IAAEmzB,EAAEsjB,KAAF,GAAQ,CAA1B,IAA6Bz2C,IAAEmzB,EAAEsjB,KAAF,GAAQ,CAAvC,IAA0Cv4C,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgBiyB,EAAEr2B,EAAlB,EAAqB,WAArB,EAAiC,kBAAgBk2B,EAAEsa,KAAF,GAAQ9uC,EAAEwW,IAA1B,IAAgC,qCAAjE,GAAwGme,EAAEskB,QAAF,GAAY,IAAIF,IAAJ,EAAD,CAAWC,OAAX,EAAnH,EAAwIrkB,EAAEukB,SAAF,GAAY1kB,EAAEhe,IAAF,GAAOxW,EAAEwW,IAA7J,EAAkKme,EAAEykB,kBAAF,GAAqBp5C,EAAEc,KAAzL,EAA+L6zB,EAAEmkB,WAAF,GAAc9vC,WAAWoG,CAAX,EAAa,MAAI/O,CAAjB,CAAvP,KAA6Qs0B,EAAEtnB,MAAF,GAAS,KAAT,EAAesnB,EAAExN,MAAF,EAA5R;AAAwS;AAAC,eAAjY,EAAmY,CAAnY,CAAvF;AAA6d;AAA7sC,iBAAitC;AAACznB,cAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,MAAxB,EAA+B,KAA/B,GAAsCoB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,QAAxB,EAAiC,YAAU,KAAKwC,KAAL,GAAW,CAArB,GAAuB,IAAxD,CAAtC,EAAoG,KAAKu4C,YAAL,KAAoB,KAAKA,YAAL,GAAkB,CAAtC,CAApG,CAA6I,IAAItkB,IAAE,KAAKrf,QAAL,IAAe,KAAK2jC,YAApB,GAAiC,KAAK3jC,QAAL,GAAc,KAAK2jC,YAApD,GAAiE,CAAvE,CAAyE,KAAKP,WAAL,GAAiB9vC,WAAWoG,CAAX,EAAa2lB,CAAb,CAAjB,EAAiC,KAAKukB,SAAL,GAAgB,IAAIP,IAAJ,EAAD,CAAWC,OAAX,EAAhD;AAAqE,oBAAS5pC,CAAT,GAAY;AAAC,gBAAGulB,EAAEr2B,EAAL,EAAQ,IAAG,aAAWq2B,EAAEjhB,IAAhB,EAAqB;AAAC,kBAAI1T,IAAE20B,EAAEoiB,YAAR;AAAA,kBAAqBviB,IAAEG,EAAEr2B,EAAF,CAAKmnB,qBAAL,EAAvB,CAAoD,UAAQkP,EAAEkf,SAAV,GAAoBrf,KAAGA,EAAEL,MAAF,IAAUn0B,EAAEsjB,GAAF,GAAM,GAAnB,IAAwBqR,EAAEtnB,MAAF,GAAS,KAAT,EAAesnB,EAAExN,MAAF,EAAvC,KAAoDwN,EAAEsgB,SAAF,CAAYj1C,CAAZ,GAAe,aAAW20B,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0CsnB,EAAEugB,SAAF,CAAYl1C,CAAZ,CAA7G,CAApB,GAAiJw0B,KAAGA,EAAEsa,KAAF,IAAS9uC,EAAEwW,IAAF,GAAO,GAAnB,IAAwBme,EAAEtnB,MAAF,GAAS,KAAT,EAAesnB,EAAExN,MAAF,EAAvC,KAAoDwN,EAAEsgB,SAAF,CAAYj1C,CAAZ,GAAe,aAAW20B,EAAE/a,KAAF,CAAQs6B,SAAR,CAAkBG,IAAlB,CAAuBhnC,MAAlC,IAA0CsnB,EAAEugB,SAAF,CAAYl1C,CAAZ,CAA7G,CAAjJ;AAA8Q,aAAxV,MAA6V20B,EAAEtnB,MAAF,GAAS,KAAT,EAAesnB,EAAExN,MAAF,EAAf;AAA0B;AAAC,SAAznE,EAA3mG,EAAsuK,EAACtoB,KAAI,QAAL,EAAcC,OAAM,iBAAU;AAAC,eAAK00C,MAAL,IAAa,KAAKA,MAAL,CAAYE,IAAZ,CAAiB,cAAY,KAAK3nC,OAAL,CAAayoC,GAAb,IAAkB,eAA9B,IAA+C,GAAhE,CAAb,CAAkF,KAAKsE,WAAL,IAAkB3vC,aAAa,KAAK2vC,WAAlB,CAAlB,EAAiD,KAAKU,cAAL,IAAqBrwC,aAAa,KAAKqwC,cAAlB,CAAtE,EAAwG,KAAKl7C,EAAL,IAAS,KAAKA,EAAL,CAAQslB,UAAjB,KAA8BlkB,EAAEg1B,OAAF,CAAUhyB,KAAV,CAAgB,KAAKpE,EAArB,EAAwB,YAAxB,EAAqC,MAArC,GAA6C,KAAK04C,MAAL,EAA7C,EAA2D,KAAKp9B,KAAL,CAAWlL,IAAX,CAAgB,eAAhB,EAAgC,EAAC6nC,QAAO,IAAR,EAAhC,CAAzF,CAAxG;AAAiP,SAAlW,EAAtuK,EAA0kL,EAAC13C,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAK1B,EAAL,KAAU,KAAKA,EAAL,CAAQoE,KAAR,CAAcmsC,QAAd,GAAuB7uC,CAAjC;AAAoC,SAAzE,EAA1kL,EAAqpL,EAACnB,KAAI,YAAL,EAAkBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAGx0B,CAAH,EAAK;AAACpB,mBAAOkS,IAAP,CAAY0jB,CAAZ,EAAevjB,OAAf,CAAwB,UAAS0jB,CAAT,EAAW;AAAC30B,gBAAE0C,KAAF,CAAQiyB,CAAR,IAAWH,EAAEG,CAAF,CAAX;AAAgB,aAApD,EAAuD,IAAG30B,EAAEhB,SAAF,GAAY,YAAZ,EAAyB,KAAKV,EAAjC,EAAoC;AAAC,kBAAIq2B,IAAE,KAAKr2B,EAAL,CAAQ8iB,aAAR,CAAsB,aAAtB,CAAN,CAA2CuT,KAAG,KAAKr2B,EAAL,CAAQ0e,WAAR,CAAoB2X,CAApB,CAAH,EAA0B,KAAKr2B,EAAL,CAAQqe,SAAR,GAAkB,KAAG,KAAKre,EAAL,CAAQqe,SAAX,GAAqB3c,EAAEy5C,SAAnE;AAA6E;AAAC,kBAAOz5C,CAAP;AAAS,SAA1Q,EAArpL,CAAJ,CAA/T,EAAsuMw0B,CAA7uM;AAA+uM,KAA5nP,CAA6nPjlB,EAAEmlB,OAA/nP,CAAN,CAA8oPF,EAAEE,OAAF,GAAUK,CAAV,EAAY/0B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA357C,EAA457C,UAAS10B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,CAAJ;AAAA,QAAM+N,IAAE,YAAU;AAAC,eAASvP,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAR;AAAA,QAA2P90B,IAAEi1B,EAAE,CAAF,CAA7P;AAAA,QAAkQt0B,IAAE,CAACmB,IAAE9B,CAAH,KAAO8B,EAAEizB,UAAT,GAAoBjzB,CAApB,GAAsB,EAACkzB,SAAQlzB,CAAT,EAA1R,CAAsS,IAAIuzB,IAAE,YAAU;AAAC,eAAS/0B,CAAT,CAAWw0B,CAAX,EAAa;AAAC,SAAC,UAASx0B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGlR,CAAlG,CAAD,EAAsGw0B,IAAE,EAACklB,SAAQ,mBAAU;AAAC,mBAAO/6C,SAAS6b,aAAT,CAAuB,KAAvB,CAAP;AAAqC,WAAzD,EAA0Dm/B,UAAS,EAAnE,EAAxG,EAA+K,KAAKhD,IAAL,CAAUniB,CAAV,CAA/K;AAA4L,cAAOjlB,EAAEvP,CAAF,EAAI,CAAC,EAACnB,KAAI,MAAL,EAAYC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAK45C,QAAL,GAAc,EAAd,EAAiB,KAAKC,SAAL,GAAe,EAAhC,EAAmC,KAAKC,GAAL,GAAS,CAA5C,EAA8C,KAAK/tC,OAAL,GAAa/L,CAA3D,EAA6D,KAAK+5C,OAAL,CAAa/5C,EAAE25C,QAAf,CAA7D;AAAsF,SAApH,EAAD,EAAuH,EAAC96C,KAAI,KAAL,EAAWC,OAAM,iBAAU;AAAC,eAAK86C,QAAL,CAAct6C,MAAd,IAAsB,KAAKy6C,OAAL,CAAa,CAAb,CAAtB,CAAsC,IAAI/5C,IAAE,KAAK45C,QAAL,CAAcI,KAAd,EAAN,CAA4B,OAAO,KAAKH,SAAL,CAAe91C,IAAf,CAAoB/D,CAApB,GAAuBA,CAA9B;AAAgC,SAA9H,EAAvH,EAAuP,EAACnB,KAAI,OAAL,EAAaC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,KAAKqlB,SAAL,CAAetoC,OAAf,CAAuBvR,CAAvB,CAAN,CAAgCw0B,IAAE,CAAF,KAAM,KAAKqlB,SAAL,CAAe1qC,MAAf,CAAsBqlB,CAAtB,EAAwB,CAAxB,GAA2Bx0B,EAAE2c,SAAF,GAAY,EAAvC,EAA0C3c,EAAEi6C,WAAF,GAAc,EAAxD,EAA2D,KAAKC,iBAAL,CAAuBl6C,CAAvB,CAA3D,EAAqF,KAAK45C,QAAL,CAAc71C,IAAd,CAAmB/D,CAAnB,CAA3F;AAAkH,SAAjL,EAAvP,EAA0a,EAACnB,KAAI,SAAL,EAAeC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAI,IAAIw0B,IAAE,CAAV,EAAYA,IAAEx0B,CAAd,EAAgBw0B,GAAhB;AAAoB,iBAAKolB,QAAL,CAAc71C,IAAd,CAAmB,KAAKgI,OAAL,CAAa2tC,OAAb,CAAqB,KAAKI,GAAL,EAArB,CAAnB;AAApB;AAAyE,SAA1G,EAA1a,EAAshB,EAACj7C,KAAI,SAAL,EAAeC,OAAM,iBAAU;AAAC,eAAI,IAAIkB,IAAE,CAAV,EAAYA,IAAE,KAAK45C,QAAL,CAAct6C,MAA5B,EAAmCU,GAAnC;AAAuC,iBAAK45C,QAAL,CAAc55C,CAAd,EAAiB2c,SAAjB,GAA2B,EAA3B,EAA8B,KAAKi9B,QAAL,CAAc55C,CAAd,EAAiBi6C,WAAjB,GAA6B,EAA3D,EAA8D,KAAKC,iBAAL,CAAuB,KAAKN,QAAL,CAAc55C,CAAd,CAAvB,CAA9D;AAAvC,WAA8I,KAAI,IAAIw0B,IAAE,CAAV,EAAYA,IAAE,KAAKqlB,SAAL,CAAev6C,MAA7B,EAAoCk1B,GAApC;AAAwC,iBAAKqlB,SAAL,CAAerlB,CAAf,EAAkB7X,SAAlB,GAA4B,EAA5B,EAA+B,KAAKk9B,SAAL,CAAerlB,CAAf,EAAkBylB,WAAlB,GAA8B,EAA7D,EAAgE,KAAKC,iBAAL,CAAuB,KAAKL,SAAL,CAAerlB,CAAf,CAAvB,CAAhE;AAAxC,WAAkJ,KAAI,IAAIG,CAAR,IAAa,IAAb;AAAkB,mBAAO,KAAKA,CAAL,CAAP;AAAlB;AAAiC,SAAjW,EAAthB,EAAy3B,EAAC91B,KAAI,mBAAL,EAAyBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,eAAa,OAAO70B,MAApB,GAA2BA,OAAO8G,SAAP,CAAiB0W,SAA5C,GAAsD,IAA5D,CAAiEqX,MAAIA,EAAEjjB,OAAF,CAAU,OAAV,IAAmB,CAAC,CAApB,IAAuBijB,EAAEjjB,OAAF,CAAU,UAAV,IAAsB,CAAC,CAA9C,GAAgDlR,EAAEq0B,OAAF,CAAUhyB,KAAV,CAAgB1C,CAAhB,EAAkB,WAAlB,EAA8B,MAA9B,CAAhD,GAAsFA,EAAE0c,YAAF,CAAe,OAAf,EAAuB,EAAvB,CAA1F;AAAsH,SAAlO,EAAz3B,CAAJ,GAAmmC1c,CAA1mC;AAA4mC,KAAj0C,EAAN,CAA00Cw0B,EAAEE,OAAF,GAAUK,CAAV,EAAY/0B,EAAEmD,OAAF,GAAUqxB,EAAEE,OAAxB;AAAgC,GAA1n/C,EAA2n/C,UAAS10B,CAAT,EAAW;AAACA,MAAEmD,OAAF,GAAU0B,KAAKY,KAAL,CAAW,sBAAX,CAAV;AAA6C,GAApr/C,EAAqr/C,UAASzF,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC;AAAa/1B,WAAOuP,cAAP,CAAsBqmB,CAAtB,EAAwB,YAAxB,EAAqC,EAAC11B,OAAM,CAAC,CAAR,EAArC,EAAiD,IAAI0C,IAAE,YAAU;AAAC,eAASxB,CAAT,CAAWA,CAAX,EAAaw0B,CAAb,EAAe;AAAC,aAAI,IAAIG,IAAE,CAAV,EAAYA,IAAEH,EAAEl1B,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,cAAInzB,IAAEgzB,EAAEG,CAAF,CAAN,CAAWnzB,EAAE+M,UAAF,GAAa/M,EAAE+M,UAAF,IAAc,CAAC,CAA5B,EAA8B/M,EAAE8M,YAAF,GAAe,CAAC,CAA9C,EAAgD,WAAU9M,CAAV,KAAcA,EAAEgN,QAAF,GAAW,CAAC,CAA1B,CAAhD,EAA6E5P,OAAOuP,cAAP,CAAsBnO,CAAtB,EAAwBwB,EAAE3C,GAA1B,EAA8B2C,CAA9B,CAA7E;AAA8G;AAAC,cAAO,UAASgzB,CAAT,EAAWG,CAAX,EAAanzB,CAAb,EAAe;AAAC,eAAOmzB,KAAG30B,EAAEw0B,EAAExmB,SAAJ,EAAc2mB,CAAd,CAAH,EAAoBnzB,KAAGxB,EAAEw0B,CAAF,EAAIhzB,CAAJ,CAAvB,EAA8BgzB,CAArC;AAAuC,OAA9D;AAA+D,KAAhP,EAAN,CAAyP,IAAIjlB,IAAE,KAAI,YAAU;AAAC,eAASvP,CAAT,GAAY;AAAC,YAAIw0B,IAAE,IAAN,CAAW,IAAG,UAASx0B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,EAAEx0B,aAAaw0B,CAAf,CAAH,EAAqB,MAAM,IAAItjB,SAAJ,CAAc,mCAAd,CAAN;AAAyD,SAA5F,CAA6F,IAA7F,EAAkGlR,CAAlG,GAAqG,KAAKyrC,UAAL,GAAgB,EAArH,EAAwH9rC,OAAO+rC,cAAlI,EAAiJ,IAAG;AAAC,eAAKC,QAAL,GAAc,IAAIhsC,OAAO+rC,cAAX,CAA2B,UAAS1rC,CAAT,EAAW;AAAC,gBAAI20B,IAAG,IAAIokB,IAAJ,EAAD,CAAWC,OAAX,EAAN,CAA2BrkB,IAAEH,EAAE2lB,UAAJ,GAAe,GAAf,KAAqB3lB,EAAE2lB,UAAF,GAAaxlB,CAAb,EAAeH,EAAEoX,SAAF,CAAY5rC,CAAZ,CAApC;AAAoD,WAAtH,CAAd,EAAuI,KAAKm6C,UAAL,GAAiB,IAAIpB,IAAJ,EAAD,CAAWC,OAAX,EAAvJ;AAA4K,SAAhL,CAAgL,OAAMh5C,CAAN,EAAQ,CAAE;AAAC,cAAOwB,EAAExB,CAAF,EAAI,CAAC,EAACnB,KAAI,aAAL,EAAmBC,OAAM,eAASkB,CAAT,EAAWw0B,CAAX,EAAa;AAAC,cAAG,KAAKmX,QAAR,EAAiB;AAAC,iBAAKA,QAAL,IAAe,KAAKA,QAAL,CAAc3E,OAAd,CAAsBhnC,CAAtB,CAAf,CAAwC,KAAI,IAAI20B,IAAE,KAAK8W,UAAX,EAAsBjqC,IAAE,CAAC,CAAzB,EAA2B+N,IAAE,CAAjC,EAAmCA,IAAEolB,EAAEr1B,MAAvC,EAA8CiQ,GAA9C;AAAkDolB,gBAAEplB,CAAF,KAAMvP,MAAI20B,EAAEplB,CAAF,EAAKkM,MAAf,KAAwBja,IAAE+N,CAA1B;AAAlD,aAA+E/N,IAAE,CAAC,CAAH,GAAK,KAAKiqC,UAAL,CAAgBjqC,CAAhB,EAAmBqqC,OAAnB,CAA2B9nC,IAA3B,CAAgCywB,CAAhC,CAAL,GAAwC,KAAKiX,UAAL,CAAgB1nC,IAAhB,CAAqB,EAAC0X,QAAOzb,CAAR,EAAU6rC,SAAQ,CAACrX,CAAD,CAAlB,EAArB,CAAxC;AAAqF;AAAC,SAAtQ,EAAD,EAAyQ,EAAC31B,KAAI,YAAL,EAAkBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,CAAC,CAAP,CAAS,KAAKiX,UAAL,CAAgBloC,GAAhB,CAAqB,UAASoxB,CAAT,EAAWnzB,CAAX,EAAa;AAACxB,kBAAI20B,EAAElZ,MAAN,KAAe+Y,IAAEhzB,CAAjB;AAAoB,WAAvD,GAA0D,KAAKmqC,QAAL,IAAe,KAAKA,QAAL,CAAcG,SAAd,CAAwB9rC,CAAxB,CAAzE,EAAoGw0B,IAAE,CAAC,CAAH,IAAM,KAAKiX,UAAL,CAAgBt8B,MAAhB,CAAuBqlB,CAAvB,EAAyB,CAAzB,CAA1G;AAAsI,SAAnL,EAAzQ,EAA8b,EAAC31B,KAAI,iBAAL,EAAuBC,OAAM,iBAAU;AAAC,eAAK6sC,QAAL,IAAe,KAAKA,QAAL,CAAcI,UAAd,EAAf,EAA0C,KAAKJ,QAAL,GAAc,IAAxD,EAA6D,KAAKF,UAAL,GAAgB,IAA7E;AAAkF,SAA1H,EAA9b,EAA0jB,EAAC5sC,KAAI,cAAL,EAAoBC,OAAM,eAASkB,CAAT,EAAW;AAAC,eAAI,IAAIw0B,IAAE,KAAKiX,UAAX,EAAsB9W,IAAE,CAA5B,EAA8BA,IAAEH,EAAEl1B,MAAlC,EAAyCq1B,GAAzC;AAA6C,gBAAGH,EAAEG,CAAF,KAAM30B,MAAIw0B,EAAEG,CAAF,EAAKlZ,MAAlB,EAAyB;AAAC+Y,gBAAEG,CAAF,EAAKkX,OAAL,IAAcrX,EAAEG,CAAF,EAAKkX,OAAL,CAAatoC,GAAb,CAAkB,UAASvD,CAAT,EAAW;AAAC,oBAAG;AAACA;AAAI,iBAAR,CAAQ,OAAMA,CAAN,EAAQ;AAACmI,0BAAQoI,KAAR,CAAcvQ,CAAd;AAAiB;AAAC,eAAjE,CAAd,CAAkF;AAAM;AAA/J;AAAgK,SAAtM,EAA1jB,EAAkwB,EAACnB,KAAI,WAAL,EAAiBC,OAAM,eAASkB,CAAT,EAAW;AAAC,cAAIw0B,IAAE,IAAN,CAAWx0B,EAAEuD,GAAF,CAAO,UAASvD,CAAT,EAAW;AAACw0B,cAAEyX,YAAF,CAAejsC,EAAEyb,MAAjB;AAAyB,WAA5C;AAA+C,SAA7F,EAAlwB,CAAJ,GAAu2Bzb,CAA92B;AAAg3B,KAA/tC,EAAJ,GAAN,CAA6uCw0B,EAAEyB,WAAF,GAAc,UAASj2B,CAAT,EAAWw0B,CAAX,EAAa;AAACjlB,QAAE0mB,WAAF,CAAcj2B,CAAd,EAAgBw0B,CAAhB;AAAmB,KAA/C,EAAgDA,EAAE2B,UAAF,GAAa,UAASn2B,CAAT,EAAWw0B,CAAX,EAAa;AAACjlB,QAAE4mB,UAAF,CAAan2B,CAAb,EAAew0B,CAAf;AAAkB,KAA7F,EAA8FA,EAAE4lB,eAAF,GAAkB,UAASp6C,CAAT,EAAWw0B,CAAX,EAAa;AAACjlB,QAAE6qC,eAAF,CAAkBp6C,CAAlB,EAAoBw0B,CAApB;AAAuB,KAArJ;AAAsJ,GAA/3iD,EAAg4iD,UAASx0B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC,QAAInzB,IAAEmzB,EAAE,EAAF,CAAN,CAAY,YAAU,OAAOnzB,CAAjB,KAAqBA,IAAE,CAAC,CAACxB,EAAEwB,CAAH,EAAKA,CAAL,EAAO,EAAP,CAAD,CAAvB,EAAqC,IAAI+N,IAAE,EAAC8qC,KAAI,CAAC,CAAN,EAAQpiC,WAAU,KAAK,CAAvB,EAAyBqiC,YAAW,KAAK,CAAzC,EAAN,CAAkD3lB,EAAE,EAAF,EAAMnzB,CAAN,EAAQ+N,CAAR,EAAW/N,EAAE+4C,MAAF,KAAWv6C,EAAEmD,OAAF,GAAU3B,EAAE+4C,MAAvB;AAA+B,GAA7hjD,EAA8hjD,UAASv6C,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC,KAAC30B,EAAEmD,OAAF,GAAUwxB,EAAE,EAAF,EAAM,CAAC,CAAP,CAAX,EAAsB5wB,IAAtB,CAA2B,CAAC/D,EAAEwB,CAAH,EAAK,yuBAAL,EAA+uB,EAA/uB,CAA3B;AAA+wB,GAA7zkD,EAA8zkD,UAASxB,CAAT,EAAWw0B,CAAX,EAAa;AAACx0B,MAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAIw0B,IAAE,EAAN,CAAS,OAAOA,EAAElxB,QAAF,GAAW,YAAU;AAAC,eAAO,KAAKC,GAAL,CAAU,UAASixB,CAAT,EAAW;AAAC,cAAIG,IAAE,UAAS30B,CAAT,EAAWw0B,CAAX,EAAa;AAAC,gBAAIG,IAAE30B,EAAE,CAAF,KAAM,EAAZ;AAAA,gBAAewB,IAAExB,EAAE,CAAF,CAAjB,CAAsB,IAAG,CAACwB,CAAJ,EAAM,OAAOmzB,CAAP,CAAS,IAAGH,KAAG,cAAY,OAAOvwB,IAAzB,EAA8B;AAAC,kBAAIsL,KAAGlP,IAAEmB,CAAF,EAAI,qEAAmEyC,KAAKU,SAASC,mBAAmBC,KAAKC,SAAL,CAAezE,CAAf,CAAnB,CAAT,CAAL,CAAnE,GAAyH,KAAhI,CAAJ;AAAA,kBAA2IX,IAAE8B,EAAE6C,OAAF,CAAUd,GAAV,CAAe,UAASvD,CAAT,EAAW;AAAC,uBAAM,mBAAiBwB,EAAE+C,UAAnB,GAA8BvE,CAA9B,GAAgC,KAAtC;AAA4C,eAAvE,CAA7I,CAAuN,OAAM,CAAC20B,CAAD,EAAInwB,MAAJ,CAAW9E,CAAX,EAAc8E,MAAd,CAAqB,CAAC+K,CAAD,CAArB,EAA0B7L,IAA1B,CAA+B,IAA/B,CAAN;AAA2C,iBAAIrD,CAAJ,CAAM,OAAM,CAACs0B,CAAD,EAAIjxB,IAAJ,CAAS,IAAT,CAAN;AAAqB,WAA/W,CAAgX8wB,CAAhX,EAAkXx0B,CAAlX,CAAN,CAA2X,OAAOw0B,EAAE,CAAF,IAAK,YAAUA,EAAE,CAAF,CAAV,GAAe,GAAf,GAAmBG,CAAnB,GAAqB,GAA1B,GAA8BA,CAArC;AAAuC,SAAxb,EAA2bjxB,IAA3b,CAAgc,EAAhc,CAAP;AAA2c,OAAje,EAAke8wB,EAAEhzB,CAAF,GAAI,UAASxB,CAAT,EAAW20B,CAAX,EAAa;AAAC,oBAAU,OAAO30B,CAAjB,KAAqBA,IAAE,CAAC,CAAC,IAAD,EAAMA,CAAN,EAAQ,EAAR,CAAD,CAAvB,EAAsC,KAAI,IAAIwB,IAAE,EAAN,EAAS+N,IAAE,CAAf,EAAiBA,IAAE,KAAKjQ,MAAxB,EAA+BiQ,GAA/B,EAAmC;AAAC,cAAI7P,IAAE,KAAK6P,CAAL,EAAQ,CAAR,CAAN,CAAiB,YAAU,OAAO7P,CAAjB,KAAqB8B,EAAE9B,CAAF,IAAK,CAAC,CAA3B;AAA8B,cAAI6P,IAAE,CAAN,EAAQA,IAAEvP,EAAEV,MAAZ,EAAmBiQ,GAAnB,EAAuB;AAAC,cAAIlP,IAAEL,EAAEuP,CAAF,CAAN,CAAW,YAAU,OAAOlP,EAAE,CAAF,CAAjB,IAAuBmB,EAAEnB,EAAE,CAAF,CAAF,CAAvB,KAAiCs0B,KAAG,CAACt0B,EAAE,CAAF,CAAJ,GAASA,EAAE,CAAF,IAAKs0B,CAAd,GAAgBA,MAAIt0B,EAAE,CAAF,IAAK,MAAIA,EAAE,CAAF,CAAJ,GAAS,SAAT,GAAmBs0B,CAAnB,GAAqB,GAA9B,CAAhB,EAAmDH,EAAEzwB,IAAF,CAAO1D,CAAP,CAApF;AAA+F;AAAC,OAAhvB,EAAivBm0B,CAAxvB;AAA0vB,KAAzxB;AAA0xB,GAAtmmD,EAAummD,UAASx0B,CAAT,EAAWw0B,CAAX,EAAaG,CAAb,EAAe;AAAC,QAAInzB,CAAJ;AAAA,QAAM+N,CAAN;AAAA,QAAQ7P,IAAE,EAAV;AAAA,QAAaW,KAAGmB,IAAE,aAAU;AAAC,aAAO7B,UAAQhB,QAAR,IAAkBA,SAASsqC,GAA3B,IAAgC,CAACtpC,OAAO0c,IAA/C;AAAoD,KAAjE,EAAkE,YAAU;AAAC,aAAO,KAAK,CAAL,KAAS9M,CAAT,KAAaA,IAAE/N,EAAEsM,KAAF,CAAQ,IAAR,EAAazH,SAAb,CAAf,GAAwCkJ,CAA/C;AAAiD,KAAjI,CAAb;AAAA,QAAgJwlB,IAAE,SAAFA,CAAE,CAAS/0B,CAAT,EAAW;AAAC,aAAOrB,SAASyiB,aAAT,CAAuBphB,CAAvB,CAAP;AAAiC,KAA/L;AAAA,QAAgMoP,IAAE,UAASpP,CAAT,EAAW;AAAC,UAAIw0B,IAAE,EAAN,CAAS,OAAO,UAASx0B,CAAT,EAAW;AAAC,YAAG,cAAY,OAAOA,CAAtB,EAAwB,OAAOA,GAAP,CAAW,IAAG,KAAK,CAAL,KAASw0B,EAAEx0B,CAAF,CAAZ,EAAiB;AAAC,cAAI20B,IAAEI,EAAE9mB,IAAF,CAAO,IAAP,EAAYjO,CAAZ,CAAN,CAAqB,IAAGL,OAAO66C,iBAAP,IAA0B7lB,aAAah1B,OAAO66C,iBAAjD,EAAmE,IAAG;AAAC7lB,gBAAEA,EAAE8lB,eAAF,CAAkBhlB,IAApB;AAAyB,WAA7B,CAA6B,OAAMz1B,CAAN,EAAQ;AAAC20B,gBAAE,IAAF;AAAO,aAAE30B,CAAF,IAAK20B,CAAL;AAAO,gBAAOH,EAAEx0B,CAAF,CAAP;AAAY,OAAhO;AAAiO,KAAtP,EAAlM;AAAA,QAA2bq1B,IAAE,IAA7b;AAAA,QAAkcvlB,IAAE,CAApc;AAAA,QAAscuN,IAAE,EAAxc;AAAA,QAA2crc,IAAE2zB,EAAE,EAAF,CAA7c,CAAmd,SAAS/mB,CAAT,CAAW5N,CAAX,EAAaw0B,CAAb,EAAe;AAAC,WAAI,IAAIG,IAAE,CAAV,EAAYA,IAAE30B,EAAEV,MAAhB,EAAuBq1B,GAAvB,EAA2B;AAAC,YAAInzB,IAAExB,EAAE20B,CAAF,CAAN;AAAA,YAAWplB,IAAE7P,EAAE8B,EAAEsC,EAAJ,CAAb,CAAqB,IAAGyL,CAAH,EAAK;AAACA,YAAEmrC,IAAF,GAAS,KAAI,IAAIr6C,IAAE,CAAV,EAAYA,IAAEkP,EAAE6M,KAAF,CAAQ9c,MAAtB,EAA6Be,GAA7B;AAAiCkP,cAAE6M,KAAF,CAAQ/b,CAAR,EAAWmB,EAAE4a,KAAF,CAAQ/b,CAAR,CAAX;AAAjC,WAAwD,OAAKA,IAAEmB,EAAE4a,KAAF,CAAQ9c,MAAf,EAAsBe,GAAtB;AAA0BkP,cAAE6M,KAAF,CAAQrY,IAAR,CAAawZ,EAAE/b,EAAE4a,KAAF,CAAQ/b,CAAR,CAAF,EAAam0B,CAAb,CAAb;AAA1B;AAAwD,SAA/H,MAAmI;AAAC,cAAIO,IAAE,EAAN,CAAS,KAAI10B,IAAE,CAAN,EAAQA,IAAEmB,EAAE4a,KAAF,CAAQ9c,MAAlB,EAAyBe,GAAzB;AAA6B00B,cAAEhxB,IAAF,CAAOwZ,EAAE/b,EAAE4a,KAAF,CAAQ/b,CAAR,CAAF,EAAam0B,CAAb,CAAP;AAA7B,WAAqD90B,EAAE8B,EAAEsC,EAAJ,IAAQ,EAACA,IAAGtC,EAAEsC,EAAN,EAAS42C,MAAK,CAAd,EAAgBt+B,OAAM2Y,CAAtB,EAAR;AAAiC;AAAC;AAAC,cAASmB,CAAT,CAAWl2B,CAAX,EAAaw0B,CAAb,EAAe;AAAC,WAAI,IAAIG,IAAE,EAAN,EAASnzB,IAAE,EAAX,EAAc+N,IAAE,CAApB,EAAsBA,IAAEvP,EAAEV,MAA1B,EAAiCiQ,GAAjC,EAAqC;AAAC,YAAI7P,IAAEM,EAAEuP,CAAF,CAAN;AAAA,YAAWlP,IAAEm0B,EAAE3lB,IAAF,GAAOnP,EAAE,CAAF,IAAK80B,EAAE3lB,IAAd,GAAmBnP,EAAE,CAAF,CAAhC;AAAA,YAAqCq1B,IAAE,EAACpjB,KAAIjS,EAAE,CAAF,CAAL,EAAUi7C,OAAMj7C,EAAE,CAAF,CAAhB,EAAqB+E,WAAU/E,EAAE,CAAF,CAA/B,EAAvC,CAA4E8B,EAAEnB,CAAF,IAAKmB,EAAEnB,CAAF,EAAK+b,KAAL,CAAWrY,IAAX,CAAgBgxB,CAAhB,CAAL,GAAwBJ,EAAE5wB,IAAF,CAAOvC,EAAEnB,CAAF,IAAK,EAACyD,IAAGzD,CAAJ,EAAM+b,OAAM,CAAC2Y,CAAD,CAAZ,EAAZ,CAAxB;AAAsD,cAAOJ,CAAP;AAAS,cAASY,CAAT,CAAWv1B,CAAX,EAAaw0B,CAAb,EAAe;AAAC,UAAIG,IAAEvlB,EAAEpP,EAAEs6C,UAAJ,CAAN,CAAsB,IAAG,CAAC3lB,CAAJ,EAAM,MAAM,IAAI9iB,KAAJ,CAAU,6GAAV,CAAN,CAA+H,IAAIrQ,IAAE6b,EAAEA,EAAE/d,MAAF,GAAS,CAAX,CAAN,CAAoB,IAAG,UAAQU,EAAEksC,QAAb,EAAsB1qC,IAAEA,EAAEo5C,WAAF,GAAcjmB,EAAEyX,YAAF,CAAe5X,CAAf,EAAiBhzB,EAAEo5C,WAAnB,CAAd,GAA8CjmB,EAAE7X,WAAF,CAAc0X,CAAd,CAAhD,GAAiEG,EAAEyX,YAAF,CAAe5X,CAAf,EAAiBG,EAAEwX,UAAnB,CAAjE,EAAgG9uB,EAAEtZ,IAAF,CAAOywB,CAAP,CAAhG,CAAtB,KAAqI,IAAG,aAAWx0B,EAAEksC,QAAhB,EAAyBvX,EAAE7X,WAAF,CAAc0X,CAAd,EAAzB,KAA8C;AAAC,YAAG,oBAAiBx0B,EAAEksC,QAAnB,KAA6B,CAAClsC,EAAEksC,QAAF,CAAW2O,MAA5C,EAAmD,MAAM,IAAIhpC,KAAJ,CAAU,4LAAV,CAAN,CAA8M,IAAItC,IAAEH,EAAEpP,EAAEs6C,UAAF,GAAa,GAAb,GAAiBt6C,EAAEksC,QAAF,CAAW2O,MAA9B,CAAN,CAA4ClmB,EAAEyX,YAAF,CAAe5X,CAAf,EAAiBjlB,CAAjB;AAAoB;AAAC,cAAS6mB,CAAT,CAAWp2B,CAAX,EAAa;AAAC,UAAG,SAAOA,EAAE4jB,UAAZ,EAAuB,OAAM,CAAC,CAAP,CAAS5jB,EAAE4jB,UAAF,CAAa5G,WAAb,CAAyBhd,CAAzB,EAA4B,IAAIw0B,IAAEnX,EAAE9L,OAAF,CAAUvR,CAAV,CAAN,CAAmBw0B,KAAG,CAAH,IAAMnX,EAAElO,MAAF,CAASqlB,CAAT,EAAW,CAAX,CAAN;AAAoB,cAASgB,CAAT,CAAWx1B,CAAX,EAAa;AAAC,UAAIw0B,IAAE71B,SAAS6b,aAAT,CAAuB,OAAvB,CAAN,CAAsC,OAAO,KAAK,CAAL,KAASxa,EAAExB,KAAF,CAAQyJ,IAAjB,KAAwBjI,EAAExB,KAAF,CAAQyJ,IAAR,GAAa,UAArC,GAAiDrG,EAAE4yB,CAAF,EAAIx0B,EAAExB,KAAN,CAAjD,EAA8D+2B,EAAEv1B,CAAF,EAAIw0B,CAAJ,CAA9D,EAAqEA,CAA5E;AAA8E,cAAS5yB,CAAT,CAAW5B,CAAX,EAAaw0B,CAAb,EAAe;AAAC51B,aAAOkS,IAAP,CAAY0jB,CAAZ,EAAevjB,OAAf,CAAwB,UAAS0jB,CAAT,EAAW;AAAC30B,UAAE0c,YAAF,CAAeiY,CAAf,EAAiBH,EAAEG,CAAF,CAAjB;AAAuB,OAA3D;AAA8D,cAASpX,CAAT,CAAWvd,CAAX,EAAaw0B,CAAb,EAAe;AAAC,UAAIG,CAAJ,EAAMnzB,CAAN,EAAQ+N,CAAR,EAAU7P,CAAV,CAAY,IAAG80B,EAAEvc,SAAF,IAAajY,EAAE2R,GAAlB,EAAsB;AAAC,YAAG,EAAEjS,IAAE80B,EAAEvc,SAAF,CAAYjY,EAAE2R,GAAd,CAAJ,CAAH,EAA2B,OAAO,YAAU,CAAE,CAAnB,CAAoB3R,EAAE2R,GAAF,GAAMjS,CAAN;AAAQ,WAAG80B,EAAEsmB,SAAL,EAAe;AAAC,YAAIz6C,IAAEyP,GAAN,CAAU6kB,IAAEU,MAAIA,IAAEG,EAAEhB,CAAF,CAAN,CAAF,EAAchzB,IAAE01B,EAAElc,IAAF,CAAO,IAAP,EAAY2Z,CAAZ,EAAct0B,CAAd,EAAgB,CAAC,CAAjB,CAAhB,EAAoCkP,IAAE2nB,EAAElc,IAAF,CAAO,IAAP,EAAY2Z,CAAZ,EAAct0B,CAAd,EAAgB,CAAC,CAAjB,CAAtC;AAA0D,OAApF,MAAyFL,EAAEyE,SAAF,IAAa,cAAY,OAAOwY,GAAhC,IAAqC,cAAY,OAAOA,IAAIK,eAA5D,IAA6E,cAAY,OAAOL,IAAIC,eAApG,IAAqH,cAAY,OAAOxC,IAAxI,IAA8I,cAAY,OAAOzW,IAAjK,IAAuK0wB,IAAE,UAAS30B,CAAT,EAAW;AAAC,YAAIw0B,IAAE71B,SAAS6b,aAAT,CAAuB,MAAvB,CAAN,CAAqC,OAAO,KAAK,CAAL,KAASxa,EAAExB,KAAF,CAAQyJ,IAAjB,KAAwBjI,EAAExB,KAAF,CAAQyJ,IAAR,GAAa,UAArC,GAAiDjI,EAAExB,KAAF,CAAQyoB,GAAR,GAAY,YAA7D,EAA0ErlB,EAAE4yB,CAAF,EAAIx0B,EAAExB,KAAN,CAA1E,EAAuF+2B,EAAEv1B,CAAF,EAAIw0B,CAAJ,CAAvF,EAA8FA,CAArG;AAAuG,OAAxJ,CAAyJA,CAAzJ,CAAF,EAA8JhzB,IAAE0gB,EAAElH,IAAF,CAAO,IAAP,EAAY2Z,CAAZ,EAAcH,CAAd,CAAhK,EAAiLjlB,IAAE,aAAU;AAAC6mB,UAAEzB,CAAF,GAAKA,EAAExZ,IAAF,IAAQ8B,IAAIC,eAAJ,CAAoByX,EAAExZ,IAAtB,CAAb;AAAyC,OAA9Y,KAAiZwZ,IAAEa,EAAEhB,CAAF,CAAF,EAAOhzB,IAAEkI,EAAEsR,IAAF,CAAO,IAAP,EAAY2Z,CAAZ,CAAT,EAAwBplB,IAAE,aAAU;AAAC6mB,UAAEzB,CAAF;AAAK,OAA3b,EAA6b,OAAOnzB,EAAExB,CAAF,GAAK,UAASw0B,CAAT,EAAW;AAAC,YAAGA,CAAH,EAAK;AAAC,cAAGA,EAAE7iB,GAAF,KAAQ3R,EAAE2R,GAAV,IAAe6iB,EAAEmmB,KAAF,KAAU36C,EAAE26C,KAA3B,IAAkCnmB,EAAE/vB,SAAF,KAAczE,EAAEyE,SAArD,EAA+D,OAAOjD,EAAExB,IAAEw0B,CAAJ;AAAO,SAAnF,MAAwFjlB;AAAI,OAApH;AAAqH,OAAEpM,OAAF,GAAU,UAASnD,CAAT,EAAWw0B,CAAX,EAAa;AAAC,UAAG,eAAa,OAAOumB,KAApB,IAA2BA,KAA3B,IAAkC,oBAAiBp8C,QAAjB,yCAAiBA,QAAjB,EAArC,EAA+D,MAAM,IAAIkT,KAAJ,CAAU,8DAAV,CAAN,CAAgF,CAAC2iB,IAAEA,KAAG,EAAN,EAAUh2B,KAAV,GAAgB,oBAAiBg2B,EAAEh2B,KAAnB,IAAyBg2B,EAAEh2B,KAA3B,GAAiC,EAAjD,EAAoDg2B,EAAEsmB,SAAF,IAAa,aAAW,OAAOtmB,EAAEsmB,SAAjC,KAA6CtmB,EAAEsmB,SAAF,GAAYz6C,GAAzD,CAApD,EAAkHm0B,EAAE8lB,UAAF,KAAe9lB,EAAE8lB,UAAF,GAAa,MAA5B,CAAlH,EAAsJ9lB,EAAE0X,QAAF,KAAa1X,EAAE0X,QAAF,GAAW,QAAxB,CAAtJ,CAAwL,IAAIvX,IAAEuB,EAAEl2B,CAAF,EAAIw0B,CAAJ,CAAN,CAAa,OAAO5mB,EAAE+mB,CAAF,EAAIH,CAAJ,GAAO,UAASx0B,CAAT,EAAW;AAAC,aAAI,IAAIwB,IAAE,EAAN,EAAS+N,IAAE,CAAf,EAAiBA,IAAEolB,EAAEr1B,MAArB,EAA4BiQ,GAA5B,EAAgC;AAAC,cAAIlP,IAAEs0B,EAAEplB,CAAF,CAAN,CAAW,CAACwlB,IAAEr1B,EAAEW,EAAEyD,EAAJ,CAAH,EAAY42C,IAAZ,IAAmBl5C,EAAEuC,IAAF,CAAOgxB,CAAP,CAAnB;AAA6B,cAAGnnB,EAAEsoB,EAAEl2B,CAAF,EAAIw0B,CAAJ,CAAF,EAASA,CAAT,CAAH,CAAe,KAAIjlB,IAAE,CAAN,EAAQA,IAAE/N,EAAElC,MAAZ,EAAmBiQ,GAAnB,EAAuB;AAAC,cAAIwlB,CAAJ,CAAM,IAAG,MAAI,CAACA,IAAEvzB,EAAE+N,CAAF,CAAH,EAASmrC,IAAhB,EAAqB;AAAC,iBAAI,IAAItrC,IAAE,CAAV,EAAYA,IAAE2lB,EAAE3Y,KAAF,CAAQ9c,MAAtB,EAA6B8P,GAA7B;AAAiC2lB,gBAAE3Y,KAAF,CAAQhN,CAAR;AAAjC,aAA8C,OAAO1P,EAAEq1B,EAAEjxB,EAAJ,CAAP;AAAe;AAAC;AAAC,OAArO;AAAsO,KAAllB,CAAmlB,IAAI/C,CAAJ;AAAA,QAAMu1B,KAAGv1B,IAAE,EAAF,EAAK,UAASf,CAAT,EAAWw0B,CAAX,EAAa;AAAC,aAAOzzB,EAAEf,CAAF,IAAKw0B,CAAL,EAAOzzB,EAAEs0C,MAAF,CAAS2F,OAAT,EAAkBt3C,IAAlB,CAAuB,IAAvB,CAAd;AAA2C,KAAjE,CAAN,CAAyE,SAASwzB,CAAT,CAAWl3B,CAAX,EAAaw0B,CAAb,EAAeG,CAAf,EAAiBnzB,CAAjB,EAAmB;AAAC,UAAI+N,IAAEolB,IAAE,EAAF,GAAKnzB,EAAEmQ,GAAb,CAAiB,IAAG3R,EAAE21B,UAAL,EAAgB31B,EAAE21B,UAAF,CAAaC,OAAb,GAAqBU,EAAE9B,CAAF,EAAIjlB,CAAJ,CAArB,CAAhB,KAAgD;AAAC,YAAI7P,IAAEf,SAASm3B,cAAT,CAAwBvmB,CAAxB,CAAN;AAAA,YAAiClP,IAAEL,EAAEi7C,UAArC,CAAgD56C,EAAEm0B,CAAF,KAAMx0B,EAAEgd,WAAF,CAAc3c,EAAEm0B,CAAF,CAAd,CAAN,EAA0Bn0B,EAAEf,MAAF,GAASU,EAAEosC,YAAF,CAAe1sC,CAAf,EAAiBW,EAAEm0B,CAAF,CAAjB,CAAT,GAAgCx0B,EAAE8c,WAAF,CAAcpd,CAAd,CAA1D;AAA2E;AAAC,cAASgK,CAAT,CAAW1J,CAAX,EAAaw0B,CAAb,EAAe;AAAC,UAAIG,IAAEH,EAAE7iB,GAAR;AAAA,UAAYnQ,IAAEgzB,EAAEmmB,KAAhB,CAAsB,IAAGn5C,KAAGxB,EAAE0c,YAAF,CAAe,OAAf,EAAuBlb,CAAvB,CAAH,EAA6BxB,EAAE21B,UAAlC,EAA6C31B,EAAE21B,UAAF,CAAaC,OAAb,GAAqBjB,CAArB,CAA7C,KAAwE;AAAC,eAAK30B,EAAEmsC,UAAP;AAAmBnsC,YAAEgd,WAAF,CAAchd,EAAEmsC,UAAhB;AAAnB,SAA+CnsC,EAAE8c,WAAF,CAAcne,SAASm3B,cAAT,CAAwBnB,CAAxB,CAAd;AAA0C;AAAC,cAASzS,CAAT,CAAWliB,CAAX,EAAaw0B,CAAb,EAAeG,CAAf,EAAiB;AAAC,UAAInzB,IAAEmzB,EAAEhjB,GAAR;AAAA,UAAYpC,IAAEolB,EAAElwB,SAAhB;AAAA,UAA0B/E,IAAE,KAAK,CAAL,KAAS80B,EAAE0mB,qBAAX,IAAkC3rC,CAA9D,CAAgE,CAACilB,EAAE0mB,qBAAF,IAAyBx7C,CAA1B,MAA+B8B,IAAER,EAAEQ,CAAF,CAAjC,GAAuC+N,MAAI/N,KAAG,yDAAuDyC,KAAKU,SAASC,mBAAmBC,KAAKC,SAAL,CAAeyK,CAAf,CAAnB,CAAT,CAAL,CAAvD,GAA6G,KAApH,CAAvC,CAAkK,IAAIlP,IAAE,IAAIqa,IAAJ,CAAS,CAAClZ,CAAD,CAAT,EAAa,EAACyG,MAAK,UAAN,EAAb,CAAN;AAAA,UAAsC8sB,IAAE/0B,EAAEmb,IAA1C,CAA+Cnb,EAAEmb,IAAF,GAAO8B,IAAIK,eAAJ,CAAoBjd,CAApB,CAAP,EAA8B00B,KAAG9X,IAAIC,eAAJ,CAAoB6X,CAApB,CAAjC;AAAwD;AAAC,GAA/quD,EAAgruD,UAAS/0B,CAAT,EAAWw0B,CAAX,EAAa;AAACx0B,MAAEmD,OAAF,GAAU,UAASnD,CAAT,EAAW;AAAC,UAAIw0B,IAAE,eAAa,OAAO70B,MAApB,IAA4BA,OAAOiS,QAAzC,CAAkD,IAAG,CAAC4iB,CAAJ,EAAM,MAAM,IAAI3iB,KAAJ,CAAU,kCAAV,CAAN,CAAoD,IAAG,CAAC7R,CAAD,IAAI,YAAU,OAAOA,CAAxB,EAA0B,OAAOA,CAAP,CAAS,IAAI20B,IAAEH,EAAEziB,QAAF,GAAW,IAAX,GAAgByiB,EAAExiB,IAAxB;AAAA,UAA6BxQ,IAAEmzB,IAAEH,EAAEtiB,QAAF,CAAWC,OAAX,CAAmB,WAAnB,EAA+B,GAA/B,CAAjC,CAAqE,OAAOnS,EAAEmS,OAAF,CAAU,qDAAV,EAAiE,UAASnS,CAAT,EAAWw0B,CAAX,EAAa;AAAC,YAAIjlB,CAAJ;AAAA,YAAM7P,IAAE80B,EAAEhiB,IAAF,GAASL,OAAT,CAAiB,UAAjB,EAA6B,UAASnS,CAAT,EAAWw0B,CAAX,EAAa;AAAC,iBAAOA,CAAP;AAAS,SAApD,EAAuDriB,OAAvD,CAA+D,UAA/D,EAA2E,UAASnS,CAAT,EAAWw0B,CAAX,EAAa;AAAC,iBAAOA,CAAP;AAAS,SAAlG,CAAR,CAA6G,OAAM,qDAAoDnkB,IAApD,CAAyD3Q,CAAzD,IAA4DM,CAA5D,IAA+DuP,IAAE,MAAI7P,EAAE6R,OAAF,CAAU,IAAV,CAAJ,GAAoB7R,CAApB,GAAsB,MAAIA,EAAE6R,OAAF,CAAU,GAAV,CAAJ,GAAmBojB,IAAEj1B,CAArB,GAAuB8B,IAAE9B,EAAEyS,OAAF,CAAU,OAAV,EAAkB,EAAlB,CAAjD,EAAuE,SAAOtN,KAAKC,SAAL,CAAeyK,CAAf,CAAP,GAAyB,GAA/J;AAAN;AAA0K,OAAtW,CAAP;AAAgX,KAA1lB;AAA2lB,GAAzxvD,CAAr5B,CAAP;AAAwrxD,CAAr5xD,CAAD;AACA,iC;;;;;;;ACDArM,OAAOC,OAAP,GAAiB,UAASD,MAAT,EAAiB;AACjC,KAAI,CAACA,OAAOi4C,eAAZ,EAA6B;AAC5Bj4C,SAAOk4C,SAAP,GAAmB,YAAW,CAAE,CAAhC;AACAl4C,SAAOm4C,KAAP,GAAe,EAAf;AACA;AACA,MAAI,CAACn4C,OAAO8rC,QAAZ,EAAsB9rC,OAAO8rC,QAAP,GAAkB,EAAlB;AACtBpwC,SAAOuP,cAAP,CAAsBjL,MAAtB,EAA8B,QAA9B,EAAwC;AACvCqL,eAAY,IAD2B;AAEvC/H,QAAK,YAAW;AACf,WAAOtD,OAAOkM,CAAd;AACA;AAJsC,GAAxC;AAMAxQ,SAAOuP,cAAP,CAAsBjL,MAAtB,EAA8B,IAA9B,EAAoC;AACnCqL,eAAY,IADuB;AAEnC/H,QAAK,YAAW;AACf,WAAOtD,OAAO1B,CAAd;AACA;AAJkC,GAApC;AAMA0B,SAAOi4C,eAAP,GAAyB,CAAzB;AACA;AACD,QAAOj4C,MAAP;AACA,CArBD,C;;;;;;;ACAA;AAAe,84C;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAA+K;;AAErM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,wCAAwC,gBAAgB,yBAAyB,QAAQ,WAAW,uCAAuC,aAAa,kBAAkB,MAAM,OAAO,QAAQ,YAAY,gBAAgB,UAAU,aAAa,yCAAyC,kBAAkB,mBAAmB,UAAU,0DAA0D,cAAc,uCAAuC,aAAa,gBAAgB,yBAAyB,QAAQ,WAAW,YAAY,qBAAqB,kBAAkB,+BAA+B,eAAe,yBAAyB,WAAW,4DAA4D,eAAe,kBAAkB,gBAAgB,SAAS,8CAA8C,wBAAwB,YAAY,8CAA8C,WAAW,aAAa,kBAAkB,YAAY,aAAa,2BAA2B,kBAAkB,kBAAkB,aAAa,YAAY,YAAY,iEAAiE,oBAAoB,0EAA0E,eAAe,gBAAgB,eAAe,oEAAoE,qBAAqB,iBAAiB,aAAa,qCAAqC,6BAA6B,oEAAoE,cAAc,eAAe,WAAW,sEAAsE,mBAAmB,qEAAqE,cAAc,gBAAgB,iGAAiG,wBAAwB,qBAAqB,gBAAgB,eAAe,aAAa,YAAY,WAAW,gBAAgB,kBAAkB,kBAAkB,iBAAiB,gBAAgB,mHAAmH,mBAAmB,iIAAiI,aAAa,YAAY,WAAW,kBAAkB,oHAAoH,aAAa,sBAAsB,yBAAyB,eAAe,YAAY,WAAW,kBAAkB,6GAA6G,aAAa,sBAAsB,kBAAkB,yBAAyB,YAAY,WAAW,kBAAkB,sHAAsH,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,gBAAgB,kBAAkB,eAAe,kHAAkH,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,SAAS,QAAQ,kBAAkB,eAAe,2GAA2G,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,kBAAkB,eAAe,qHAAqH,aAAa,wBAAwB,qBAAqB,gBAAgB,WAAW,kBAAkB,4DAA4D,iEAAiE,cAAc,eAAe,sEAAsE,qBAAqB,kBAAkB,UAAU,yEAAyE,qBAAqB,4EAA4E,YAAY,iBAAiB,iBAAiB,qBAAqB,aAAa,sCAAsC,sBAAsB,8BAA8B,WAAW,8EAA8E,kBAAkB,UAAU,mFAAmF,qBAAqB,iBAAiB,aAAa,YAAY,iBAAiB,sCAAsC,sBAAsB,8BAA8B,4JAA4J,iBAAiB,sEAAsE,iBAAiB,yFAAyF,wBAAwB,qBAAqB,gBAAgB,eAAe,aAAa,YAAY,WAAW,gBAAgB,kBAAkB,kBAAkB,iBAAiB,gBAAgB,2GAA2G,mBAAmB,yHAAyH,aAAa,YAAY,WAAW,kBAAkB,4GAA4G,aAAa,sBAAsB,yBAAyB,eAAe,YAAY,WAAW,kBAAkB,qGAAqG,aAAa,sBAAsB,kBAAkB,yBAAyB,YAAY,WAAW,kBAAkB,8GAA8G,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,gBAAgB,kBAAkB,eAAe,0GAA0G,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,SAAS,QAAQ,kBAAkB,eAAe,mGAAmG,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,kBAAkB,eAAe,weAAwe,UAAU,WAAW,sBAAsB,kBAAkB,sBAAsB,kBAAkB,SAAS,WAAW,mEAAmE,cAAc,wEAAwE,qBAAqB,kBAAkB,UAAU,2EAA2E,qBAAqB,8EAA8E,YAAY,iBAAiB,iBAAiB,qBAAqB,aAAa,sCAAsC,sBAAsB,8BAA8B,WAAW,gFAAgF,kBAAkB,UAAU,qFAAqF,qBAAqB,iBAAiB,aAAa,YAAY,iBAAiB,sCAAsC,sBAAsB,8BAA8B,6FAA6F,wBAAwB,qBAAqB,gBAAgB,eAAe,aAAa,YAAY,WAAW,gBAAgB,kBAAkB,kBAAkB,iBAAiB,gBAAgB,+GAA+G,mBAAmB,6HAA6H,aAAa,YAAY,WAAW,kBAAkB,gHAAgH,aAAa,sBAAsB,yBAAyB,eAAe,YAAY,WAAW,kBAAkB,yGAAyG,aAAa,sBAAsB,kBAAkB,yBAAyB,YAAY,WAAW,kBAAkB,kHAAkH,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,gBAAgB,kBAAkB,eAAe,8GAA8G,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,SAAS,QAAQ,kBAAkB,eAAe,uGAAuG,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,kBAAkB,eAAe,uSAAuS,UAAU,WAAW,sBAAsB,kBAAkB,sBAAsB,kBAAkB,SAAS,WAAW,kEAAkE,cAAc,uEAAuE,qBAAqB,kBAAkB,UAAU,0EAA0E,qBAAqB,6EAA6E,YAAY,iBAAiB,iBAAiB,qBAAqB,aAAa,sCAAsC,sBAAsB,8BAA8B,WAAW,+EAA+E,kBAAkB,UAAU,oFAAoF,qBAAqB,iBAAiB,aAAa,YAAY,iBAAiB,sCAAsC,sBAAsB,8BAA8B,2FAA2F,wBAAwB,qBAAqB,gBAAgB,eAAe,aAAa,YAAY,WAAW,gBAAgB,kBAAkB,kBAAkB,iBAAiB,gBAAgB,6GAA6G,mBAAmB,2HAA2H,aAAa,YAAY,WAAW,kBAAkB,8GAA8G,aAAa,sBAAsB,yBAAyB,eAAe,YAAY,WAAW,kBAAkB,uGAAuG,aAAa,sBAAsB,kBAAkB,yBAAyB,YAAY,WAAW,kBAAkB,gHAAgH,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,gBAAgB,kBAAkB,eAAe,4GAA4G,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,SAAS,QAAQ,kBAAkB,eAAe,qGAAqG,aAAa,wBAAwB,qBAAqB,gBAAgB,yBAAyB,WAAW,UAAU,kBAAkB,eAAe,iSAAiS,UAAU,WAAW,sBAAsB,kBAAkB,sBAAsB,kBAAkB,SAAS,WAAW;;AAEzjb;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIo4C,QAAQ,SAARA,KAAQ,GAAY;AACtB,MAAIxyC,SAAJ;AACA,MAAI,CAACA,cAAD,OAAsB,OAAOA,aAAP,4BAA1B,YAAsF;AAAE;AAAQ;AAChG,MAAIunB,MAAMvnB,YAAV;AACA,MAAIjI,MAAM,+EAA+D,EAACsL,UAAhE,CAA+D,EAA/D,EAAV,cAAU,CAAV;;AAEArD,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAK;AAC9Bb;AACAA;AACA8I;AAHFjI;AADF;AAVF;;kBAmBe;AACbO,QADa;AAEbmH,UAAQ+yC;AAFK,C;;;;;;;;ACrBf,cAAc,mBAAO,CAAC,GAA6K;;AAEnM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,wCAAwC,gBAAgB,0BAA0B,QAAQ,kBAAkB,aAAa,cAAc,eAAe,YAAY,SAAS,2CAA2C,kBAAkB,+BAA+B,eAAe,iBAAiB,YAAY,yBAAyB,gDAAgD,WAAW,YAAY,iBAAiB,2BAA2B,mBAAmB,qBAAqB,sBAAsB,qCAAqC,WAAW,YAAY;;AAEhlB;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIC,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAIzyC,SAAJ;AACA,MAAI,CAACA,cAAL,YAA+B;AAAE;AAAQ;AACzC,MAAI0X,aAAa1X,YAAjB;AACA,MAAIjI,MAAM,6FAA6E,EAACsL,UAA9E,CAA6E,EAA7E,EAAV,qBAAU,CAAV;;AAEArD,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAK;AAC9Bb;AACAA;AACA8I;AAHFjI;AADF;AAVF;;kBAmBe;AACbO,QADa;AAEbmH,UAAQgzC;AAFK,C;;;;;;;;ACrBf,cAAc,mBAAO,CAAC,GAAoL;;AAE1M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,+CAA+C,gBAAgB,0BAA0B,QAAQ,kBAAkB,aAAa,cAAc,eAAe,YAAY,SAAS,kDAAkD,kBAAkB,+BAA+B,eAAe,iBAAiB,YAAY,yBAAyB,uDAAuD,WAAW,YAAY,iBAAiB,2BAA2B,mBAAmB,qBAAqB,sBAAsB,gDAAgD,kBAAkB,SAAS,OAAO,WAAW,YAAY,YAAY,eAAe,6BAA6B,aAAa,oDAAoD,WAAW,YAAY,iDAAiD,YAAY,kBAAkB,MAAM,OAAO,WAAW,YAAY,iBAAiB,6DAA6D,YAAY,aAAa,8DAA8D,WAAW,kDAAkD,eAAe,QAAQ,aAAa,YAAY,aAAa,YAAY,uIAAuI,aAAa,2EAA2E,cAAc,4EAA4E,qBAAqB,iBAAiB,aAAa,mEAAmE,aAAa,4CAA4C,WAAW,YAAY;;AAE/rD;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIC,aAAa,SAAbA,UAAa,GAAY;AAC3B,MAAI1yC,SAAJ;AACA,MAAI0nB,UAAU1nB,cAAd;AACA,MAAI,YAAY,CAAC0nB,QAAjB,SAAkC;AAAE;AAAQ;AAC5C,MAAI3vB,MAAM,wEAA2D46C,WAA3D,4BAAV,mBAAU,CAAV;AACA,MAAIvnC,WAAWpL,YAAf;AACA,MAAIqL,OAAO,mGAAX,eAAW,CAAX;AACAtT;AACAiI,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAK;AAC9Bb;AACAA;AACA,0BAAS8I,OAAT;AACAA;AAJFjI;AADF;;AASA,MAAI66C,eAAe,SAAfA,YAAe,GAAY;AAC7B,wBAAS5yC,OAAT;AADF;AAGAA;;AAEA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AA9BF;;kBAiCe;AACb1H,QADa;AAEbmH,UAAQizC;AAFK,C;;;;;;;;ACrCf;AAAe,iR;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAkL;;AAExM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,6CAA6C,kBAAkB,gBAAgB,yBAAyB,QAAQ,cAAc,eAAe,SAAS,6DAA6D,kBAAkB,gFAAgF,cAAc,gDAAgD,YAAY,+DAA+D,cAAc,uDAAuD,kBAAkB,uDAAuD,kBAAkB,qEAAqE,aAAa;;AAEvsB;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIG,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAI7yC,SAAJ;AACA,MAAI,CAACA,cAAL,QAA2B;AAAE;AAAQ;AACrC,MAAIjI,MAAM,sEAAyD+6C,SAAzD,4BAAV,iBAAU,CAAV;;AAEA,MAAI1nC,WAAWpL,YAAf;AACA,MAAIqL,OAAO,iGAAX,eAAW,CAAX;AACAtT;AACAiI,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAZF;;kBAqBe;AACbO,QADa;AAEbmH,UAAQozC;AAFK,C;;;;;;;;ACzBf;AAAe,usD;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAgL;;AAEtM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,2CAA2C,kBAAkB,iBAAiB,0BAA0B,SAAS,cAAc,eAAe,uDAAuD,eAAe,WAAW,2DAA2D,kBAAkB,uDAAuD,kBAAkB,4EAA4E,cAAc,8CAA8C,YAAY,6DAA6D,cAAc,qDAAqD,kBAAkB,qDAAqD,kBAAkB;;AAEzvB;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIE,WAAW,SAAXA,QAAW,GAAY;AACzB,MAAI/yC,SAAJ;AACA,MAAI,CAACA,cAAL,QAA2B;AAAE;AAAQ;AACrC,MAAIjI,MAAM,sEAAyDi7C,SAAzD,4BAAV,iBAAU,CAAV;;AAEA,MAAI5nC,WAAWpL,YAAf;AACA,MAAIqL,OAAO,iGAAX,eAAW,CAAX;AACAtT;AACAiI,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AAZF;;kBAqBe;AACbO,QADa;AAEbmH,UAAQszC;AAFK,C;;;;;;;;ACzBf;AAAe,+rE;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAgL;;AAEtM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,2CAA2C,kBAAkB,gBAAgB,yBAAyB,QAAQ,cAAc,WAAW,YAAY,eAAe,uDAAuD,eAAe,WAAW,2DAA2D,kBAAkB,uDAAuD,kBAAkB,4EAA4E,cAAc,8CAA8C,YAAY,6DAA6D,cAAc,qDAAqD,kBAAkB,qDAAqD,kBAAkB;;AAE7wB;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIE,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAIjzC,SAAJ;AACA,MAAI,CAACA,cAAD,cAA6BA,yBAAjC,YAAsE;AACpE;AACD;AACD,MAAIkzC,iBAAiBlzC,YAArB;AACA,MAAIjI,MAAM,kEAAoDiI,qCAApD,iCAAsH,EAACqD,UAAvH,EAAsH,EAAtH,EAAV,qBAAU,CAAV;AACArD,uBAAqB,YAAM;AACzBA;AADFA;;AAIA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAK;AAC9Bb;AACAA;AACA8I;AAHFjI;AADF;AAXF;;kBAoBe;AACbO,QADa;AAEbmH,UAAQwzC;AAFK,C;;;;;;;;ACtBf,cAAc,mBAAO,CAAC,GAAoL;;AAE1M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,+CAA+C,iBAAiB,0BAA0B,SAAS,kBAAkB,aAAa,cAAc,eAAe,YAAY,SAAS,kDAAkD,kBAAkB,+BAA+B,eAAe,iBAAiB,YAAY,yBAAyB,uDAAuD,0BAA0B,uBAAuB,kBAAkB,eAAe,YAAY,iBAAiB,2BAA2B,mBAAmB,qBAAqB,sBAAsB,0GAA0G,WAAW,YAAY;;AAEnvB;;;;;;;;;;;;;;ACPA;;;;AACA;;;;;;AAEA,IAAIE,oBAAoB,SAApBA,iBAAoB,GAAY;AAClC,MAAI,CAAC,YAAL,iBAAkC;AAChC;AACD;AACD,MAAInzC,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;AACA,MAAI7F,OAAOsE,iBAAX;AACA,MAAIqN,YAAY3R,mCAAmC,EAACkJ,UAApClJ,CAAmC,EAAnCA,EAAhB,oBAAgBA,CAAhB;AACA,MAAII,OAAOyF,cAAX;AACA,MAAIzF,QAAQ9C,cAAR8C,IAAQ9C,CAAR8C,IAA+BA,cAAnC,GAAoD;AAClDJ,kBAAc6F,OAAd7F;AACA6F,2BAAuB,YAAY;AAAA;;AACjC,UAAIwnC,MAAM,CAAV,MAAU,CAAV;AACAA,iCAAuB,iCAAvBA,yBAAyExnC,YAAzEwnC;AACAjtC,mBAAa,gBAAQ;AACnBitC,mCAAuBvxC,gBAAgB,MAAhBA,oCAAvBuxC,cAAuFvxC,KAAvFuxC;AADFjtC;AAGA,UAAI64C,cAAcpzC,YAAlB;AACAwnC;;AAEA,UAAIE,YAAY59B,mBAAhB,qBAAgBA,CAAhB;AACA,qBAAe;AACb49B,8BAAsBF,SAAtBE,EAAsBF,CAAtBE;AACA,YAAIC,MAAMD,wBAAV,OAAUA,CAAV;AACA,YAAI,CAAC1nC,cAAD,mBAAkCA,kCAAtC,SAAiF;AAC/E2nC,6CAAmC,aAAK;AACtCzwC;AACAA;AACAiD;AACAutC;AAJFC;AAMD;AAVH,aAWO;AACL77B,8BAAsB07B,SAAtB17B,EAAsB07B,CAAtB17B;AACA,YAAI67B,OAAM77B,wBAAV,OAAUA,CAAV;AACA,YAAI,CAAC9L,cAAD,mBAAkCA,kCAAtC,SAAiF;AAC/E2nC,8CAAmC,aAAK;AACtCzwC;AACAA;AACAiD,0BAAc6F,OAAd7F;AACA2R;AAJF67B;AAMD;AACD3nC;AACD;AAjCHA;AAmCD;;AAED,gCAA8B,gBAAQ;AACpC8L,qCAAiC,aAAa;AAC5C5U;AACAA;AACA,UAAI0wC,KAAK1wC,YAAYA,EAArB;AACA,UAAI0wC,MAAMA,mCAAV,MAAmD;AACjDnwC,qCAA6BmwC,cAA7BnwC,YAAuD,gBAAQ;AAC7D0C;AADF1C;AAGA0C;AACA,YAAIyJ,YAAY5D,iCAAhB,OAAgBA,CAAhB;AACA,YAAI4nC,iBAAiB5nC,YAArB,KAAsC;AACpC4D;AACAA;AACAzJ,2BAAiB6F,OAAjB7F;AAHF,eAIO;AACLyJ;AACAzJ,wBAAc6F,OAAd7F;AACAyJ;;AAEArJ,oBAAU,gBAAQ;AAChB,gBAAItE,eAAe2xC,GAAnB,WAAiC;AAC/BhkC,iCAAmB3N,KAAnB2N;AACA,kBAAI3N,KAAJ,MAAe;AACb2N,oCAAoB3N,KAApB2N;AACD;AACDA,mCAAqB3N,KAArB2N;AACA,kBAAI3N,KAAJ,SAAkB;AAChB2N,uCAAuB3N,KAAvB2N;AACD;AACD;AACD;AAXHrJ;AAaAyF,yCAA+B4nC,GAA/B5nC;AACD;AA7BH,aA8BO,IAAIA,oDAAoD4nC,0CAA0CA,mCAAlG,IAAI5nC,CAAJ,EAA4I;AACjJ7F,sBAAc6F,OAAd7F;AACA2R;AACD;AArCHA;AADF;;AA0CA9L,oBAAkB,YAAM;AACtB,QAAIqzC,KAAKvpC,mBAAT,wBAASA,CAAT;AACA,QAAIlG,YAAYkG,0BAAhB,OAAgBA,CAAhB;AACA,QAAI,CAAC9J,OAAD,KAACA,CAAD,IAAkB,CAAlB,MAAyB,CAA7B,WAAyC;AACzC4D;AACAnM,iCAA6B47C,GAA7B57C,YAA4C,cAAM;AAChD,UAAI0C,kBAAJ,UAAIA,CAAJ,EAAmC;AACjC,YAAIytC,iBAAiB5nC,YAArB,KAAsC;AACpC4D;AACAA;AAFF,eAGO;AACLA;;AAEArJ,oBAAU,gBAAQ;AAChB,gBAAItE,eAAe2xC,GAAnB,WAAiC;AAC/BhkC,iCAAmB3N,KAAnB2N;AACA,kBAAI3N,KAAJ,MAAe;AACb2N,oCAAoB3N,KAApB2N;AACD;AACDA,mCAAqB3N,KAArB2N;AACA,kBAAI3N,KAAJ,SAAkB;AAChB2N,uCAAuB3N,KAAvB2N;AACD;AACD;AACD;AAXHrJ;;AAcAA,oBAAU,gBAAQ;AAChB,gBAAItE,eAAe2xC,GAAnB,WAAiC;AAC/B1nC,yBAAW,YAAM;AACf0D,mCAAmB3N,KAAnB2N;AACA,oBAAI3N,KAAJ,MAAe;AACb2N,sCAAoB3N,KAApB2N;AACD;AACDA,qCAAqB3N,KAArB2N;AACA,oBAAI3N,KAAJ,SAAkB;AAChB2N,yCAAuB3N,KAAvB2N;AACD;AACDA;AATF1D;AAWA;AACD;AAdH3F;AAgBD;AACF;AAvCH9C;AAyCA0C,qBAAiB6F,OAAjB7F;AA9CF6F;;AAiDA8L,2CAAyC,aAAK;AAC5C5U;AACAA;AACAiD,qBAAiB6F,OAAjB7F;AAHF2R;AA3IF;;kBAkJe;AACbxT,QADa;AAEbmH,UAAQ0zC;AAFK,C;;;;;;;ACrJf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,8CAA8C,gBAAgB,yBAAyB,QAAQ,WAAW,aAAa,WAAW,kBAAkB,aAAa,aAAa,eAAe,kBAAkB,8CAA8C,aAAa,gBAAgB,eAAe,2BAA2B,kBAAkB,kBAAkB,YAAY,kBAAkB,mBAAmB,SAAS,mCAAmC,+BAA+B,2BAA2B,0BAA0B,uBAAuB,kBAAkB,WAAW,eAAe,iDAAiD,WAAW,+BAA+B,eAAe,yBAAyB,0BAA0B,uBAAuB,kBAAkB,YAAY,iBAAiB,iHAAiH,WAAW,UAAU,iDAAiD,kBAAkB,+BAA+B,eAAe,eAAe,yBAAyB,kBAAkB,SAAS,WAAW,YAAY,iBAAiB,2BAA2B,mBAAmB,qBAAqB,sBAAsB,mEAAmE,aAAa,cAAc,2BAA2B,yIAAyI,cAAc;;AAEjiD;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,6DAA8D;AAC5D,MAAIroB,qBAAJ,GAA4B;AAC1BhhB;AACA;AACD;AACD,MAAI09B,MAAJ;AACAA,4CAAuC8L,qBAAvC9L;AACA1c,oBAAkB,gBAAQ;AACxB0c,8BAAwBvxC,KAAxBuxC,yBAAiDvxC,KAAjDuxC,yBAAyEvxC,+CAAzEuxC,aAA+HvxC,KAA/HuxC;AADF1c;AAGAhhB,mBAAiB09B,SAAjB19B,EAAiB09B,CAAjB19B;AACD;;AAED;AACA,IAAIypC,cAAc,SAAdA,WAAc,GAAY;AAC5B,MAAIvzC,SAAJ;AACA,MAAI,CAAC,YAAL,WAA4B;AAC1B;AACD;AACD,MAAI8qB,YAAY,YAAhB;AACA,MAAIsoB,cAAcpzC,YAAlB;AACA,MAAM8L,YAAY,yFAAyE,EAACzI,UAA1E,CAAyE,EAAzE,EAAlB,oBAAkB,CAAlB;;AAEA,uBAAsB;AACpB,QAAMqkC,YAAY1nC,0BAAlB,qBAAkBA,CAAlB;AACA,QAAI,CAAJ,WAAgB;AACdA;AACA,UAAM2nC,MAAM77B,wBAAZ,OAAYA,CAAZ;AACA,UAAI,CAAC9L,cAAD,mBAAkCA,kCAAtC,SAAiF;AAC/E2nC,2CAAmC,aAAK;AACtCzwC;AACAA;AACA,8BAAS8I,OAAT;AACA8L;AAJF67B;AAMA77B,iDAAyC,aAAK;AAC5C5U;AACAA;AACA,iCAAY8I,OAAZ;AAHF8L;AAPF,aAYO;AACL67B,sCAA8B,aAAK;AACjCzwC;AACAA;AACA,cAAI,oBAAS8I,OAAT,MAAJ,2BAAI,CAAJ,EAAwD;AACtD,mCAAYA,OAAZ;AADF,iBAEO;AACL,gCAASA,OAAT;AACD;AAPH2nC;AASD;AACF;;AAED,kCAA8B,gBAAQ;AACpC77B,uCAAiC,aAAa;AAC5C5U;AACAA;AACA,YAAI0wC,KAAK1wC,YAAYA,EAArB;AACA,YAAI0wC,MAAMA,mCAAV,MAAmD;AACjD,cAAM5sC,KAAK4sC,gBAAX,SAAWA,CAAX;AACA,cAAMzoC,OAAOyoC,gBAAb,WAAaA,CAAb;AACA,cAAMnc,WAAWmc,gBAAjB,eAAiBA,CAAjB;AACAnwC,uCAA6BmwC,cAA7BnwC,YAAuD,gBAAQ;AAC7D;AADFA;AAGA;AACA,cAAI0H,SAAJ,OAAoB;AAClBa;AACA,mCAAYA,OAAZ;AAFF,iBAGO;AACLA,kCAAsB,EAAChF,IAAD,IAAKywB,UAA3BzrB,QAAsB,EAAtBA;AACA,gCAASA,OAAT;AACD;AACF;AAnBH8L;AADF;;AAwBA,QAAMunC,KAAKvnC,qCAAX,CAAWA,CAAX;AACA0nC,8BAA0BxzC,YAA1BwzC,KAA2CxzC,OAA3CwzC;AACA,QAAI1oB,qBAAJ,GAA4B;AAC1B;AADF,WAEO;AACL;AACD;AACF;;AAED,MAAM2oB,eAAe,SAAfA,YAAe,OAAgB;AACnC,QAAI,CAACx3C,KAAL,cAAwB;AACxB,QAAMo3C,KAAKvnC,qCAAX,CAAWA,CAAX;AACAgf,gBAAY7uB,KAAZ6uB;AACA0oB,mBAAev3C,KAAfu3C,MAA0BxzC,YAA1BwzC,KAA2CxzC,OAA3CwzC;AACAv3C,2BAAuB,oBAAS+D,OAAT,MAAvB/D,uBAAuB,CAAvBA,GAAwE,uBAAY+D,OAAZ,MAAxE/D,uBAAwE,CAAxEA;AACA,QAAIA,qBAAJ,GAA4B;AAC1B;AADF,WAEO;AACL;AACD;AAVH;;AAaA,MAAI6uB,aAAarzB,cAAjB,SAAiBA,CAAjB,EAA2C;AACzCqzB,4BAAwB,oBAAS9qB,OAAT,MAAxB8qB,uBAAwB,CAAxBA;AACA9qB;AACAA;AACD;AAzFH;;kBA4Fe;AACb1H,QADa;AAEbmH,UAAQ8zC;AAFK,C;;;;;;;;;;;;;;AC7Gf;;AACA;;AAEA,IAAIG,UAAU,SAAVA,OAAU,GAAY;AACxB,MAAI1zC,SAAJ;AACA,MAAI8J,OAAO9J,OAAX;;AAEA,MAAIyH,QAAQ,mIAAZ,gBAAY,CAAZ;AACAzH,uBAAqB,YAAM;AACzB8J;AADF9J;;AAIA,MAAI2M,OAAOlF,oBAAX,sBAAWA,CAAX;AACA,MAAIzH,sBAAsBA,uBAA1B,SAA0D;AACxD2M,qBAAiB3M,2BAAjB2M;AADF,SAEO;AACLA,qBAAiB3M,2BAAjB2M;AACD;AACD,MAAIgnC,UAAJ;;AAEA,qBAAoB;AAClB;AACA;AACA;AACA;;AAEA;AACA,wBAAS3zC,OAAT;AACA2zC,cAAUlsC,oBAAVksC,yBAAUlsC,CAAVksC;AACA,iBAAa;AACX,oCAA8B,gBAAQ;AACpCA,uCAA+B,aAAa;AAC1Cz8C;AACAA;AACA8I;AACA,cAAIkE,cAAclE,OAAlB;AACAA,iCAAuB,YAAM;AAC3BA;AACA,mCAAYA,OAAZ;AAFFA;AAIAA,uBAAaA,cAAbA;AATF2zC;AADF;AAaD;AACF;AACD3zC;AACA,uBAAsB;AACpBA;AACAA;AACD;AACDA;AA/CF;;kBAkDe;AACb1H,QADa;AAEbmH,UAAQi0C;AAFK,C;;;;;;;;ACpDf,cAAc,mBAAO,CAAC,GAA+K;;AAErM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,0CAA0C,gBAAgB,aAAa,kBAAkB,OAAO,MAAM,WAAW,YAAY,YAAY,+BAA+B,eAAe,WAAW,kBAAkB,iBAAiB,+BAA+B,qBAAqB,uBAAuB,2BAA2B,sBAAsB,mBAAmB,+DAA+D,cAAc,cAAc,eAAe,4DAA4D,iBAAiB,gBAAgB,yDAAyD,qBAAqB,iBAAiB,aAAa;;AAE9rB;;;;;;;;;;;;;;ACPA;;AACA;;AAEA,IAAIE,eAAe,SAAfA,YAAe,GAAY;AAC7B,MAAI5zC,SAAJ;AACA,MAAI6zC,eAAe7zC,8BAAnB;AACA,MAAI8zC,wBAAwB9zC,uCAA5B;AACA,MAAIpK,MAAJ;AACA,MAAIi+C,gBAAJ,GAAuB;AACrB;AACD;AACDj+C,QAAM,yLAA8I,kBAA9I,YAA8I,CAA9I,qkBAANA,qBAAM,CAANA;AACAA,oCAAkC,aAAO;AACvCsB;AADFtB;AAGA,MAAMm+C,aAAa,SAAbA,UAAa,GAAM;AACvBn+C,WAAOA,IAAPA,cAAyBA,2BAAzBA,GAAyBA,CAAzBA;AACAA;AAFF;AAIAA;AACA,MAAMo+C,aAAa,SAAbA,UAAa,GAAM;AACvB,QAAGF,wBAAH,GAA8B;AAC5B9zC;AACD;AACDA;AACA,QAAI8zC,wBAAJ,GAA+B;AAC7B5zC,iBAAW,YAAM;AACf6zC;AADF7zC,SAEG4zC,wBAFH5zC;AAGD;AATH;AAWAF;AACAA;AA7BF;;kBAgCe;AACb1H,QADa;AAEbmH,UAAQm0C;AAFK,C;;;;;;;;AClCf,cAAc,mBAAO,CAAC,GAAoL;;AAE1M,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,oDAAoD,kBAAkB,YAAY,UAAU,YAAY,0BAA0B,mBAAmB,iBAAiB,WAAW,WAAW,sBAAsB,oEAAoE,UAAU,gBAAgB,4DAA4D,kBAAkB,WAAW,YAAY,WAAW,QAAQ,eAAe,WAAW,eAAe;;AAExe;;;;;;;;;;;;;;ACPA;;AACA;;;;AACA;;;;;;AAEA,IAAIK,YAAY,SAAZA,SAAY,GAAY;AAC1B,MAAIj0C,SAAJ;AACA,MAAG,CAACA,cAAD,WAA0B,CAACnJ,OAA9B,uCAA4E;;AAE5E,MAAIkB,MAAM,gHAC6Bm8C,UAD7B,sCAAV,kBAAU,CAAV;;AAIA,MAAI7oC,OAAO,wEAA2DrL,YAA3D,8BAAX,eAAW,CAAX;AACAjI;AACAiI,uBAAqB,YAAM;AACzBA;AACAA,6EACE,iBAAS;AACP,cAAQ1L,MAAR;AACA;AACEyD;AACAA;AACA;AACF;AACEA;AACAA;AACA;AARF;AAFJiI;AAFFA;;AAiBA,gCAA8B,gBAAQ;AACpCjI,+BAA2B,aAAa;AACtCb;AACAA;AACA8I;AAHFjI;AADF;AA3BF;;kBAoCe;AACbO,QADa;AAEbmH,UAAQw0C;AAFK,C;;;;;;;;ACxCf;AAAe,o5B;;;;;;;ACCf,cAAc,mBAAO,CAAC,GAAiL;;AAEvM,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,CAAyD;;AAE9E;;AAEA,GAAG,KAAU,EAAE,E;;;;;;ACnBf,2BAA2B,mBAAO,CAAC,CAAqD;AACxF;;;AAGA;AACA,cAAc,QAAS,4CAA4C,kBAAkB,iBAAiB,0BAA0B,SAAS,cAAc,eAAe,gBAAgB,iBAAiB,wDAAwD,eAAe,gBAAgB,4DAA4D,kBAAkB,+EAA+E,cAAc,wDAAwD,kBAAkB,QAAQ,UAAU,8EAA8E,cAAc,+CAA+C,YAAY,8DAA8D,cAAc;;AAExwB","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"xgplayer\"] = factory();\n\telse\n\t\troot[\"xgplayer\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","import XgplayerTimeRange from './xgplayerTimeRange'\n\nexport function createDom(el = 'div', tpl = '', attrs = {}, cname = '') {\n let dom = document.createElement(el)\n dom.className = cname\n dom.innerHTML = tpl\n Object.keys(attrs).forEach(item => {\n let key = item\n let value = attrs[item]\n if (el === 'video' || el === 'audio') {\n if (value) {\n dom.setAttribute(key, value)\n }\n } else {\n dom.setAttribute(key, value)\n }\n })\n return dom\n}\n\nexport function hasClass(el, className) {\n if (!el) {\n return false;\n }\n\n if (el.classList) {\n return Array.prototype.some.call(el.classList, item => item === className)\n } else if (el.className) {\n return !!el.className.match(new RegExp('(\\\\s|^)' + className + '(\\\\s|$)'))\n } else {\n return false;\n }\n}\n\nexport function addClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.replace(/(^\\s+|\\s+$)/g, '').split(/\\s+/g).forEach(item => {\n item && el.classList.add(item)\n })\n } else if (!hasClass(el, className)) {\n el.className += ' ' + className\n }\n}\n\nexport function removeClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.split(/\\s+/g).forEach(item => {\n el.classList.remove(item)\n })\n } else if (hasClass(el, className)) {\n className.split(/\\s+/g).forEach(item => {\n let reg = new RegExp('(\\\\s|^)' + item + '(\\\\s|$)')\n el.className = el.className.replace(reg, ' ')\n })\n }\n}\n\nexport function toggleClass(el, className) {\n if (!el) {\n return;\n }\n\n className.split(/\\s+/g).forEach(item => {\n if (hasClass(el, item)) {\n removeClass(el, item)\n } else {\n addClass(el, item)\n }\n })\n}\n\nexport function findDom(el = document, sel) {\n let dom\n // fix querySelector IDs that start with a digit\n // https://stackoverflow.com/questions/37270787/uncaught-syntaxerror-failed-to-execute-queryselector-on-document\n try {\n dom = el.querySelector(sel)\n } catch (e) {\n if (sel.indexOf('#') === 0) {\n dom = el.getElementById(sel.slice(1))\n }\n }\n return dom\n}\n\nexport function padStart(str, length, pad) {\n let charstr = String(pad)\n let len = length >> 0\n let maxlen = Math.ceil(len / charstr.length)\n let chars = []\n let r = String(str)\n while (maxlen--) {\n chars.push(charstr)\n }\n return chars.join('').substring(0, len - r.length) + r\n}\n\nexport function format(time) {\n if (window.isNaN(time)) {\n return ''\n }\n let hour = padStart(Math.floor(time / 3600), 2, 0)\n let minute = padStart(Math.floor((time - hour * 3600) / 60), 2, 0)\n let second = padStart(Math.floor((time - hour * 3600 - minute * 60)), 2, 0)\n return (hour === '00' ? [minute, second] : [hour, minute, second]).join(':')\n}\n\nexport function event(e) {\n if (e.touches) {\n let touch = e.touches[0] || e.changedTouches[0]\n e.clientX = touch.clientX || 0\n e.clientY = touch.clientY || 0\n e.offsetX = touch.pageX - touch.target.offsetLeft\n e.offsetY = touch.pageY - touch.target.offsetTop\n }\n e._target = e.target || e.srcElement\n}\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).match(/([^\\s.*]+)(?=]$)/g)[0]\n}\n\nexport function deepCopy(dst, src) {\n if (typeOf(src) === 'Object' && typeOf(dst) === 'Object') {\n Object.keys(src).forEach(key => {\n if (typeOf(src[key]) === 'Object' && !(src[key] instanceof Node)) {\n if (!dst[key]) {\n dst[key] = src[key]\n } else {\n deepCopy(dst[key], src[key])\n }\n } else if (typeOf(src[key]) === 'Array') {\n dst[key] = typeOf(dst[key]) === 'Array' ? dst[key].concat(src[key]) : src[key]\n } else {\n dst[key] = src[key]\n }\n })\n return dst\n }\n}\nexport function getBgImage(el) {\n // fix: return current page url when url is none\n let url = (el.currentStyle || window.getComputedStyle(el, null)).backgroundImage\n if (!url || url === 'none') {\n return ''\n }\n let a = document.createElement('a')\n a.href = url.replace(/url\\(\"|\"\\)/g, '')\n return a.href\n}\n\nexport function copyDom(dom) {\n if (dom && dom.nodeType === 1) {\n let back = document.createElement(dom.tagName)\n Array.prototype.forEach.call(dom.attributes, (node) => {\n back.setAttribute(node.name, node.value)\n })\n if (dom.innerHTML) {\n back.innerHTML = dom.innerHTML\n }\n return back\n } else {\n return ''\n }\n}\n\nexport function _setInterval(context, eventName, intervalFunc, frequency) {\n if (!context._interval[eventName]) {\n context._interval[eventName] = setInterval(intervalFunc.bind(context), frequency)\n }\n}\n\nexport function _clearInterval(context, eventName) {\n clearInterval(context._interval[eventName])\n context._interval[eventName] = null\n}\n\nexport function createImgBtn(name, imgUrl, width, height) {\n let btn = createDom(`xg-${name}`, '', {}, `xgplayer-${name}-img`)\n btn.style.backgroundImage = `url(\"${imgUrl}\")`\n if (width && height) {\n let w, h, unit\n ['px', 'rem', 'em', 'pt', 'dp', 'vw', 'vh', 'vm', '%'].every((item) => {\n if (width.indexOf(item) > -1 && height.indexOf(item) > -1) {\n w = Number(width.slice(0, width.indexOf(item)).trim())\n h = Number(height.slice(0, height.indexOf(item)).trim())\n unit = item\n return false\n } else {\n return true\n }\n })\n btn.style.width = `${w}${unit}`\n btn.style.height = `${h}${unit}`\n btn.style.backgroundSize = `${w}${unit} ${h}${unit}`\n if (name === 'start') {\n btn.style.margin = `-${h / 2}${unit} auto auto -${w / 2}${unit}`\n } else {\n btn.style.margin = 'auto 5px auto 5px'\n }\n }\n return btn\n}\n\nexport function isWeiXin() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('micromessenger') > -1\n}\n\nexport function isUc() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('ucbrowser') > -1\n}\n\nexport function computeWatchDur(played = []) {\n let arr = []\n for (let i = 0; i < played.length; i++) {\n if(!played[i].end || played[i].begin < 0 || played[i].end < 0 || played[i].end < played[i].begin) {\n continue\n }\n if(arr.length < 1) {\n arr.push({begin: played[i].begin, end: played[i].end})\n } else {\n for (let j = 0; j < arr.length; j++) {\n let begin = played[i].begin\n let end = played[i].end\n if(end < arr[j].begin) {\n arr.splice(j, 0, {begin, end})\n break\n } else if(begin > arr[j].end) {\n if(j > arr.length - 2) {\n arr.push({begin, end})\n break\n }\n } else {\n let b = arr[j].begin\n let e = arr[j].end\n arr[j].begin = Math.min(begin, b)\n arr[j].end = Math.max(end, e)\n break\n }\n }\n }\n }\n let watch_dur = 0\n for (let i = 0; i < arr.length; i++) {\n watch_dur += arr[i].end - arr[i].begin\n }\n return watch_dur\n}\n\nexport function offInDestroy(object, event, fn, offEvent) {\n function onDestroy () {\n object.off(event, fn)\n object.off(offEvent, onDestroy)\n }\n object.once(offEvent, onDestroy)\n}\n\nexport function on(object, event, fn, offEvent) {\n if (offEvent) {\n object.on(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.on(event, _fn)\n }\n}\n\nexport function once(object, event, fn, offEvent) {\n if (offEvent) {\n object.once(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.once(event, _fn)\n }\n}\n\nexport function getBuffered2(vbuffered, maxHoleDuration = 0.5) { //ref: hls.js\n let buffered = []\n for (let i = 0; i < vbuffered.length; i++) {\n buffered.push({ start: vbuffered.start(i) < 0.5 ? 0 : vbuffered.start(i), end: vbuffered.end(i) });\n }\n buffered.sort(function (a, b) {\n let diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n let buffered_2 = []\n if (maxHoleDuration) {\n for (let i = 0; i < buffered.length; i++) {\n let buf2len = buffered_2.length\n if (buf2len) {\n let buf2end = buffered_2[buf2len - 1].end\n if ((buffered[i].start - buf2end) < maxHoleDuration) {\n if (buffered[i].end > buf2end) {\n buffered_2[buf2len - 1].end = buffered[i].end\n }\n } else {\n buffered_2.push(buffered[i])\n }\n } else {\n buffered_2.push(buffered[i])\n }\n }\n } else {\n buffered_2 = buffered\n }\n return new XgplayerTimeRange(buffered_2)\n}\n\nexport function checkIsBrowser() {\n return !(typeof(window) === 'undefined' || typeof(window.document) === 'undefined' || typeof(window.document.createElement) === 'undefined')\n}\n\nexport function setStyle(elem, name, value) {\n let style = elem.style;\n try {\n style[name] = value;\n } catch (error) {\n style.setProperty( name, value );\n }\n}\n\nexport const PresentationMode = {\n PIP: 'picture-in-picture',\n INLINE: 'inline',\n FULLSCREEN: 'fullscreen'\n}\n\nexport function checkWebkitSetPresentationMode (video) {\n return typeof video.webkitSetPresentationMode === 'function'\n}\n\nexport const util = {\n createDom, hasClass, addClass, removeClass, toggleClass, findDom, padStart, format, event, typeOf, \n deepCopy, getBgImage, copyDom, setInterval: _setInterval, clearInterval: _clearInterval, createImgBtn, isWeiXin, isUc, computeWatchDur,\n offInDestroy, on, once, getBuffered2, checkIsBrowser, setStyle\n}\n\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","import {version} from '../version.json'\nconst ErrorTypes = {\n network: {\n code: 1,\n msg: '视频下载错误',\n remark: '只要视频下载错误就使用此类型,无论是video本身的超时还是xhr的分段请求超时或者资源不存在'\n },\n mse: {\n code: 2,\n msg: '流追加错误',\n remark: '追加流的时候如果类型不对、无法被正确解码则会触发此类错误'\n },\n parse: {\n code: 3,\n msg: '解析错误',\n remark: 'mp4、hls、flv我们都是使用js进行格式解析,如果解析失败则会触发此类错误'\n },\n format: {\n code: 4,\n msg: '格式错误',\n remark: '如果浏览器不支持的格式导致播放错误'\n },\n decoder: {\n code: 5,\n msg: '解码错误',\n remark: '浏览器解码异常会抛出此类型错误'\n },\n runtime: {\n code: 6,\n msg: '语法错误',\n remark: '播放器语法错误'\n },\n timeout: {\n code: 7,\n msg: '播放超时',\n remark: '播放过程中无法正常请求下一个分段导致播放中断'\n },\n other: {\n code: 8,\n msg: '其他错误',\n remark: '不可知的错误或被忽略的错误类型'\n }\n}\n\nclass Errors {\n constructor (type, currentTime, duration, networkState, readyState, src, currentSrc,\n ended, errd = {line: '', handle: '', msg: '', version: ''}, errorCode, mediaError) {\n let r = {}\n if (arguments.length > 1) {\n r.playerVersion = version // 播放器版本\n r.errorType = type\n r.domain = document.domain // domain\n r.duration = duration // 视频时长\n r.currentTime = currentTime\n r.networkState = networkState\n r.readyState = readyState\n r.currentSrc = currentSrc\n r.src = src\n r.ended = ended\n r.errd = errd // 错误详情\n r.ex = (ErrorTypes[type] || {}).msg // 补充信息\n r.errorCode = errorCode\n r.mediaError = mediaError\n } else {\n const arg = arguments[0]\n Object.keys(arg).map(key => {\n r[key] = arg[key]\n })\n r.ex = ((arg.type && ErrorTypes[arg.type]) || {}).msg\n }\n return r\n }\n}\nexport default Errors\n","let sniffer = {}\n\nObject.defineProperty(sniffer, 'device', {\n get: function () {\n let r = sniffer.os\n return r.isPc ? 'pc' : 'mobile'\n // return r.isPc ? 'pc' : r.isTablet ? 'tablet' : 'mobile'\n }\n})\n\nObject.defineProperty(sniffer, 'browser', {\n get: function () {\n let ua = navigator.userAgent.toLowerCase()\n let reg = {\n ie: /rv:([\\d.]+)\\) like gecko/,\n firfox: /firefox\\/([\\d.]+)/,\n chrome: /chrome\\/([\\d.]+)/,\n opera: /opera.([\\d.]+)/,\n safari: /version\\/([\\d.]+).*safari/\n }\n return [].concat(Object.keys(reg).filter(key => reg[key].test(ua)))[0] || ''\n }\n})\n\nObject.defineProperty(sniffer, 'os', {\n get: function () {\n let ua = navigator.userAgent\n let isWindowsPhone = /(?:Windows Phone)/.test(ua)\n let isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone\n let isAndroid = /(?:Android)/.test(ua)\n let isFireFox = /(?:Firefox)/.test(ua)\n let isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua))\n let isPhone = /(?:iPhone)/.test(ua) && !isTablet\n let isPc = !isPhone && !isAndroid && !isSymbian && !isTablet\n return {\n isTablet,\n isPhone,\n isAndroid,\n isPc,\n isSymbian,\n isWindowsPhone,\n isFireFox\n }\n }\n})\n\nexport default sniffer\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","export default class XgplayerTimeRange {\n constructor(bufferedList) {\n this.bufferedList = bufferedList\n }\n\n start (index) {\n return this.bufferedList[index].start\n }\n\n end (index) {\n return this.bufferedList[index].end\n }\n\n get length () {\n return this.bufferedList.length\n }\n}\n","import Proxy from './proxy'\nimport { util, deepCopy, findDom, createDom, addClass, typeOf, hasClass, removeClass, checkIsBrowser } from './utils/util'\nimport sniffer from './utils/sniffer'\nimport XgplayerTimeRange from './utils/xgplayerTimeRange'\nimport Errors from './error'\nimport allOff from 'event-emitter/all-off'\nimport s_i18n from './skin/controls/i18n.js'\nimport './skin/style/index.scss'\n\nimport {\n version\n} from '../version.json'\nclass Player extends Proxy {\n constructor (options) {\n super(options)\n this.config = deepCopy({\n width: 600,\n height: 337.5,\n ignores: [],\n whitelist: [],\n lang: (document.documentElement.getAttribute('lang') || navigator.language || 'zh-cn').toLocaleLowerCase(),\n inactive: 3000,\n volume: 0.6,\n controls: true,\n controlsList: ['nodownload']\n }, options)\n this.version = version\n this.userTimer = null\n this.waitTimer = null\n this.history = []\n this.isProgressMoving = false\n this.root = findDom(document, `#${this.config.id}`)\n this.controls = createDom('xg-controls', '', {\n unselectable: 'on',\n onselectstart: 'return false'\n }, 'xgplayer-controls')\n if (this.config.isShowControl) {\n this.controls.style.display = 'none'\n }\n if (!this.root) {\n let el = this.config.el\n if (el && el.nodeType === 1) {\n this.root = el\n } else {\n this.emit('error', new Errors({\n type: 'use',\n errd: {\n line: 45,\n handle: 'Constructor',\n msg: 'container id can\\'t be empty'\n },\n vid: this.config.vid\n }))\n console.error('container id can\\'t be empty')\n return false\n }\n }\n // this.rootBackup = copyDom(this.root)\n addClass(this.root, `xgplayer xgplayer-${sniffer.device} xgplayer-nostart xgplayer-pause ${this.config.controls ? '' : 'xgplayer-no-controls'}`)\n this.root.appendChild(this.controls)\n if (this.config.fluid) {\n this.root.style['max-width'] = '100%'\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n\n this.video.style['position'] = 'absolute'\n this.video.style['top'] = '0'\n this.video.style['left'] = '0'\n } else {\n // this.root.style.width = `${this.config.width}px`\n // this.root.style.height = `${this.config.height}px`\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n if (this.config.execBeforePluginsCall) {\n this.config.execBeforePluginsCall.forEach(item => {\n item.call(this, this)\n })\n }\n if(!this.config.closeI18n) {\n Player.install(s_i18n.name, s_i18n.method)\n }\n if (this.config.controlStyle && typeOf(this.config.controlStyle) === 'String') {\n let self = this\n fetch(self.config.controlStyle, {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n if (res.ok) {\n res.json().then(function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n self.config[prop] = obj[prop]\n }\n }\n self.pluginsCall()\n })\n }\n }).catch(function (err) {\n console.log('Fetch错误:' + err)\n })\n } else {\n this.pluginsCall()\n }\n if(this.config.controlPlugins) {\n Player.controlsRun(this.config.controlPlugins, this)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.on(evName, evFunc)\n }\n });\n\n ['focus', 'blur'].forEach(item => {\n this.on(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n let player = this\n this.mousemoveFunc = function () {\n player.emit('focus')\n if (!player.config.closeFocusVideoFocus) {\n player.video.focus()\n }\n }\n this.root.addEventListener('mousemove', this.mousemoveFunc)\n this.playFunc = function () {\n player.emit('focus')\n if (!player.config.closePlayVideoFocus) {\n player.video.focus()\n }\n }\n player.once('play', this.playFunc)\n\n this.getVideoSize = function () {\n if (this.video.videoWidth && this.video.videoHeight) {\n let containerSize = player.root.getBoundingClientRect()\n if (player.config.fitVideoSize === 'auto') {\n if (containerSize.width / containerSize.height > this.video.videoWidth / this.video.videoHeight) {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n } else if (player.config.fitVideoSize === 'fixWidth') {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else if (player.config.fitVideoSize === 'fixHeight') {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n }\n }\n player.once('loadeddata', this.getVideoSize)\n\n setTimeout(() => {\n this.emit('ready')\n this.isReady = true\n }, 0)\n\n if (this.config.videoInit) {\n if (hasClass(this.root, 'xgplayer-nostart')) {\n this.start()\n }\n }\n if (player.config.rotate) {\n player.on('requestFullscreen', this.updateRotateDeg)\n player.on('exitFullscreen', this.updateRotateDeg)\n }\n\n function onDestroy () {\n player.root.removeEventListener('mousemove', player.mousemoveFunc)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n\n attachVideo () {\n if(this.video && this.video.nodeType === 1) {\n this.root.insertBefore(this.video, this.root.firstChild)\n }\n setTimeout(() => {\n this.emit('complete')\n if(this.danmu && typeof this.danmu.resize === 'function') {\n this.danmu.resize()\n }\n }, 1)\n }\n\n start (url = this.config.url) {\n if(!this.video) return\n let player = this\n if (!url || url === '') {\n this.emit('urlNull')\n return\n }\n this.canPlayFunc = function () {\n player.off('canplay', player.canPlayFunc)\n let playPromise = player.video.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.then(function () {\n player.emit('autoplay started')\n }).catch(function () {\n player.emit('autoplay was prevented')\n addClass(player.root, 'xgplayer-is-autoplay')\n })\n }\n }\n if (typeOf(url) !== 'Array') {\n if (typeOf(url) === 'String' && url.indexOf('blob:') > -1 && url === this.video.src) {\n // 在Chromium环境下用mse url给video二次赋值会导致错误\n } else {\n this.video.src = url\n }\n } else {\n url.forEach(item => {\n this.video.appendChild(createDom('source', '', {\n src: `${item.src}`,\n type: `${item.type || ''}`\n }))\n })\n }\n if (this.config.autoplay) {\n if (sniffer.os.isPhone) {\n this.canPlayFunc()\n } else {\n this.on('canplay', this.canPlayFunc)\n }\n }\n if(!this.config.disableStartLoad) {\n this.video.load()\n }\n this.attachVideo()\n }\n\n reload () {\n this.video.load()\n this.reloadFunc = function () {\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n this.once('loadeddata', this.reloadFunc)\n }\n\n destroy (isDelDom = true) {\n let player = this\n clearInterval(this.bulletResizeTimer)\n for (let k in this._interval) {\n clearInterval(this._interval[k])\n this._interval[k] = null\n }\n if (this.checkTimer) {\n clearInterval(this.checkTimer)\n }\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.off(evName, evFunc)\n }\n });\n if (this.loadeddataFunc) {\n this.off('loadeddata', this.loadeddataFunc)\n }\n if (this.reloadFunc) {\n this.off('loadeddata', this.reloadFunc)\n }\n if (this.replayFunc) {\n this.off('play', this.replayFunc)\n }\n if (this.playFunc) {\n this.off('play', this.playFunc)\n }\n if (this.getVideoSize) {\n this.off('loadeddata', this.getVideoSize)\n };\n ['focus', 'blur'].forEach(item => {\n this.off(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n if (!this.config.keyShortcut || this.config.keyShortcut === 'on') {\n ['video', 'controls'].forEach(item => {\n if (this[item]) {\n this[item].removeEventListener('keydown', function (e) { player.onKeydown(e, player) })\n }\n })\n }\n\n function destroyFunc () {\n this.emit('destroy')\n // this.root.id = this.root.id + '_del'\n // parentNode.insertBefore(this.rootBackup, this.root)\n\n // fix video destroy https://stackoverflow.com/questions/3258587/how-to-properly-unload-destroy-a-video-element\n this.video.removeAttribute('src') // empty source\n this.video.load()\n if (isDelDom) {\n // parentNode.removeChild(this.root)\n this.root.innerHTML = ''\n let classNameList = this.root.className.split(' ')\n if (classNameList.length > 0) {\n this.root.className = classNameList.filter(name => name.indexOf('xgplayer') < 0).join(' ')\n } else {\n this.root.className = ''\n }\n }\n\n for (let k in this) {\n // if (k !== 'config') {\n delete this[k]\n // }\n }\n allOff(this)\n }\n\n if (!this.paused) {\n this.pause()\n this.once('pause', destroyFunc)\n } else {\n destroyFunc.call(this)\n }\n super.destroy()\n }\n\n replay () {\n let self = this\n let _replay = this._replay\n // ie9 bugfix\n removeClass(this.root, 'xgplayer-ended')\n if(sniffer.browser.indexOf('ie') > -1) {\n this.emit('play')\n this.emit('playing')\n }\n \n if (_replay && _replay instanceof Function) {\n _replay()\n } else {\n this.currentTime = 0\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n\n userGestureTrigEvent (name, param) {\n const defaultUserGestureEventHandler = (name, param) => {\n this.emit(name, param)\n }\n if(this.config.userGestureEventMiddleware && typeof this.config.userGestureEventMiddleware[name] === 'function') {\n this.config.userGestureEventMiddleware[name].call(this, this, name, param, defaultUserGestureEventHandler)\n } else {\n defaultUserGestureEventHandler.call(this, name, param);\n }\n }\n\n pluginsCall () {\n if(Player.plugins['s_i18n']) {\n Player.plugins['s_i18n'].call(this, this)\n }\n let self = this\n if (Player.plugins) {\n let ignores = this.config.ignores\n Object.keys(Player.plugins).forEach(name => {\n let descriptor = Player.plugins[name]\n if(!descriptor || typeof descriptor !== 'function'){\n console.warn('plugin name', name , 'is invalid')\n } else {\n if (!ignores.some(item => name === item || name === 's_' + item) && name !== 's_i18n') {\n if (['pc', 'tablet', 'mobile'].some(type => type === name)) {\n if (name === sniffer.device) {\n setTimeout(() => {\n // if destroyed, skip\n if (!self.video) return;\n descriptor.call(self, self)\n }, 0)\n }\n } else {\n descriptor.call(this, this)\n }\n }\n }\n })\n }\n }\n\n onFocus () {\n let player = this\n if(hasClass(this.root, 'xgplayer-inactive')) {\n player.emit('controlShow')\n }\n removeClass(this.root, 'xgplayer-inactive')\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n player.userTimer = setTimeout(function () {\n player.emit('blur')\n }, player.config.inactive)\n }\n\n onBlur () {\n // this.video.blur()\n if ((this.config.enablePausedInactive || !this.paused) && !this.ended && !this.config.closeInactive) {\n if(!hasClass(this.root, 'xgplayer-inactive')) {\n this.emit('controlHide')\n }\n addClass(this.root, 'xgplayer-inactive')\n }\n }\n\n onPlay () {\n addClass(this.root, 'xgplayer-isloading')\n addClass(this.root, 'xgplayer-playing')\n removeClass(this.root, 'xgplayer-pause')\n }\n\n onPause () {\n addClass(this.root, 'xgplayer-pause')\n if (this.userTimer) {\n clearTimeout(this.userTimer)\n }\n this.emit('focus')\n }\n\n onEnded () {\n addClass(this.root, 'xgplayer-ended')\n removeClass(this.root, 'xgplayer-playing')\n }\n\n onSeeking () {\n this.isSeeking = true\n // 兼容IE下无法触发waiting事件的问题 seeking的时候直接出发waiting\n this.onWaiting()\n // addClass(this.root, 'seeking');\n }\n\n // onTimeupdate () {\n // // for ie,playing fired before waiting\n // if (this.waitTimer) {\n // clearTimeout(this.waitTimer)\n // }\n // removeClass(this.root, 'xgplayer-isloading')\n\n // }\n\n onSeeked () {\n // for ie,playing fired before waiting\n this.once('timeupdate', () => {\n this.isSeeking = false\n })\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading')\n }\n\n onWaiting () {\n let self = this\n if (self.waitTimer) {\n clearTimeout(self.waitTimer)\n }\n if (self.checkTimer) {\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n let time = self.currentTime\n self.waitTimer = setTimeout(function () {\n addClass(self.root, 'xgplayer-isloading')\n self.checkTimer = setInterval(function () {\n if (self.currentTime !== time) {\n removeClass(self.root, 'xgplayer-isloading')\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n }, 1000)\n }, 500)\n }\n\n onPlaying () {\n // 兼容safari下无法自动播放会触发该事件的场景\n if (this.paused) {\n return\n }\n this.isSeeking = false\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading xgplayer-nostart xgplayer-pause xgplayer-ended xgplayer-is-error xgplayer-replay')\n addClass(this.root, 'xgplayer-playing')\n }\n\n static install (name, descriptor) {\n if (!checkIsBrowser()) {\n return\n }\n if (!Player.plugins) {\n Player.plugins = {}\n }\n if (!Player.plugins[name]) {\n Player.plugins[name] = descriptor\n }\n }\n\n static installAll (list) {\n for(let k = 0; k < list.length; k++){\n Player.install(list[k].name, list[k].method)\n }\n }\n\n static use (name, descriptor) {\n if (!Player.plugins) {\n Player.plugins = {}\n }\n Player.plugins[name] = descriptor\n }\n\n static useAll (list) {\n for (let k in list) {\n Player.use(list[k].name, list[k].method)\n }\n }\n\n static controlsRun (controlLst, context) {\n controlLst.forEach(function(control) {\n control.method.call(context)\n })\n }\n}\n\nPlayer.util = util\nPlayer.sniffer = sniffer\nPlayer.Errors = Errors\nPlayer.XgplayerTimeRange = XgplayerTimeRange\n\nexport default Player\n","import { typeOf } from '../../utils/util'\n\nlet s_i18n = function () {\n let player = this; let lang = {};\n lang.en = {\n HAVE_NOTHING: 'There is no information on whether audio/video is ready',\n HAVE_METADATA: 'Audio/video metadata is ready ',\n HAVE_CURRENT_DATA: 'Data about the current play location is available, but there is not enough data to play the next frame/millisecond',\n HAVE_FUTURE_DATA: 'Current and at least one frame of data is available',\n HAVE_ENOUGH_DATA: 'The available data is sufficient to start playing',\n NETWORK_EMPTY: 'Audio/video has not been initialized',\n NETWORK_IDLE: 'Audio/video is active and has been selected for resources, but no network is used',\n NETWORK_LOADING: 'The browser is downloading the data',\n NETWORK_NO_SOURCE: 'No audio/video source was found',\n MEDIA_ERR_ABORTED: 'The fetch process is aborted by the user',\n MEDIA_ERR_NETWORK: 'An error occurred while downloading',\n MEDIA_ERR_DECODE: 'An error occurred while decoding',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'Audio/video is not supported',\n REPLAY: 'Replay',\n ERROR: 'Network is offline',\n PLAY_TIPS: 'Play',\n PAUSE_TIPS: 'Pause',\n PLAYNEXT_TIPS: 'Play next',\n DOWNLOAD_TIPS: 'Download',\n ROTATE_TIPS: 'Rotate',\n RELOAD_TIPS: 'Reload',\n FULLSCREEN_TIPS: \"Fullscreen\",\n EXITFULLSCREEN_TIPS: 'Exit fullscreen',\n CSSFULLSCREEN_TIPS: 'Cssfullscreen',\n EXITCSSFULLSCREEN_TIPS: 'Exit cssfullscreen',\n TEXTTRACK: 'Caption',\n PIP: 'Pip',\n MINIPLAYER: 'Miniplayer',\n SCREENSHOT: 'Screenshot',\n LIVE: 'LIVE',\n OFF: 'Off',\n MINIPLAYER_DRAG: 'Click and hold to drag',\n AIRPLAY_TIPS: 'Airplay',\n }\n lang['zh-cn'] = {\n HAVE_NOTHING: '没有关于音频/视频是否就绪的信息',\n HAVE_METADATA: '音频/视频的元数据已就绪',\n HAVE_CURRENT_DATA: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒',\n HAVE_FUTURE_DATA: '当前及至少下一帧的数据是可用的',\n HAVE_ENOUGH_DATA: '可用数据足以开始播放',\n NETWORK_EMPTY: '音频/视频尚未初始化',\n NETWORK_IDLE: '音频/视频是活动的且已选取资源,但并未使用网络',\n NETWORK_LOADING: '浏览器正在下载数据',\n NETWORK_NO_SOURCE: '未找到音频/视频来源',\n MEDIA_ERR_ABORTED: '取回过程被用户中止',\n MEDIA_ERR_NETWORK: '当下载时发生错误',\n MEDIA_ERR_DECODE: '当解码时发生错误',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音频/视频格式',\n REPLAY: '重播',\n ERROR: '网络连接似乎出现了问题',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暂停',\n PLAYNEXT_TIPS: '下一集',\n DOWNLOAD_TIPS: '下载',\n ROTATE_TIPS: '旋转',\n RELOAD_TIPS: '重新载入',\n FULLSCREEN_TIPS: \"进入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '进入样式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出样式全屏',\n TEXTTRACK: '字幕',\n PIP: '画中画',\n MINIPLAYER: '迷你播放器',\n SCREENSHOT: '截图',\n LIVE: '正在直播',\n OFF: '关闭',\n MINIPLAYER_DRAG: '点击按住可拖动视频',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['zh-hk'] = {\n HAVE_NOTHING: '沒有關於音頻/視頻是否就緒的信息',\n HAVE_METADATA: '音頻/視頻的元數據已就緒',\n HAVE_CURRENT_DATA: '關於當前播放位置的數據是可用的,但沒有足夠的數據來播放下壹幀/毫秒',\n HAVE_FUTURE_DATA: '當前及至少下壹幀的數據是可用的',\n HAVE_ENOUGH_DATA: '可用數據足以開始播放',\n NETWORK_EMPTY: '音頻/視頻尚未初始化',\n NETWORK_IDLE: '音頻/視頻是活動的且已選取資源,但並未使用網絡',\n NETWORK_LOADING: '瀏覽器正在下載數據',\n NETWORK_NO_SOURCE: '未找到音頻/視頻來源',\n MEDIA_ERR_ABORTED: '取回過程被用戶中止',\n MEDIA_ERR_NETWORK: '當下載時發生錯誤',\n MEDIA_ERR_DECODE: '當解碼時發生錯誤',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音頻/視頻格式',\n REPLAY: '重播',\n ERROR: '網絡連接似乎出現了問題',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暫停',\n PLAYNEXT_TIPS: '下壹集',\n DOWNLOAD_TIPS: '下載',\n ROTATE_TIPS: '旋轉',\n RELOAD_TIPS: '重新載入',\n FULLSCREEN_TIPS: \"進入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '進入樣式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出樣式全屏',\n TEXTTRACK: '字幕',\n PIP: '畫中畫',\n MINIPLAYER: '迷妳播放器',\n SCREENSHOT: '截圖',\n LIVE: '正在直播',\n OFF: '關閉',\n MINIPLAYER_DRAG: '點擊按住可拖動視頻',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['jp'] = {\n HAVE_NOTHING: 'オーディオ/ビデオが準備できているか情報がありません',\n HAVE_METADATA: 'オーディオ/ビデオのメタデータは準備できています',\n HAVE_CURRENT_DATA: '現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません',\n HAVE_FUTURE_DATA: '現在、少なくとも次のフレームのデータが利用可能です',\n HAVE_ENOUGH_DATA: '利用可能なデータは再生を開始するのに十分です',\n NETWORK_EMPTY: 'オーディオ/ビデオが初期化されていません',\n NETWORK_IDLE: 'オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません',\n NETWORK_LOADING: 'ブラウザーはデータをダウンロードしています',\n NETWORK_NO_SOURCE: 'オーディオ/ビデオ のソースが見つかりません',\n MEDIA_ERR_ABORTED: 'ユーザーによってフェッチプロセスが中止されました',\n MEDIA_ERR_NETWORK: 'ダウンロード中にエラーが発生しました',\n MEDIA_ERR_DECODE: 'デコード中にエラーが発生しました',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'オーディオ/ビデオ の形式がサポートされていません',\n REPLAY: 'リプレイ',\n ERROR: 'ネットワークの接続に問題が発生しました',\n PLAY_TIPS: 'プレイ',\n PAUSE_TIPS: '一時停止',\n PLAYNEXT_TIPS: '次をプレイ',\n DOWNLOAD_TIPS: 'ダウンロード',\n ROTATE_TIPS: '回転',\n RELOAD_TIPS: '再読み込み',\n FULLSCREEN_TIPS: \"フルスクリーン\",\n EXITFULLSCREEN_TIPS: 'フルスクリーンを終了',\n CSSFULLSCREEN_TIPS: 'シアターモード',\n EXITCSSFULLSCREEN_TIPS: 'シアターモードを終了',\n TEXTTRACK: '字幕',\n PIP: 'ミニプレーヤー',\n MINIPLAYER: 'ミニプレーヤー',\n SCREENSHOT: 'スクリーンショット',\n LIVE: '生放送',\n OFF: 'オフ',\n MINIPLAYER_DRAG: 'ボタンを押して働画をドラッグする',\n AIRPLAY_TIPS: '隔空放送',\n }\n\n Object.defineProperty(player, 'lang', {\n get: function () {\n if (player.config) {\n return lang[player.config.lang] || lang['en']\n } else {\n return lang['en']\n }\n },\n set: function (value) {\n if (typeOf(value) === 'Object') {\n Object.keys(value).forEach(key => {\n lang[key] = value[key]\n })\n }\n }\n })\n\n}\n\nexport default {\n name: 's_i18n',\n method: s_i18n\n}","import EventEmitter from 'event-emitter'\nimport { findDom, createDom, hasClass, removeClass, _clearInterval, _setInterval, on, once, getBuffered2, setStyle } from './utils/util'\nimport Errors from './error'\n\nclass Proxy {\n constructor (options) {\n this._hasStart = false\n this.videoConfig = {\n controls: !!options.isShowControl,\n autoplay: options.autoplay,\n playsinline: options.playsinline,\n 'webkit-playsinline': options.playsinline,\n 'x5-playsinline': options.playsinline,\n 'x5-video-player-type': options['x5-video-player-type'] || options['x5VideoPlayerType'],\n 'x5-video-player-fullscreen': options['x5-video-player-fullscreen'] || options['x5VideoPlayerFullscreen'],\n 'x5-video-orientation': options['x5-video-orientation'] || options['x5VideoOrientation'],\n airplay: options['airplay'],\n 'webkit-airplay': options['airplay'],\n tabindex: 2,\n mediaType: options.mediaType || 'video'\n }\n if (options.muted) {\n this.videoConfig.muted = 'muted'\n }\n if (options.loop) {\n this.videoConfig.loop = 'loop'\n }\n let textTrackDom = ''\n this.textTrackShowDefault = true\n if (options.nativeTextTrack && Array.isArray(options.nativeTextTrack)) {\n if (options.nativeTextTrack.length > 0 && !options.nativeTextTrack.some(track => { return track.default })) {\n options.nativeTextTrack[0].default = true\n this.textTrackShowDefault = false\n }\n options.nativeTextTrack.some(track => {\n if (track.src && track.label && track.default) {\n textTrackDom += `<track src=\"${track.src}\" `\n if (track.kind) {\n textTrackDom += `kind=\"${track.kind}\" `\n }\n textTrackDom += `label=\"${track.label}\" `\n if (track.srclang) {\n textTrackDom += `srclang=\"${track.srclang}\" `\n }\n textTrackDom += `${track.default ? 'default' : ''}>`\n return true\n }\n })\n this.videoConfig.crossorigin = 'anonymous'\n }\n if (options.textTrackStyle) {\n let style = document.createElement('style')\n this.textTrackStyle = style\n document.head.appendChild(style)\n let styleStr = ''\n for (let index in options.textTrackStyle) {\n styleStr += `${index}: ${options.textTrackStyle[index]};`\n }\n let wrap = options.id ? `#${options.id}` : (options.el.id ? `#${options.el.id}` : `.${options.el.className}`)\n if (style.sheet.insertRule) {\n style.sheet.insertRule(`${wrap} video::cue { ${styleStr} }`, 0)\n } else if (style.sheet.addRule) {\n style.sheet.addRule(`${wrap} video::cue`, styleStr)\n }\n }\n let el = options.el ? options.el : findDom(document, `#${options.id}`)\n const XgVideoProxy = this.constructor.XgVideoProxy\n if(XgVideoProxy && this.videoConfig.mediaType === XgVideoProxy.mediaType) {\n this.video = new XgVideoProxy(el, options)\n } else {\n this.video = createDom(this.videoConfig.mediaType, textTrackDom, this.videoConfig, '')\n }\n if (options.videoStyle) {\n Object.keys(options.videoStyle).forEach(key => {\n setStyle(this.video, key, options.videoStyle[key])\n })\n }\n if (!this.textTrackShowDefault && textTrackDom) {\n let trackDoms = this.video.getElementsByTagName('Track')\n trackDoms[0].track.mode = 'hidden'\n }\n if (options.autoplay) {\n this.video.autoplay = true\n if (options.autoplayMuted) {\n this.video.muted = true\n }\n }\n\n this.ev = ['play', 'playing', 'pause', 'ended', 'error', 'seeking', 'seeked', 'progress', \n 'timeupdate', 'waiting', 'canplay', 'canplaythrough', 'durationchange', 'volumechange', 'ratechange', 'loadedmetadata', 'loadeddata', 'loadstart'\n ].map((item) => {\n return {\n [item]: `on${item.charAt(0).toUpperCase()}${item.slice(1)}`\n }\n })\n EventEmitter(this)\n\n this._interval = {}\n let lastBuffer = '0,0'\n let self = this\n\n const defaultVideoEventHandler = name => {\n // fix when video destroy called and video reload\n if (!this) {\n return\n }\n if (name === 'play') {\n this.hasStart = true\n } else if (name === 'canplay') {\n removeClass(this.root, 'xgplayer-is-enter')\n } else if (name === 'waiting') {\n this.inWaitingStart = new Date().getTime()\n } else if (name === 'playing') {\n removeClass(this.root, 'xgplayer-is-enter')\n if (this.inWaitingStart) {\n this.inWaitingStart = undefined\n }\n }\n if (name === 'error') {\n // process the error\n this._onError(name)\n } else {\n this.emit(name, this)\n }\n\n if (this.hasOwnProperty('_interval')) {\n if (['ended', 'error', 'timeupdate'].indexOf(name) < 0) {\n _clearInterval(this, 'bufferedChange')\n _setInterval(this, 'bufferedChange', function () {\n if (this.video && this.video.buffered) {\n let curBuffer = []\n for (let i = 0, len = this.video.buffered.length; i < len; i++) {\n curBuffer.push([this.video.buffered.start(i), this.video.buffered.end(i)])\n }\n if (curBuffer.toString() !== lastBuffer) {\n lastBuffer = curBuffer.toString()\n this.emit('bufferedChange', curBuffer)\n }\n }\n }, 200)\n } else {\n if (name !== 'timeupdate') {\n _clearInterval(this, 'bufferedChange')\n }\n }\n }\n }\n\n const videoEventHandler = name => {\n if(options.videoEventMiddleware && typeof options.videoEventMiddleware[name] === 'function') {\n options.videoEventMiddleware[name].call(this, this, name, defaultVideoEventHandler)\n } else {\n defaultVideoEventHandler.call(this, name);\n }\n }\n\n this.ev.forEach(item => {\n self.evItem = Object.keys(item)[0]\n let name = Object.keys(item)[0]\n self.video.addEventListener(Object.keys(item)[0], videoEventHandler.bind(self, name))\n })\n }\n /**\n * 错误监听处理逻辑抽离\n */\n _onError (name) {\n if (this.video && this.video.error) {\n this.emit(name, new Errors('other', this.currentTime, this.duration, this.networkState, this.readyState, this.currentSrc, this.src,\n this.ended, {\n line: 162,\n msg: this.error,\n handle: 'Constructor'\n }, this.video.error.code, this.video.error))\n }\n }\n\n get hasStart () {\n return this._hasStart\n }\n set hasStart (bool) {\n if (typeof bool === 'boolean' && bool === true && !this._hasStart) {\n this._hasStart = true\n this.emit('hasstart')\n }\n }\n destroy () {\n if (this.textTrackStyle) {\n this.textTrackStyle.parentNode.removeChild(this.textTrackStyle)\n }\n }\n play () {\n return this.video.play()\n }\n pause () {\n this.video.pause()\n }\n canPlayType (type) {\n return this.video.canPlayType(type)\n }\n getBufferedRange (buffered) {\n let range = [0, 0]\n let video = this.video\n if(!buffered) buffered = video.buffered\n let currentTime = video.currentTime\n if (buffered) {\n for (let i = 0, len = buffered.length; i < len; i++) {\n range[0] = buffered.start(i)\n range[1] = buffered.end(i)\n if (range[0] <= currentTime && currentTime <= range[1]) {\n break\n }\n }\n }\n if (range[0] - currentTime <= 0 && currentTime - range[1] <= 0) {\n return range\n } else {\n return [0, 0]\n }\n }\n proxyOn (event, fn) {\n on(this, event, fn, 'destroy')\n }\n proxyOnce (event, fn) {\n once(this, event, fn, 'destroy')\n }\n set autoplay (isTrue) {\n if(this.video) {\n this.video.autoplay = isTrue\n }\n }\n get autoplay () {\n if(this.video) {\n return this.video.autoplay\n } else {\n return false\n }\n }\n get buffered () {\n if(this.video) {\n return this.video.buffered\n } else {\n return undefined\n }\n }\n get buffered2 () {\n return getBuffered2(this.video.buffered)\n }\n get crossOrigin () {\n if(this.video) {\n return this.video.crossOrigin\n } else {\n return false\n }\n }\n set crossOrigin (isTrue) {\n if(this.video) {\n this.video.crossOrigin = isTrue\n }\n }\n get currentSrc () {\n if(this.video) {\n return this.video.currentSrc\n } else {\n return undefined\n }\n }\n get currentTime () {\n if(this.video) {\n return this.video.currentTime || 0\n } else {\n return 0\n }\n }\n set currentTime (time) {\n if (typeof isFinite === 'function' && !isFinite(time)) return\n if (hasClass(this.root, 'xgplayer-ended')) {\n this.once('playing', () => { this.video.currentTime = time })\n this.replay()\n } else {\n this.video.currentTime = time\n }\n this.emit('currentTimeChange', time)\n }\n get defaultMuted () {\n if(this.video) {\n return this.video.defaultMuted\n } else {\n return false\n }\n }\n set defaultMuted (isTrue) {\n if(this.video) {\n this.video.defaultMuted = isTrue\n }\n }\n get duration () {\n if(this.config.duration) {\n if(this.video) return Math.min(this.config.duration, this.video.duration)\n else return this.config.duration\n }\n if (!this.video) return null\n return this.video.duration\n }\n get ended () {\n if(this.video) {\n return this.video.ended || false\n } else {\n return true\n }\n }\n get error () {\n let err = this.video.error\n if (!err) {\n return null\n }\n let status = [{\n en: 'MEDIA_ERR_ABORTED',\n cn: '取回过程被用户中止'\n }, {\n en: 'MEDIA_ERR_NETWORK',\n cn: '当下载时发生错误'\n }, {\n en: 'MEDIA_ERR_DECODE',\n cn: '当解码时发生错误'\n }, {\n en: 'MEDIA_ERR_SRC_NOT_SUPPORTED',\n cn: '不支持音频/视频'\n }]\n return this.lang ? this.lang[status[err.code - 1].en] : status[err.code - 1].en\n }\n get loop () {\n if(this.video) {\n return this.video.loop\n } else {\n return false\n }\n }\n set loop (isTrue) {\n if(this.video) {\n this.video.loop = isTrue\n }\n }\n get muted () {\n if(this.video) {\n return this.video.muted\n } else {\n return false\n }\n }\n set muted (isTrue) {\n if(this.video) {\n this.video.muted = isTrue\n }\n }\n get networkState () {\n let status = [{\n en: 'NETWORK_EMPTY',\n cn: '音频/视频尚未初始化'\n }, {\n en: 'NETWORK_IDLE',\n cn: '音频/视频是活动的且已选取资源,但并未使用网络'\n }, {\n en: 'NETWORK_LOADING',\n cn: '浏览器正在下载数据'\n }, {\n en: 'NETWORK_NO_SOURCE',\n cn: '未找到音频/视频来源'\n }]\n return this.lang ? this.lang[status[this.video.networkState].en] : status[this.video.networkState].en\n }\n get paused () {\n // if(this.video) {\n // return this.video.paused\n // } else {\n // return false\n // }\n return hasClass(this.root, 'xgplayer-pause')\n }\n get playbackRate () {\n if(this.video) {\n return this.video.playbackRate\n } else {\n return 1\n }\n }\n set playbackRate (rate) {\n if(this.video) {\n this.video.playbackRate = rate\n }\n }\n get played () {\n if(this.video) {\n return this.video.played\n } else {\n return undefined\n }\n }\n get preload () {\n if(this.video) {\n return this.video.preload\n } else {\n return false\n }\n }\n set preload (isTrue) {\n if(this.video) {\n this.video.preload = isTrue\n }\n }\n get readyState () {\n let status = [{\n en: 'HAVE_NOTHING',\n cn: '没有关于音频/视频是否就绪的信息'\n }, {\n en: 'HAVE_METADATA',\n cn: '关于音频/视频就绪的元数据'\n }, {\n en: 'HAVE_CURRENT_DATA',\n cn: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒'\n }, {\n en: 'HAVE_FUTURE_DATA',\n cn: '当前及至少下一帧的数据是可用的'\n }, {\n en: 'HAVE_ENOUGH_DATA',\n cn: '可用数据足以开始播放'\n }]\n return this.lang ? this.lang[status[this.video.readyState].en] : status[this.video.readyState]\n }\n get seekable () {\n if(this.video) {\n return this.video.seekable\n } else {\n return false\n }\n }\n get seeking () {\n if(this.video) {\n return this.video.seeking\n } else {\n return false\n }\n }\n get src () {\n if(this.video) {\n return this.video.src\n } else {\n return undefined\n }\n }\n set src (url) {\n if (!hasClass(this.root, 'xgplayer-ended')) {\n this.emit('urlchange', this.video.src)\n }\n removeClass(this.root, 'xgplayer-ended xgplayer-is-replay xgplayer-is-error')\n this.video.pause()\n this.emit('pause')\n this.video.src = url\n this.emit('srcChange')\n }\n set poster (posterUrl) {\n let poster = findDom(this.root, '.xgplayer-poster')\n if (poster) {\n poster.style.backgroundImage = `url(${posterUrl})`\n }\n }\n get volume () {\n if(this.video) {\n return this.video.volume\n } else {\n return 1\n }\n }\n set volume (vol) {\n if(this.video) {\n this.video.volume = vol\n }\n }\n get fullscreen () {\n return hasClass(this.root, 'xgplayer-is-fullscreen') || hasClass(this.root, 'xgplayer-fullscreen-active')\n }\n get bullet () {\n return findDom(this.root, 'xg-danmu') ? hasClass(findDom(this.root, 'xg-danmu'), 'xgplayer-has-danmu') : false\n }\n get textTrack () {\n return hasClass(this.root, 'xgplayer-is-textTrack')\n }\n get pip () {\n return hasClass(this.root, 'xgplayer-pip-active')\n }\n get isMiniPlayer () {\n return hasClass(this.root, 'xgplayer-miniplayer-active')\n }\n}\n\nexport default Proxy\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src/*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1/*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString/*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","'use strict';\n\nvar value = require('es5-ext/object/valid-object')\n\n , hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = function (emitter/*, type*/) {\n\tvar type = arguments[1], data;\n\n\tvalue(emitter);\n\n\tif (type !== undefined) {\n\t\tdata = hasOwnProperty.call(emitter, '__ee__') && emitter.__ee__;\n\t\tif (!data) return;\n\t\tif (data[type]) delete data[type];\n\t\treturn;\n\t}\n\tif (hasOwnProperty.call(emitter, '__ee__')) delete emitter.__ee__;\n};\n","\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default{background:#000;width:100%;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.xgplayer-skin-default *{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.xgplayer-skin-default.xgplayer-rotate-fullscreen{position:absolute;top:0;left:100%;bottom:0;right:0;height:100vw!important;width:100vh!important;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.xgplayer-skin-default.xgplayer-is-fullscreen{width:100%!important;height:100%!important;padding-top:0!important;z-index:9999}.xgplayer-skin-default.xgplayer-is-fullscreen.xgplayer-inactive{cursor:none}.xgplayer-skin-default video{width:100%;height:100%;outline:none}.xgplayer-skin-default .xgplayer-none{display:none}@-webkit-keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}@keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}.xgplayer-skin-default .xgplayer-controls{display:-webkit-flex;display:-moz-box;display:flex;position:absolute;bottom:0;left:0;right:0;height:40px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.37),rgba(0,0,0,.75),rgba(0,0,0,.75));z-index:10}.xgplayer-skin-default.xgplayer-inactive .xgplayer-controls,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-progress,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-time,.xgplayer-skin-default.xgplayer-no-controls .xgplayer-controls,.xgplayer-skin-default.xgplayer-nostart .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-live{display:block}.xgplayer-skin-default .xgplayer-live{display:block;font-size:12px;color:#fff;line-height:40px;-webkit-order:1;-moz-box-ordinal-group:2;order:1}.xgplayer-skin-default .xgplayer-icon{display:block;width:40px;height:40px;overflow:hidden;fill:#fff}.xgplayer-skin-default .xgplayer-icon svg{position:absolute}.xgplayer-skin-default .xgplayer-tips{background:rgba(0,0,0,.54);border-radius:1px;display:none;position:absolute;font-family:PingFangSC-Regular;font-size:11px;color:#fff;padding:2px 4px;text-align:center;top:-30px;left:50%;margin-left:-16px;width:auto;white-space:nowrap}.xgplayer-skin-default.xgplayer-mobile .xgplayer-tips{display:none!important}.xgplayer-skin-default .xgplayer-screen-container{display:block;width:100%}\", \"\"]);\n\n// exports\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","import { hasClass } from '../utils/util'\n\nlet mobile = function () {\n let player = this\n let root = player.root\n let clk = 0; let _click_\n let clickedTime = {\n first: '',\n second: ''\n }\n\n player.onElementTouchend = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (hasClass(root, 'xgplayer-inactive')) {\n player.emit('focus')\n } else {\n player.emit('blur')\n }\n if (!player.config.closeVideoTouch && !player.isTouchMove) {\n function onTouch() {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n }\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.first = new Date()\n } else {\n onTouch()\n }\n } else if (clk === 2) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.second = new Date()\n if (Math.abs(clickedTime.first - clickedTime.second) < 400) {\n // 双击\n onTouch()\n } else {\n clickedTime.first = new Date()\n clk = 1\n }\n } else {\n clk = 0\n }\n } else {\n clk = 0\n }\n }\n }\n }\n\n function onReady (e) {\n player.video.addEventListener('touchend', function (e) {\n player.onElementTouchend(e, player.video)\n })\n player.video.addEventListener('touchstart', () => {\n player.isTouchMove = false\n })\n player.video.addEventListener('touchmove', () => {\n player.isTouchMove = true\n })\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'mobile',\n method: mobile\n}","import { hasClass } from '../utils/util'\n\nlet pc = function () {\n let player = this\n if(!player.controls || !player.video) return\n let controls = player.controls; let root = player.root\n let clk = 0; let _click_\n\n player.onElementClick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n } else {\n clk = 0\n }\n }\n }\n player.video.addEventListener('click', function (e) { player.onElementClick(e, player.video) }, false)\n\n player.onElementDblclick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoDblclick) {\n let fullscreen = controls.querySelector('.xgplayer-fullscreen')\n if (fullscreen) {\n let clk\n if (document.createEvent) {\n clk = document.createEvent('Event')\n clk.initEvent('click', true, true)\n } else {\n clk = new Event('click')\n }\n fullscreen.dispatchEvent(clk)\n }\n }\n }\n player.video.addEventListener('dblclick', function (e) { player.onElementDblclick(e, player.video) }, false)\n\n function onMouseEnter () {\n clearTimeout(player.leavePlayerTimer)\n player.emit('focus', player)\n }\n root.addEventListener('mouseenter', onMouseEnter)\n\n function onMouseLeave () {\n if(!player.config.closePlayerBlur) {\n player.leavePlayerTimer = setTimeout(function () {\n player.emit('blur', player)\n }, player.config.leavePlayerTime || 0)\n }\n }\n root.addEventListener('mouseleave', onMouseLeave)\n\n function onControlMouseEnter (e) {\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n }\n controls.addEventListener('mouseenter', onControlMouseEnter)\n\n function onControlMouseLeave (e) {\n if(!player.config.closeControlsBlur) {\n player.emit('focus', player)\n }\n }\n controls.addEventListener('mouseleave', onControlMouseLeave)\n\n function onControlClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n controls.addEventListener('click', onControlClick)\n\n function onReady (e) {\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n root.removeEventListener('mouseenter', onMouseEnter)\n root.removeEventListener('mouseleave', onMouseLeave)\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pc',\n method: pc\n}","import { addClass, hasClass, removeClass } from '../utils/util'\n\nlet start = function () {\n let player = this\n let root = player.root\n\n function onCanPlay () {\n player.off('canplay', onCanPlay)\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n\n function onStartBtnClick () {\n if (hasClass(root, 'xgplayer-nostart')) {\n removeClass(root, 'xgplayer-nostart') // for ie quick switch\n addClass(root, 'xgplayer-is-enter')\n\n if(typeof root.contains === 'function') {\n if((player.video && player.video.nodeType === 1 && !root.contains(player.video)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n } else {\n if((player.video && player.video.nodeType === 1 && !root.querySelector(this.videoConfig.mediaType)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n }\n } else {\n if (player.paused) {\n removeClass(root, 'xgplayer-nostart xgplayer-isloading')\n setTimeout(() => {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }, 10)\n }\n }\n }\n player.on('startBtnClick', onStartBtnClick)\n\n function onDestroy () {\n player.off('startBtnClick', onStartBtnClick)\n player.off('canplay', onCanPlay)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'start',\n method: start\n}","import { createDom, addClass, removeClass, isWeiXin, isUc } from '../../utils/util'\nimport StartPlayIcon from '../assets/startPlay.svg'\nimport StartPauseIcon from '../assets/startPause.svg'\nimport '../style/controls/start.scss'\n\nlet s_start = function () {\n let player = this\n let root = player.root\n let btn = createDom('xg-start', `<div class=\"xgplayer-icon-play\">${StartPlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${StartPauseIcon}</div>`, {}, 'xgplayer-start')\n function onPlayerReady(player) {\n addClass(player.root, 'xgplayer-skin-default')\n if (player.config) {\n player.config.autoplay && !isWeiXin() && !isUc() && addClass(player.root, 'xgplayer-is-enter')\n if (player.config.lang && player.config.lang === 'en') {\n addClass(player.root, 'xgplayer-lang-is-en')\n } else if (player.config.lang === 'jp') {\n addClass(player.root, 'xgplayer-lang-is-jp')\n }\n if(!player.config.enableContextmenu) {\n player.video.addEventListener('contextmenu', e => {\n e.preventDefault()\n e.stopPropagation()\n })\n }\n }\n }\n\n if(player.config && player.config.hideStartBtn) {\n addClass(root, 'xgplayer-start-hide')\n }\n\n if (player.isReady) {\n root.appendChild(btn)\n onPlayerReady(player)\n } else {\n player.once('ready', () => {\n root.appendChild(btn)\n onPlayerReady(player)\n });\n }\n\n player.once('autoplay was prevented', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n addClass(player.root, 'xgplayer-nostart')\n })\n\n player.once('canplay', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n })\n\n btn.onclick = e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('startBtnClick')\n }\n}\n\nexport default {\n name: 's_start',\n method: s_start\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04,0.04)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04 0.04)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-start{border-radius:50%;display:inline-block;width:70px;height:70px;background:rgba(0,0,0,.38);overflow:hidden;text-align:center;line-height:70px;vertical-align:middle;position:absolute;left:50%;top:50%;z-index:115;margin:-35px auto auto -35px;cursor:pointer}.xgplayer-skin-default .xgplayer-start div{position:absolute}.xgplayer-skin-default .xgplayer-start div svg{fill:hsla(0,0%,100%,.7)}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-start:hover{opacity:.85}.xgplayer-skin-default.xgplayer-pause.xgplayer-start-hide .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-start-hide .xgplayer-start{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start{display:inline-block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start,.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-pause{display:none}\", \"\"]);\n\n// exports\n","import { hasClass, addClass, removeClass, PresentationMode, checkWebkitSetPresentationMode } from '../utils/util'\n\nlet fullscreen = function () {\n let player = this\n let root = player.root\n\n function onFullscreenBtnClick () {\n if (player.config.rotateFullscreen) {\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n player.exitRotateFullscreen()\n } else {\n player.getRotateFullscreen()\n }\n } else {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n player.exitFullscreen(root)\n } else {\n player.getFullscreen(root)\n }\n }\n }\n player.on('fullscreenBtnClick', onFullscreenBtnClick)\n\n function onFullscreenChange () {\n let fullscreenEl = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement\n if (fullscreenEl && fullscreenEl === root) {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n } else if (hasClass(root, 'xgplayer-is-fullscreen')) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n if (player.danmu && typeof player.danmu.resize === 'function') {\n player.danmu.resize()\n }\n };\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.addEventListener(item, onFullscreenChange)\n })\n\n player.video.addEventListener('webkitbeginfullscreen', function () {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n })\n\n player.video.addEventListener('webkitendfullscreen', function () {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n })\n\n function onWebkitpresentationmodechanged (e) {\n const mode = player.video.webkitPresentationMode\n // 非全屏模式 退出全屏\n if (mode !== PresentationMode.FULLSCREEN) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n }\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('fullscreenBtnClick', onFullscreenBtnClick);\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.removeEventListener(item, onFullscreenChange)\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getFullscreen = function (el) {\n let player = this\n if (el.requestFullscreen) {\n let fullscreenPromise = el.requestFullscreen()\n if (fullscreenPromise) {\n fullscreenPromise.catch(function () {\n player.emit('fullscreen error')\n })\n }\n } else if (el.mozRequestFullScreen) {\n el.mozRequestFullScreen()\n } else if (el.webkitRequestFullscreen) {\n el.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT)\n } else if (player.video.webkitSupportsFullscreen) {\n player.video.webkitEnterFullscreen()\n } else if (el.msRequestFullscreen) {\n el.msRequestFullscreen()\n } else {\n addClass(el, 'xgplayer-is-cssfullscreen')\n }\n }\n\n player.exitFullscreen = function (el) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n removeClass(el, 'xgplayer-is-cssfullscreen')\n }\n\n player.getRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = '100%'\n document.documentElement.style.height = '100%'\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n player.root.style['max-width'] = 'unset'\n }\n if (player.root && !hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n addClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('getRotateFullscreen')\n }\n\n player.exitRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = 'unset'\n document.documentElement.style.height = 'unset'\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n player.root.style['max-width'] = '100%'\n }\n if (player.root && hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n removeClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('exitRotateFullscreen')\n }\n}\n\nexport default {\n name: 'fullscreen',\n method: fullscreen\n}\n","import { hasClass } from '../utils/util'\n\nlet play = function () {\n let player = this\n\n function onPlayBtnClick () {\n if (!player.config.allowPlayAfterEnded && player.ended) {\n return\n }\n if(hasClass(player.root, 'xgplayer-nostart')) {\n player.start()\n }\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n player.on('playBtnClick', onPlayBtnClick)\n\n function onDestroy () {\n player.off('playBtnClick', onPlayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'play',\n method: play\n}","import { addClass, removeClass } from '../utils/util'\n\nlet replay = function () {\n let player = this\n let root = player.root\n\n function onReplayBtnClick () {\n removeClass(root, 'xgplayer-is-replay')\n player.replay()\n }\n player.on('replayBtnClick', onReplayBtnClick)\n\n function onEnded () {\n if (!player.config.loop) {\n addClass(root, 'xgplayer-is-replay')\n }\n }\n player.on('ended', onEnded)\n\n function onDestroy () {\n player.off('replayBtnClick', onReplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'replay',\n method: replay\n}","import { createDom, createImgBtn } from '../../utils/util'\nimport PlayIcon from '../assets/play.svg'\nimport PauseIcon from '../assets/pause.svg'\nimport '../style/controls/play.scss'\n\nlet s_play = function () {\n let player = this\n let playBtn = player.config.playBtn ? player.config.playBtn : {}\n let btn\n if (playBtn.type === 'img') {\n btn = createImgBtn('play', playBtn.url.play, playBtn.width, playBtn.height)\n } else {\n btn = createDom('xg-play', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-play\">${PlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${PauseIcon}</div>\n </xg-icon>`, {}, 'xgplayer-play')\n }\n\n let tipsText = {}\n tipsText.play = player.lang.PLAY_TIPS\n tipsText.pause = player.lang.PAUSE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-play\">${tipsText.play}</span>\n <span class=\"xgplayer-tip-pause\">${tipsText.pause}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('playBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_play',\n method: s_play\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-play,.xgplayer-skin-default .xgplayer-play-img{width:40px;position:relative;-webkit-order:0;-moz-box-ordinal-group:1;order:0;display:block;cursor:pointer;margin-left:3px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-play .xgplayer-icon{margin-top:3px;width:32px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-play .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-play-img:hover,.xgplayer-skin-default .xgplayer-play:hover{opacity:.85}.xgplayer-skin-default .xgplayer-play-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-play:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/poster.scss'\n\nlet s_poster = function () {\n let player = this\n let root = player.root\n if (!player.config.poster) {\n return\n }\n let poster = createDom('xg-poster', '', {}, 'xgplayer-poster')\n poster.style.backgroundImage = `url(${player.config.poster})`\n root.appendChild(poster)\n}\n\nexport default {\n name: 's_poster',\n method: s_poster\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-poster{display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;background-size:cover;background-position:50%}.xgplayer-skin-default.xgplayer-nostart .xgplayer-poster{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/placeholder.scss'\n\nlet s_flex = function () {\n let player = this\n let playceholder = createDom('xg-placeholder', '', {}, 'xgplayer-placeholder')\n player.controls.appendChild(playceholder)\n}\n\nexport default {\n name: 's_flex',\n method: s_flex\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-placeholder{-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-order:3;-moz-box-ordinal-group:4;order:3;display:block}\", \"\"]);\n\n// exports\n","import { createDom, createImgBtn } from '../../utils/util'\nimport RequestFullIcon from '../assets/requestFull.svg'\nimport ExitFullIcon from '../assets/exitFull.svg'\nimport '../style/controls/fullscreen.scss'\n\nlet s_fullscreen = function () {\n let player = this\n let fullscreenBtn = player.config.fullscreenBtn ? player.config.fullscreenBtn : {}\n let btn\n if (fullscreenBtn.type === 'img') {\n btn = createImgBtn('fullscreen', fullscreenBtn.url.request, fullscreenBtn.width, fullscreenBtn.height)\n } else {\n btn = createDom('xg-fullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-fullscreen')\n }\n\n let tipsText = {}\n tipsText.requestfull = player.lang.FULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('fullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_fullscreen',\n method: s_fullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-fullscreen,.xgplayer-skin-default .xgplayer-fullscreen-img{position:relative;-webkit-order:13;-moz-box-ordinal-group:14;order:13;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img:hover,.xgplayer-skin-default .xgplayer-fullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-fullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport Loading from '../assets/loading.svg'\nimport '../style/controls/loading.scss'\n\nlet s_loading = function () {\n let player = this\n let root = player.root\n let container = createDom('xg-loading', `${Loading}`, {}, 'xgplayer-loading')\n player.once('ready', () => {\n root.appendChild(container)\n })\n}\n\nexport default {\n name: 's_loading',\n method: s_loading\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"100\\\" height=\\\"100\\\" viewbox=\\\"0 0 100 100\\\">\\n <path d=\\\"M100,50A50,50,0,1,1,50,0\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-loading{display:none;width:100px;height:100px;overflow:hidden;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7);position:absolute;left:50%;top:50%;margin:-50px auto auto -50px}.xgplayer-skin-default .xgplayer-loading svg{border-radius:50%;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:loadingRotate 1s linear infinite;animation:loadingRotate 1s linear infinite}.xgplayer-skin-default .xgplayer-loading svg path{stroke:#ddd;stroke-dasharray:236;-webkit-animation:loadingDashOffset 2s linear infinite;animation:loadingDashOffset 2s linear infinite;animation-direction:alternate-reverse;fill:none;stroke-width:12px}.xgplayer-skin-default.xgplayer-nostart .xgplayer-loading{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-loading{display:none!important}.xgplayer-skin-default.xgplayer-isloading .xgplayer-loading{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass, typeOf, event, format, findDom } from '../../utils/util'\r\nimport sniffer from '../../utils/sniffer'\r\nimport '../style/controls/progress.scss'\r\n\r\nconst isRotateFullscreen = (player) => {\r\n return hasClass(player.root, 'xgplayer-rotate-fullscreen')\r\n}\r\n\r\nlet s_progress = function () {\r\n let player = this\r\n let container = createDom('xg-progress', `<xg-outer class=\"xgplayer-progress-outer\">\r\n <xg-cache class=\"xgplayer-progress-cache\"></xg-cache>\r\n <xg-played class=\"xgplayer-progress-played\">\r\n <xg-progress-btn class=\"xgplayer-progress-btn\"></xg-progress-btn>\r\n <xg-point class=\"xgplayer-progress-point xgplayer-tips\"></xg-point>\r\n <xg-thumbnail class=\"xgplayer-progress-thumbnail xgplayer-tips\"></xg-thumbnail>\r\n </xg-played>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-progress')\r\n let containerWidth\r\n player.controls.appendChild(container)\r\n let progress = container.querySelector('.xgplayer-progress-played')\r\n let outer = container.querySelector('.xgplayer-progress-outer')\r\n let cache = container.querySelector('.xgplayer-progress-cache')\r\n let point = container.querySelector('.xgplayer-progress-point')\r\n let thumbnail = container.querySelector('.xgplayer-progress-thumbnail')\r\n player.dotArr = {}\r\n function dotEvent (dotItem, text) {\r\n dotItem.addEventListener('mouseenter', function (e) {\r\n if (text) {\r\n addClass(dotItem, 'xgplayer-progress-dot-show')\r\n addClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('mouseleave', function (e) {\r\n if (text) {\r\n removeClass(dotItem, 'xgplayer-progress-dot-show')\r\n removeClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('touchend', function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n if (text) {\r\n if (!hasClass(dotItem, 'xgplayer-progress-dot-show')) {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n removeClass(player.dotArr[key], 'xgplayer-progress-dot-show')\r\n }\r\n })\r\n }\r\n toggleClass(dotItem, 'xgplayer-progress-dot-show')\r\n toggleClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n }\r\n function onCanplay () {\r\n if (player.config.progressDot && typeOf(player.config.progressDot) === 'Array') {\r\n player.config.progressDot.forEach(item => {\r\n if (item.time >= 0 && item.time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', item.text ? `<span class=\"xgplayer-progress-tip\">${item.text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (item.time / player.duration) * 100 + '%'\r\n if (item.duration >= 0) {\r\n dot.style.width = (Math.min(item.duration, player.duration - item.time) / player.duration) * 100 + '%'\r\n }\r\n if(item.style) {\r\n for(let k in item.style) {\r\n dot.style[k] = item.style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[item.time] = dot\r\n dotEvent(dot, item.text)\r\n }\r\n })\r\n }\r\n }\r\n player.once('canplay', onCanplay)\r\n player.addProgressDot = function (time, text, duration, style) {\r\n if (player.dotArr[time]) {\r\n return\r\n }\r\n if (time >= 0 && time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', text ? `<span class=\"xgplayer-progress-tip\">${text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (time / player.duration) * 100 + '%'\r\n if (duration >= 0) {\r\n dot.style.width = (Math.min(duration, player.duration - time) / player.duration) * 100 + '%'\r\n }\r\n if(style) {\r\n for(let k in style) {\r\n dot.style[k] = style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[time] = dot\r\n dotEvent(dot, text)\r\n }\r\n }\r\n player.removeProgressDot = function (time) {\r\n if (time >= 0 && time <= player.duration && player.dotArr[time]) {\r\n let dot = player.dotArr[time]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[time] = null\r\n }\r\n }\r\n player.removeAllProgressDot = function () {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n let dot = player.dotArr[key]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[key] = null\r\n }\r\n })\r\n }\r\n let tnailPicNum = 0\r\n let tnailWidth = 0\r\n let tnailHeight = 0\r\n let tnailCol = 0\r\n let tnailRow = 0\r\n let interval = 0\r\n let tnailUrls = []\r\n let coverPreviewContainer, coverPreviewPoint, coverPreviewOuter\r\n let onLoadedmetadata = function() {\r\n if (player.config.thumbnail) {\r\n if(player.config.thumbnail.isShowCoverPreview && !coverPreviewContainer) {\r\n progress.removeChild(thumbnail)\r\n coverPreviewContainer = createDom('xg-coverpreview', `<xg-outer class=\"xgplayer-coverpreview-outer\">\r\n <xg-thumbnail class=\"xgplayer-coverpreview-thumbnail\"></xg-thumbnail>\r\n <xg-point class=\"xgplayer-coverpreview-point\"></xg-point>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-coverpreview')\r\n coverPreviewOuter = coverPreviewContainer.querySelector('.xgplayer-coverpreview-outer')\r\n coverPreviewPoint = coverPreviewContainer.querySelector('.xgplayer-coverpreview-point')\r\n thumbnail = coverPreviewContainer.querySelector('.xgplayer-coverpreview-thumbnail')\r\n player.root.appendChild(coverPreviewContainer)\r\n }\r\n tnailPicNum = player.config.thumbnail.pic_num\r\n tnailWidth = player.config.thumbnail.width\r\n tnailHeight = player.config.thumbnail.height\r\n tnailCol = player.config.thumbnail.col\r\n tnailRow = player.config.thumbnail.row\r\n tnailUrls = player.config.thumbnail.urls\r\n thumbnail.style.width = `${tnailWidth}px`\r\n thumbnail.style.height = `${tnailHeight}px`\r\n };\r\n };\r\n player.on('loadedmetadata', onLoadedmetadata);\r\n\r\n if (typeof player.config.disableSwipeHandler === 'function' && typeof player.config.enableSwipeHandler === 'function') {\r\n player.root.addEventListener('touchmove', e => {\r\n e.preventDefault();\r\n // e.stopPropagation();\r\n if (!player.disableSwipe) {\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n }\r\n });\r\n player.root.addEventListener('touchstart', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n });\r\n player.root.addEventListener('touchend', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = false\r\n player.config.enableSwipeHandler.call(player);\r\n });\r\n };\r\n let events = ['touchstart', 'mousedown'];\r\n if (sniffer.device === 'mobile') {\r\n // 解决在移动端触发多次seeking问题\r\n events.pop()\r\n }\r\n events.forEach(item => {\r\n container.addEventListener(item, function (e) {\r\n if (player.config.disableProgress) return;\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n if (e._target === point || (!player.config.allowSeekAfterEnded && player.ended)) {\r\n return true\r\n }\r\n\r\n container.focus()\r\n let {left} = progress.getBoundingClientRect()\r\n\r\n const isRotate = isRotateFullscreen(player)\r\n if (isRotate) {\r\n left = progress.getBoundingClientRect().top\r\n containerWidth = container.getBoundingClientRect().height\r\n } else {\r\n containerWidth = container.getBoundingClientRect().width\r\n left = progress.getBoundingClientRect().left\r\n }\r\n\r\n let move = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n player.isProgressMoving = true\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n\r\n if (player.videoConfig.mediaType === 'video' && !player.dash && !player.config.closeMoveSeek) {\r\n console.log('trigger touchmove')\r\n player.currentTime = Number(now).toFixed(1)\r\n } else {\r\n let time = findDom(player.controls, '.xgplayer-time')\r\n if (time) {\r\n time.innerHTML = `<span class=\"xgplayer-time-current\">${format(now || 0)}</span><span>${format(player.duration)}</span>`\r\n }\r\n }\r\n }\r\n\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewPoint.innerHTML = `<span>${format(now)}</span> / ${format(player.duration || 0)}`\r\n\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n coverPreviewContainer.style.display = 'block'\r\n }\r\n \r\n player.emit('focus')\r\n }\r\n let up = function (e) {\r\n console.log('up event', e)\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n window.removeEventListener('mousemove', move)\r\n window.removeEventListener('touchmove', move, { passive: false })\r\n window.removeEventListener('mouseup', up)\r\n window.removeEventListener('touchend', up)\r\n if(sniffer.browser.indexOf('ie') < 0) {\r\n container.blur()\r\n }\r\n if (!player.isProgressMoving || (player.videoConfig && player.videoConfig.mediaType === 'audio') || player.dash || player.config.closeMoveSeek) {\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n console.warn('trigger touchup')\r\n player.currentTime = Number(now).toFixed(1)\r\n }\r\n }\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewContainer.style.display = 'none'\r\n }\r\n player.emit('focus')\r\n player.isProgressMoving = false\r\n }\r\n // if (item === 'touchstart') {\r\n window.addEventListener('touchmove', move, { passive: false })\r\n window.addEventListener('touchend', up)\r\n // } else {\r\n window.addEventListener('mousemove', move)\r\n // console.warn('add envent mouseup')\r\n window.addEventListener('mouseup', up)\r\n // }\r\n return true\r\n })\r\n })\r\n\r\n container.addEventListener('mouseenter', function (e) {\r\n if (!player.config.allowSeekAfterEnded && player.ended) {\r\n return true\r\n }\r\n const isRotate = isRotateFullscreen(player)\r\n let containerLeft = isRotate ? container.getBoundingClientRect().top : container.getBoundingClientRect().left\r\n let containerWidth = isRotate ? container.getBoundingClientRect().height : container.getBoundingClientRect().width\r\n\r\n let compute = function (e) {\r\n let now = ((isRotate ? e.clientY : e.clientX) - containerLeft) / containerWidth * player.duration\r\n now = now < 0 ? 0 : now\r\n point.textContent = format(now)\r\n let pointWidth = point.getBoundingClientRect().width\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n let left = (isRotate ? e.clientY : e.clientX) - containerLeft - tnailWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left < containerWidth - tnailWidth ? left : containerWidth - tnailWidth\r\n thumbnail.style.left = `${left}px`\r\n thumbnail.style.top = `${-10 - tnailHeight}px`\r\n thumbnail.style.display = 'block'\r\n point.style.left = `${left + tnailWidth / 2 - pointWidth / 2}px`\r\n } else {\r\n let left = e.clientX - containerLeft - pointWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left > containerWidth - pointWidth ? containerWidth - pointWidth : left\r\n point.style.left = `${left}px`\r\n }\r\n if (hasClass(container, 'xgplayer-progress-dot-active')) {\r\n point.style.display = 'none'\r\n } else {\r\n point.style.display = 'block'\r\n }\r\n }\r\n let move = function (e) {\r\n compute(e)\r\n }\r\n let leave = function (e) {\r\n container.removeEventListener('mousemove', move, false)\r\n container.removeEventListener('mouseleave', leave, false)\r\n compute(e)\r\n point.style.display = 'none'\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n thumbnail.style.display = 'none'\r\n }\r\n }\r\n container.addEventListener('mousemove', move, false)\r\n container.addEventListener('mouseleave', leave, false)\r\n compute(e)\r\n }, false)\r\n\r\n // let lastBtnLeft = false\r\n let onTimeupdate = function () {\r\n if(player.maxPlayedTime === undefined) player.maxPlayedTime = 0\r\n if(player.maxPlayedTime < player.currentTime) player.maxPlayedTime = player.currentTime\r\n if (!containerWidth && container) {\r\n containerWidth = container.getBoundingClientRect().width\r\n }\r\n if (!player.isProgressMoving && !player.isSeeking && !player.seeking) {\r\n const precent = player.currentTime / player.duration\r\n const prevPrecent = Number(progress.style.width.replace('%', '') || '0') / Number(container.style.width || '100');\r\n if (Math.abs(precent - prevPrecent) <= 1) {\r\n progress.style.width = `${player.currentTime * 100 / player.duration}%`\r\n }\r\n }\r\n }\r\n player.on('timeupdate', onTimeupdate)\r\n\r\n let onCurrentTimeChange = function (time) {\r\n progress.style.width = `${time * 100 / player.duration}%`\r\n }\r\n player.on('currentTimeChange', onCurrentTimeChange)\r\n\r\n let onSrcChange = function () {\r\n progress.style.width = '0%'\r\n }\r\n player.on('srcChange', onSrcChange)\r\n\r\n let onCacheUpdate = function () {\r\n let buffered = player.buffered\r\n if (buffered && buffered.length > 0) {\r\n let end = buffered.end(buffered.length - 1)\r\n for (let i = 0, len = buffered.length; i < len; i++) {\r\n if (player.currentTime >= buffered.start(i) && player.currentTime <= buffered.end(i)) {\r\n end = buffered.end(i)\r\n for (let j = i + 1; j < buffered.length; j++) {\r\n if (buffered.start(j) - buffered.end(j - 1) >= 2) {\r\n end = buffered.end(j - 1)\r\n break\r\n }\r\n }\r\n break\r\n }\r\n }\r\n cache.style.width = `${end / player.duration * 100}%`\r\n }\r\n }\r\n const cacheUpdateEvents = ['bufferedChange', 'cacheupdate', 'ended', 'timeupdate']\r\n cacheUpdateEvents.forEach(item => {\r\n player.on(item, onCacheUpdate)\r\n })\r\n\r\n function destroyFunc () {\r\n player.removeAllProgressDot()\r\n player.off('canplay', onCanplay)\r\n player.off('timeupdate', onTimeupdate)\r\n player.off('currentTimeChange', onCurrentTimeChange)\r\n player.off('srcChange', onSrcChange)\r\n player.off('loadedmetadata', onLoadedmetadata);\r\n cacheUpdateEvents.forEach(item => {\r\n player.off(item, onCacheUpdate)\r\n })\r\n player.off('destroy', destroyFunc)\r\n }\r\n player.once('destroy', destroyFunc)\r\n}\r\n\r\nexport default {\r\n name: 's_progress',\r\n method: s_progress\r\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-progress{display:block;position:absolute;height:20px;line-height:20px;left:12px;right:12px;outline:none;top:-15px;z-index:35}.xgplayer-skin-default .xgplayer-progress-outer{background:hsla(0,0%,100%,.3);display:block;height:3px;line-height:3px;margin-top:8.5px;width:100%;position:relative;cursor:pointer}.xgplayer-skin-default .xgplayer-progress-cache,.xgplayer-skin-default .xgplayer-progress-played{display:block;height:100%;line-height:1;position:absolute;left:0;top:0}.xgplayer-skin-default .xgplayer-progress-cache{width:0;background:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-progress-played{display:block;width:0;background-image:linear-gradient(-90deg,#fa1f41,#e31106);border-radius:0 1.5px 1.5px 0}.xgplayer-skin-default .xgplayer-progress-btn{display:none;position:absolute;left:0;top:-5px;width:13px;height:13px;border-radius:30px;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.26);left:100%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);z-index:36}.xgplayer-skin-default .xgplayer-progress-point{position:absolute}.xgplayer-skin-default .xgplayer-progress-point.xgplayer-tips{margin-left:0;top:-25px;display:none;z-index:100}.xgplayer-skin-default .xgplayer-progress-dot{display:inline-block;position:absolute;height:3px;width:5px;top:0;background:#fff;border-radius:6px;z-index:16}.xgplayer-skin-default .xgplayer-progress-dot .xgplayer-progress-tip{position:absolute;bottom:200%;right:50%;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);height:auto;line-height:30px;width:auto;background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(0,0,0,.8);cursor:default;white-space:nowrap;display:none}.xgplayer-skin-default .xgplayer-progress-dot-show .xgplayer-progress-tip{display:block}.xgplayer-skin-default .xgplayer-progress-thumbnail{position:absolute;-moz-box-sizing:border-box;box-sizing:border-box}.xgplayer-skin-default .xgplayer-progress-thumbnail.xgplayer-tips{margin-left:0;display:none;z-index:99}.xgplayer-skin-default .xgplayer-coverpreview{position:absolute;width:100%;height:100%;top:0;left:0;display:none}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer{position:absolute;display:block;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-thumbnail{display:block}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point{display:block;text-align:center;font-family:PingFangSC-Regular;font-size:11px;color:#ccc;padding:2px 4px}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point span{color:#fff}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-outer{height:6px;margin-top:7px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-dot,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-dot{height:6px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-btn{display:block;top:-3px}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-volume-active .xgplayer-progress{z-index:15}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress-btn{display:block!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-outer{height:3px!important;margin-top:8.5px!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-btn{display:block!important;top:-5px!important}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/time.scss'\n\nlet s_time = function () {\n let player = this\n let container = createDom('xg-time', `<span class=\"xgplayer-time-current\">${player.currentTime || format(0)}</span>\n <span>${player.duration || format(0)}</span>`, {}, 'xgplayer-time')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let onTimeChange = function () {\n // let liveText = player.lang.LIVE\n // if(player.duration === Infinity) {\n // addClass(player.root, 'xgplayer-is-live')\n // if(!findDom(player.root, '.xgplayer-live')) {\n // const live = createDom('xg-live', liveText, {}, 'xgplayer-live')\n // player.controls.appendChild(live)\n // }\n // }\n if (player.videoConfig.mediaType !== 'audio' || !player.isProgressMoving || !player.dash) {\n container.innerHTML = `<span class=\"xgplayer-time-current\">${format(player.currentTime || 0)}</span>` + `<span>${format(player.duration)}</span>`\n }\n }\n player.on('durationchange', onTimeChange)\n player.on('timeupdate', onTimeChange)\n\n function onDestroy () {\n player.off('durationchange', onTimeChange)\n player.off('timeupdate', onTimeChange)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_time',\n method: s_time\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-time{-webkit-order:2;-moz-box-ordinal-group:3;order:2;font-family:ArialMT;font-size:13px;color:#fff;line-height:40px;height:40px;text-align:center;display:inline-block;margin:auto 8px}.xgplayer-skin-default .xgplayer-time span{color:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current{color:#fff}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current:after{content:\\\"/\\\";display:inline-block;padding:0 3px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReplayIcon from '../assets/replay.svg'\nimport '../style/controls/replay.scss'\n\nlet s_replay = function () {\n let player = this\n let root = player.root\n\n let replayText = player.lang.REPLAY\n let btn = createDom('xg-replay', `${ReplayIcon}\n <xg-replay-txt class=\"xgplayer-replay-txt\">${replayText}</xg-replay-txt>\n `, {}, 'xgplayer-replay')\n player.once('ready', () => {\n root.appendChild(btn)\n })\n\n function onEnded () {\n let path = btn.querySelector('path')\n if(path) {\n let transform = window.getComputedStyle(path).getPropertyValue('transform')\n if(typeof transform === 'string' && transform.indexOf('none') > -1) {\n return\n } else {\n path.setAttribute('transform', transform)\n }\n }\n }\n player.on('ended', onEnded)\n\n function onBtnClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n btn.addEventListener('click', onBtnClick)\n\n let svg = btn.querySelector('svg');\n\n ['click', 'touchend'].forEach(item => {\n svg.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('replayBtnClick')\n })\n })\n\n function destroyFunc () {\n player.off('ended', onEnded)\n player.off('destroy', destroyFunc)\n }\n player.once('destroy', destroyFunc)\n}\n\nexport default {\n name: 's_replay',\n method: s_replay\n}","export default \"<svg class=\\\"xgplayer-replay-svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"78\\\" height=\\\"78\\\" viewbox=\\\"0 0 78 78\\\">\\n <path d=\\\"M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-replay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:105;display:none;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;background:rgba(0,0,0,.54);-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column}.xgplayer-skin-default .xgplayer-replay svg{background:rgba(0,0,0,.58);border-radius:100%;cursor:pointer}.xgplayer-skin-default .xgplayer-replay svg path{-webkit-transform:translate(20px,21px);-ms-transform:translate(20px,21px);transform:translate(20px,21px);fill:#ddd}.xgplayer-skin-default .xgplayer-replay svg:hover{background:rgba(0,0,0,.38)}.xgplayer-skin-default .xgplayer-replay svg:hover path{fill:#fff}.xgplayer-skin-default .xgplayer-replay .xgplayer-replay-txt{display:inline-block;font-family:PingFangSC-Regular;font-size:14px;color:#fff;line-height:34px}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-replay{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import Player from './player'\n\nimport Airplay from './controls/airplay.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Danmu from './controls/danmu.js'\nimport Definition from './controls/definition.js'\nimport Download from './controls/download.js'\nimport ErrorRetryControl from './controls/errorRetry.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport Keyboard from './controls/keyboard.js'\nimport LocalPreview from './controls/localPreview.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport Mobile from './controls/mobile.js'\nimport Pc from './controls/pc.js'\nimport Pip from './controls/pip.js'\nimport Play from './controls/play.js'\nimport PlayNext from './controls/playNext.js'\nimport Reload from './controls/reload.js'\nimport Replay from './controls/replay.js'\nimport Rotate from './controls/rotate.js'\nimport ScreenShot from './controls/screenShot.js'\nimport StallCheck from './controls/stallCheck.js'\nimport Start from './controls/start.js'\nimport Volume from './controls/volume.js'\nimport TextTrack from './controls/textTrack.js'\n\nPlayer.installAll([\n Airplay,\n CssFullscreen,\n Danmu,\n Definition,\n Download,\n ErrorRetryControl,\n Fullscreen,\n Keyboard,\n LocalPreview,\n MemoryPlay,\n Miniplayer,\n Mobile,\n Pc,\n Pip,\n Play,\n PlayNext,\n Reload,\n Replay,\n Rotate,\n ScreenShot,\n StallCheck,\n Start,\n Volume,\n TextTrack \n])\n\nimport './skin/index.js';\n\nexport default Player\n","let airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n function onAirplayBtnClick () {\n player.video.webkitShowPlaybackTargetPicker()\n }\n player.on('airplayBtnClick', onAirplayBtnClick)\n\n function onDestroy () {\n player.off('airplayBtnClick', onAirplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'airplay',\n method: airplay\n}\n","import { hasClass, removeClass, addClass } from '../utils/util'\n\nlet cssFullscreen = function () {\n let player = this\n let root = player.root\n\n function onCssFullscreenBtnClick () {\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n } else {\n player.getCssFullscreen()\n }\n }\n player.on('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.on('exitFullscreen', () => {\n removeClass(root, 'xgplayer-is-cssfullscreen')\n })\n\n function onDestroy () {\n player.off('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n }\n addClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('requestCssFullscreen')\n }\n\n player.exitCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n }\n removeClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('exitCssFullscreen')\n }\n}\n\nexport default {\n name: 'cssFullscreen',\n method: cssFullscreen\n}","import { addClass, toggleClass, copyDom, hasClass, removeClass } from '../utils/util'\n\nlet danmu = function () {\n let player = this\n\n function onInitDanmu(danmujs) {\n let container = player.root.querySelector('xg-danmu')\n addClass(container, 'xgplayer-has-danmu')\n if (!player.config.danmu.closeDefaultBtn) {\n player.danmuBtn = copyDom(danmujs.bulletBtn.createSwitch(true))\n player.controls.appendChild(player.danmuBtn)\n\n function onTimeupdate () {\n danmujs.start()\n }\n ['click', 'touchend'].forEach(item => {\n player.danmuBtn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n toggleClass(player.danmuBtn, 'danmu-switch-active')\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n player.emit('danmuBtnOn')\n addClass(container, 'xgplayer-has-danmu')\n player.once('timeupdate', onTimeupdate)\n } else {\n player.emit('danmuBtnOff')\n removeClass(container, 'xgplayer-has-danmu')\n danmujs.stop()\n }\n })\n })\n\n player.onElementClick && container.addEventListener('click', function (e) { player.onElementClick(e, container) }, false)\n player.onElementDblclick && container.addEventListener('dblclick', function (e) { player.onElementDblclick(e, container) }, false)\n\n function onPause () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.pause()\n }\n }\n player.on('pause', onPause)\n\n function onPlay () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.play()\n }\n }\n player.on('play', onPlay)\n\n function onSeeked () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.stop()\n danmujs.start()\n }\n }\n player.on('seeked', onSeeked)\n\n function onDestroy () {\n player.off('timeupdate', onTimeupdate)\n player.off('pause', onPause)\n player.off('play', onPlay)\n player.off('seeked', onSeeked)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n }\n player.on('initDefaultDanmu', onInitDanmu)\n\n}\n\nexport default {\n name: 'danmu',\n method: danmu\n}","let definition = function () {\n let player = this\n\n function onDestroy () {\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'definition',\n method: definition\n}","import downloadUtil from 'downloadjs'\nimport {getAbsoluteURL} from '../utils/url'\n\nlet download = function () {\n let player = this\n\n function onDownloadBtnClick () {\n // must pass an absolute url for download\n player.download()\n }\n player.on('downloadBtnClick', onDownloadBtnClick)\n\n function onDestroy () {\n player.off('downloadBtnClick', onDownloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.download = function () {\n const url = getAbsoluteURL(this.config.url)\n downloadUtil(url)\n }\n}\n\nexport default {\n name: 'download',\n method: download\n}","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i<mx;++i) tempUiArr[i]= payload.charCodeAt(i);\n\t\t\t \tpayload=new myBlob([tempUiArr], {type: mimeType});\n\t\t\t}\t\t \n\t\t}\n\t\tblob = payload instanceof myBlob ?\n\t\t\tpayload :\n\t\t\tnew myBlob([payload], {type: mimeType}) ;\n\n\n\t\tfunction dataUrlToBlob(strUrl) {\n\t\t\tvar parts= strUrl.split(/[:;,]/),\n\t\t\ttype= parts[1],\n\t\t\tdecoder= parts[2] == \"base64\" ? atob : decodeURIComponent,\n\t\t\tbinData= decoder( parts.pop() ),\n\t\t\tmx= binData.length,\n\t\t\ti= 0,\n\t\t\tuiArr= new Uint8Array(mx);\n\n\t\t\tfor(i;i<mx;++i) uiArr[i]= binData.charCodeAt(i);\n\n\t\t\treturn new myBlob([uiArr], {type: type});\n\t\t }\n\n\t\tfunction saver(url, winMode){\n\n\t\t\tif ('download' in anchor) { //html5 A[download]\n\t\t\t\tanchor.href = url;\n\t\t\t\tanchor.setAttribute(\"download\", fileName);\n\t\t\t\tanchor.className = \"download-js-link\";\n\t\t\t\tanchor.innerHTML = \"downloading...\";\n\t\t\t\tanchor.style.display = \"none\";\n\t\t\t\tdocument.body.appendChild(anchor);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tanchor.click();\n\t\t\t\t\tdocument.body.removeChild(anchor);\n\t\t\t\t\tif(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );}\n\t\t\t\t}, 66);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// handle non-a[download] safari as best we can:\n\t\t\tif(/(Version)\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari\\//.test(navigator.userAgent)) {\n\t\t\t\tif(/^data:/.test(url))\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t\tif(!window.open(url)){ // popup blocked, offer direct download:\n\t\t\t\t\tif(confirm(\"Displaying New Document\\n\\nUse Save As... to download, then click back to return to this page.\")){ location.href=url; }\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t//do iframe dataURL download (old ch+FF):\n\t\t\tvar f = document.createElement(\"iframe\");\n\t\t\tdocument.body.appendChild(f);\n\n\t\t\tif(!winMode && /^data:/.test(url)){ // force a mime that will download:\n\t\t\t\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t}\n\t\t\tf.src=url;\n\t\t\tsetTimeout(function(){ document.body.removeChild(f); }, 333);\n\n\t\t}//end saver\n\n\n\n\n\t\tif (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)\n\t\t\treturn navigator.msSaveBlob(blob, fileName);\n\t\t}\n\n\t\tif(self.URL){ // simple fast and modern way using Blob and URL:\n\t\t\tsaver(self.URL.createObjectURL(blob), true);\n\t\t}else{\n\t\t\t// handle non-Blob()+non-URL browsers:\n\t\t\tif(typeof blob === \"string\" || blob.constructor===toString ){\n\t\t\t\ttry{\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \";base64,\" + self.btoa(blob) );\n\t\t\t\t}catch(y){\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \",\" + encodeURIComponent(blob) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Blob but not URL support:\n\t\t\treader=new FileReader();\n\t\t\treader.onload=function(e){\n\t\t\t\tsaver(this.result);\n\t\t\t};\n\t\t\treader.readAsDataURL(blob);\n\t\t}\n\t\treturn true;\n\t}; /* end download() */\n}));\n","\nexport const getAbsoluteURL = function (url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n const div = document.createElement('div')\n div.innerHTML = `<a href=\"${url}\">x</a>`\n url = div.firstChild.href\n }\n return url\n}\n","import Errors from '../error'\n/**\n * Error retry plugin\n * get config from player.config.errorConfig\n * The Plugin is just deal with the situation that play with video.src,\n * and get the http status of current video.src\n */\n\nconst defaultConfig = {\n maxCount: 3, // max number of retries\n backupUrl: '', // the backup url for retry\n isFetch: true, // is need to check the cdn url statud\n fetchTimeout: 100 // timeout time for get cdn status\n}\n\nfunction errorRetry () {\n const player = this\n // 无设置参数或者是通过扩展播放的不做处理\n if (!player.config.errorConfig || player.src.indexOf('blob:') > -1) {\n return\n }\n const errorConfig = {}\n const _inConfig = player.config.errorConfig\n for (const key in defaultConfig) {\n if (_inConfig[key] === undefined) {\n errorConfig[key] = defaultConfig[key]\n } else {\n errorConfig[key] = _inConfig[key]\n }\n }\n player.retryData = {\n count: 0, // 重试次数\n errfTimer: null, // 超时设置定时器\n isFetchReturn: false, // fetch请求是否已经返回\n currentTime: 0 // 出错的时候时间\n }\n\n function errorfetch (player, url, timeout) {\n const resolveFun = (resolve, data) => {\n if (!player.retryData.isFetchReturn) {\n player.retryData.isFetchReturn = true\n resolve(data)\n }\n }\n return new Promise((resolve, reject) => {\n try {\n let xhr = new window.XMLHttpRequest()\n xhr.open('get', url)\n xhr.onload = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText, xhr})\n }\n xhr.onerror = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText || 'The network environment is disconnected or the address is invalid', xhr})\n }\n xhr.onabort = function () {\n // console.log('task onerror', xhr)\n }\n player.retryData.errfTimer = window.setTimeout(() => {\n let errfTimer = player.retryData.errfTimer\n window.clearTimeout(errfTimer)\n player.retryData.errfTimer = null\n resolveFun(resolve, {status: -1, statusText: 'request timeout'})\n }, timeout)\n xhr.send()\n } catch (err) {\n player.retryData.isFetchReturn = true\n resolveFun(resolve, {status: -2, statusText: 'request error'})\n }\n })\n }\n\n function retryCanPlay () {\n // console.log(`retryCanPlay this.retryData.currentTime:${this.retryData.currentTime}`)\n this.currentTime = this.retryData.currentTime\n this.play()\n this.retryData.retryCode = 0\n this.retryData.isFetchReturn = false\n this.retryData.currentTime = 0\n }\n\n const _originErrorEmit = player._onError\n player._onError = (data) => {\n const errorCount = this.retryData.count\n // console.log(`originErrorEmit:errorCount:${errorCount}`, data)\n if (errorCount > errorConfig.maxCount) {\n if (errorConfig.isFetch) {\n errorfetch(this, this.currentSrc, errorConfig.fetchTimeout).then((data) => {\n this.emit('error', new Errors({\n type: 'network',\n currentTime: this.currentTime,\n duration: this.duration || 0,\n networkState: this.networkState,\n readyState: this.readyState,\n currentSrc: this.currentSrc,\n src: this.src,\n ended: this.ended,\n httpCode: data.status,\n httpMsg: data.statusText,\n errd: {\n line: 101,\n msg: this.error,\n handle: 'plugin errorRetry'\n },\n errorCode: this.video && this.video.error.code,\n mediaError: this.video && this.video.error\n }));\n _originErrorEmit.call(this, data)\n })\n } else {\n _originErrorEmit.call(this, data)\n }\n return;\n }\n if (errorCount === 0) {\n this.retryData.currentTime = this.currentTime\n this.once('canplay', retryCanPlay.bind(this))\n }\n let src = ''\n if (errorConfig.count < 2) {\n src = errorConfig.backupUrl ? errorConfig.backupUrl : player.currentSrc\n } else {\n src = errorConfig.backupUrl && errorCount > 1 ? errorConfig.backupUrl : player.currentSrc\n }\n this.retryData.count++\n this.src = src\n }\n}\n\nexport default {\n name: 'errorretry',\n method: errorRetry\n}","import { on, hasClass, removeClass, addClass } from '../utils/util'\nclass Keyboard {\n constructor (player) {\n this.player = player\n this.state = {\n playbackRate: 0,\n isRepeat: false,\n keyCode: 0,\n repeat: 0,\n isBody: false\n }\n this.timer = null\n this.initEvents()\n }\n\n initEvents () {\n const {root, config} = this.player\n this.player.onBodyKeydown = this.onBodyKeydown.bind(this)\n this.player.onKeydown = this.onKeydown.bind(this)\n this.player.onKeyup = this.onKeyup.bind(this)\n if (!config.keyShortcut || config.keyShortcut === 'on') {\n document.addEventListener('keydown', this.player.onBodyKeydown)\n root.addEventListener('keydown', this.player.onKeydown)\n let destroyFunc = () => {\n document.removeEventListener('keydown', this.player.onBodyKeydown)\n root.removeEventListener('keydown', this.player.onKeydown)\n clearTimeout(this.timer)\n this.timer = null\n }\n on(this.player, 'destroy', destroyFunc)\n }\n }\n\n checkTarget (e) {\n const {player} = this\n return e.target === player.root || e.target === player.video || e.target === player.controls\n }\n\n onBodyKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if ((e.target === document.body) && (keyCode === 37 || keyCode === 39 || keyCode === 32)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n if (!e.repeat) {\n document.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if (this.checkTarget(e) && (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40 || keyCode === 32 || keyCode === 27)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n this.player.emit('focus')\n if (!e.repeat) {\n this.player.root.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeyup () {\n const {state, player} = this\n document.removeEventListener('keyup', this.player.onKeyup)\n player.root.removeEventListener('keyup', this.player.onKeyup)\n if (!state.keyCode) {\n return\n }\n if (state.playbackRate !== 0) {\n player.playbackRate = state.playbackRate\n }\n\n if (!state.isRepeat) {\n this.handlerKeyCode(state.keyCode, false)\n }\n state.playbackRate = 0\n state.isRepeat = false\n state.keyCode = 0\n state.repeat = 0\n this.changeVolumeSlide()\n }\n\n handler (e) {\n const {state, player} = this\n state.keyCode = e.keyCode\n state.isRepeat = e.repeat\n if (e.repeat) {\n if (player.config.disableLongPress) {\n this.handlerKeyCode(state.keyCode, false)\n } else if(state.repeat % 2 === 0) {\n this.handlerKeyCode(state.keyCode, true)\n }\n state.repeat++\n }\n }\n\n handlerKeyCode (keyCode, isLonePress) {\n const {player, state} = this\n switch (keyCode) {\n case 39:\n // 快进\n if (isLonePress) {\n state.repeat === 0 && this.changeRate()\n } else {\n this.seek(false, isLonePress)\n }\n break\n case 37:\n // 快退\n this.seek(true, isLonePress)\n break\n case 38:\n this.changeVolume(true)\n // 上\n break\n case 40:\n this.changeVolume(false)\n // 下\n break\n case 32:\n if (!isLonePress) {\n player.paused ? player.play() : player.pause()\n }\n break\n case 27:\n if (hasClass(player.root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n }\n break\n default:\n //\n }\n }\n\n seek (isBack, isLongPress) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const currentTimeStep = keyShortcutStep.currentTime || 10\n if (player.isLoading || player.isSeeking || (isLongPress && this.state.repeat % 8 > 0)) {\n return\n }\n if (isBack) {\n if (player.currentTime - currentTimeStep >= 0) {\n player.currentTime -= currentTimeStep\n } else {\n player.currentTime = 0\n }\n } else {\n if(player.maxPlayedTime && player.config.allowSeekPlayed && (player.currentTime + currentTimeStep > player.maxPlayedTime)) {\n player.currentTime = player.maxPlayedTime\n } else {\n if (player.currentTime + currentTimeStep <= player.duration) {\n player.currentTime += currentTimeStep\n } else {\n player.currentTime = player.duration + 1\n }\n }\n }\n }\n\n changeRate () {\n this.state.playbackRate = this.player.playbackRate\n this.player.playbackRate = this.player.config.keyboardRate || 5\n }\n\n changeVolumeSlide (show) {\n const {player} = this\n if (!player.controls) {\n return\n }\n if (show) {\n player.emit('focus')\n if (!hasClass(player.root, 'xgplayer-volume-active')) {\n addClass(player.root, 'xgplayer-volume-active')\n }\n } else {\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n removeClass(player.root, 'xgplayer-volume-active')\n }, 1000)\n }\n }\n\n changeVolume (isup) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const volumeStep = keyShortcutStep.volume || 0.1\n this.changeVolumeSlide(true)\n const volume = player.volume\n if (isup && volume + volumeStep <= 1) {\n player.volume = volume + volumeStep\n } else if (!isup && volume - volumeStep >= 0) {\n player.volume = volume - volumeStep\n }\n }\n}\n\nlet keyboard = function () {\n let player = this\n player.keyboard = new Keyboard(player)\n}\n\nexport default {\n name: 'keyboard',\n method: keyboard\n}","import { hasClass } from '../utils/util'\n\nlet localPreview = function () {\n let player = this\n let root = player.root\n function onUpload (upload) {\n player.uploadFile = upload.files[0]\n let url = URL.createObjectURL(player.uploadFile)\n if (hasClass(root, 'xgplayer-nostart')) {\n player.config.url = url\n player.start()\n } else {\n player.src = url\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n player.on('upload', onUpload)\n\n function onDestroy () {\n player.off('upload', onUpload)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'localPreview',\n method: localPreview\n}","let memoryPlay = function () {\n let player = this\n player.on('memoryPlayStart', (lastPlayTime) => {\n setTimeout(() => {\n console.log('memoryPlayStart', lastPlayTime, player.readyState, 11)\n player.currentTime = lastPlayTime\n },)\n })\n}\n\nexport default {\n name: 'memoryPlay',\n method: memoryPlay\n}","import { findDom, hasClass, createDom, addClass, removeClass } from '../utils/util'\nimport Draggabilly from 'draggabilly'\n\nlet miniplayer = function () {\n let player = this\n let root = player.root\n function onMiniplayerBtnClick () {\n if (hasClass(root, 'xgplayer-miniplayer-active')) {\n player.exitMiniplayer()\n } else {\n player.getMiniplayer()\n }\n }\n player.on('miniplayerBtnClick', onMiniplayerBtnClick)\n\n function onDestroy () {\n player.off('miniplayerBtnClick', onMiniplayerBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getMiniplayer = function () {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n this.exitFullscreen(root)\n }\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n this.exitCssFullscreen()\n }\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n this.exitRotateFullscreen()\n }\n // let ro = this.root.getBoundingClientRect()\n // let Top = ro.top\n // let Left = ro.left\n let dragLay = createDom('xg-miniplayer-lay', '<div></div>', {}, 'xgplayer-miniplayer-lay')\n this.root.appendChild(dragLay)\n let dragHandle = createDom('xg-miniplayer-drag', `<div class=\"drag-handle\"><span>${this.lang.MINIPLAYER_DRAG}</span></div>`, {tabindex: 9}, 'xgplayer-miniplayer-drag')\n this.root.appendChild(dragHandle)\n // eslint-disable-next-line no-unused-vars\n let draggie = new Draggabilly('.xgplayer', {\n handle: '.drag-handle'\n })\n addClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = 0\n this.root.style.bottom = '200px'\n this.root.style.top = ''\n this.root.style.left = ''\n this.root.style.width = '320px'\n this.root.style.height = '180px'\n if (this.config.miniplayerConfig) {\n if (this.config.miniplayerConfig.top !== undefined) {\n this.root.style.top = this.config.miniplayerConfig.top + 'px'\n this.root.style.bottom = ''\n }\n if (this.config.miniplayerConfig.bottom !== undefined) {\n this.root.style.bottom = this.config.miniplayerConfig.bottom + 'px'\n }\n if (this.config.miniplayerConfig.left !== undefined) {\n this.root.style.left = this.config.miniplayerConfig.left + 'px'\n this.root.style.right = ''\n }\n if (this.config.miniplayerConfig.right !== undefined) {\n this.root.style.right = this.config.miniplayerConfig.right + 'px'\n }\n if (this.config.miniplayerConfig.width !== undefined) {\n this.root.style.width = this.config.miniplayerConfig.width + 'px'\n }\n if (this.config.miniplayerConfig.height !== undefined) {\n this.root.style.height = this.config.miniplayerConfig.height + 'px'\n }\n }\n if (this.config.fluid) {\n this.root.style['padding-top'] = ''\n }\n let player = this;\n ['click', 'touchend'].forEach(item => {\n dragLay.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.exitMiniplayer()\n // player.root.style.top = `${Top}px`\n // player.root.style.left = `${Left}px`\n })\n })\n }\n\n player.exitMiniplayer = function () {\n removeClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = ''\n this.root.style.bottom = ''\n this.root.style.top = ''\n this.root.style.left = ''\n if (this.config.fluid) {\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n } else {\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n\n let dragLay = findDom(this.root, '.xgplayer-miniplayer-lay')\n if (dragLay && dragLay.parentNode) {\n dragLay.parentNode.removeChild(dragLay)\n }\n let dragHandle = findDom(this.root, '.xgplayer-miniplayer-drag')\n if (dragHandle && dragHandle.parentNode) {\n dragHandle.parentNode.removeChild(dragHandle)\n }\n }\n}\n\nexport default {\n name: 'miniplayer',\n method: miniplayer\n}","/*!\n * Draggabilly v2.3.0\n * Make that shiz draggable\n * https://draggabilly.desandro.com\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'get-size/get-size',\n 'unidragger/unidragger',\n ],\n function( getSize, Unidragger ) {\n return factory( window, getSize, Unidragger );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('get-size'),\n require('unidragger')\n );\n } else {\n // browser global\n window.Draggabilly = factory(\n window,\n window.getSize,\n window.Unidragger\n );\n }\n\n}( window, function factory( window, getSize, Unidragger ) {\n\n// -------------------------- helpers & variables -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nfunction noop() {}\n\nvar jQuery = window.jQuery;\n\n// -------------------------- -------------------------- //\n\nfunction Draggabilly( element, options ) {\n // querySelector if string\n this.element = typeof element == 'string' ?\n document.querySelector( element ) : element;\n\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n\n // options\n this.options = extend( {}, this.constructor.defaults );\n this.option( options );\n\n this._create();\n}\n\n// inherit Unidragger methods\nvar proto = Draggabilly.prototype = Object.create( Unidragger.prototype );\n\nDraggabilly.defaults = {\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function( opts ) {\n extend( this.options, opts );\n};\n\n// css position values that don't need to be set\nvar positionValues = {\n relative: true,\n absolute: true,\n fixed: true,\n};\n\nproto._create = function() {\n // properties\n this.position = {};\n this._getPosition();\n\n this.startPoint = { x: 0, y: 0 };\n this.dragPoint = { x: 0, y: 0 };\n\n this.startPosition = extend( {}, this.position );\n\n // set relative positioning\n var style = getComputedStyle( this.element );\n if ( !positionValues[ style.position ] ) {\n this.element.style.position = 'relative';\n }\n\n // events, bridge jQuery events from vanilla\n this.on( 'pointerMove', this.onPointerMove );\n this.on( 'pointerUp', this.onPointerUp );\n\n this.enable();\n this.setHandles();\n};\n\n/**\n * set this.handles and bind start events to 'em\n */\nproto.setHandles = function() {\n this.handles = this.options.handle ?\n this.element.querySelectorAll( this.options.handle ) : [ this.element ];\n\n this.bindHandles();\n};\n\n/**\n * emits events via EvEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function( type, event, args ) {\n var emitArgs = [ event ].concat( args );\n this.emitEvent( type, emitArgs );\n this.dispatchJQueryEvent( type, event, args );\n};\n\nproto.dispatchJQueryEvent = function( type, event, args ) {\n var jquery = window.jQuery;\n // trigger jQuery event\n if ( !jquery || !this.$element ) {\n return;\n }\n // create jQuery event\n /* eslint-disable-next-line new-cap */\n var $event = jquery.Event( event );\n $event.type = type;\n this.$element.trigger( $event, args );\n};\n\n// -------------------------- position -------------------------- //\n\n// get x/y position from style\nproto._getPosition = function() {\n var style = getComputedStyle( this.element );\n var x = this._getPositionCoord( style.left, 'width' );\n var y = this._getPositionCoord( style.top, 'height' );\n // clean up 'auto' or other non-integer values\n this.position.x = isNaN( x ) ? 0 : x;\n this.position.y = isNaN( y ) ? 0 : y;\n\n this._addTransformPosition( style );\n};\n\nproto._getPositionCoord = function( styleSide, measure ) {\n if ( styleSide.indexOf('%') != -1 ) {\n // convert percent into pixel for Safari, #75\n var parentSize = getSize( this.element.parentNode );\n // prevent not-in-DOM element throwing bug, #131\n return !parentSize ? 0 :\n ( parseFloat( styleSide ) / 100 ) * parentSize[ measure ];\n }\n return parseInt( styleSide, 10 );\n};\n\n// add transform: translate( x, y ) to position\nproto._addTransformPosition = function( style ) {\n var transform = style.transform;\n // bail out if value is 'none'\n if ( transform.indexOf('matrix') !== 0 ) {\n return;\n }\n // split matrix(1, 0, 0, 1, x, y)\n var matrixValues = transform.split(',');\n // translate X value is in 12th or 4th position\n var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;\n var translateX = parseInt( matrixValues[ xIndex ], 10 );\n // translate Y value is in 13th or 5th position\n var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );\n this.position.x += translateX;\n this.position.y += translateY;\n};\n\n// -------------------------- events -------------------------- //\n\nproto.onPointerDown = function( event, pointer ) {\n this.element.classList.add('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerDown', event, [ pointer ] );\n};\n\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay || !this.isEnabled ) {\n this._pointerReset();\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.element.classList.add('is-pointer-down');\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\n/**\n * drag start\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragStart = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this._getPosition();\n this.measureContainment();\n // position _when_ drag began\n this.startPosition.x = this.position.x;\n this.startPosition.y = this.position.y;\n // reset left/top style\n this.setLeftTop();\n\n this.dragPoint.x = 0;\n this.dragPoint.y = 0;\n\n this.element.classList.add('is-dragging');\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n // start animation\n this.animate();\n};\n\nproto.measureContainment = function() {\n var container = this.getContainer();\n if ( !container ) {\n return;\n }\n\n var elemSize = getSize( this.element );\n var containerSize = getSize( container );\n var elemRect = this.element.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n\n var borderSizeX = containerSize.borderLeftWidth + containerSize.borderRightWidth;\n var borderSizeY = containerSize.borderTopWidth + containerSize.borderBottomWidth;\n\n var position = this.relativeStartPosition = {\n x: elemRect.left - ( containerRect.left + containerSize.borderLeftWidth ),\n y: elemRect.top - ( containerRect.top + containerSize.borderTopWidth ),\n };\n\n this.containSize = {\n width: ( containerSize.width - borderSizeX ) - position.x - elemSize.width,\n height: ( containerSize.height - borderSizeY ) - position.y - elemSize.height,\n };\n};\n\nproto.getContainer = function() {\n var containment = this.options.containment;\n if ( !containment ) {\n return;\n }\n var isElement = containment instanceof HTMLElement;\n // use as element\n if ( isElement ) {\n return containment;\n }\n // querySelector if string\n if ( typeof containment == 'string' ) {\n return document.querySelector( containment );\n }\n // fallback to parent element\n return this.element.parentNode;\n};\n\n// ----- move event ----- //\n\nproto.onPointerMove = function( event, pointer, moveVector ) {\n this.dispatchJQueryEvent( 'pointerMove', event, [ pointer, moveVector ] );\n};\n\n/**\n * drag move\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n * @param {Object} moveVector - x and y coordinates\n */\nproto.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isEnabled ) {\n return;\n }\n var dragX = moveVector.x;\n var dragY = moveVector.y;\n\n var grid = this.options.grid;\n var gridX = grid && grid[0];\n var gridY = grid && grid[1];\n\n dragX = applyGrid( dragX, gridX );\n dragY = applyGrid( dragY, gridY );\n\n dragX = this.containDrag( 'x', dragX, gridX );\n dragY = this.containDrag( 'y', dragY, gridY );\n\n // constrain to axis\n dragX = this.options.axis == 'y' ? 0 : dragX;\n dragY = this.options.axis == 'x' ? 0 : dragY;\n\n this.position.x = this.startPosition.x + dragX;\n this.position.y = this.startPosition.y + dragY;\n // set dragPoint properties\n this.dragPoint.x = dragX;\n this.dragPoint.y = dragY;\n\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nfunction applyGrid( value, grid, method ) {\n method = method || 'round';\n return grid ? Math[ method ]( value/grid ) * grid : value;\n}\n\nproto.containDrag = function( axis, drag, grid ) {\n if ( !this.options.containment ) {\n return drag;\n }\n var measure = axis == 'x' ? 'width' : 'height';\n\n var rel = this.relativeStartPosition[ axis ];\n var min = applyGrid( -rel, grid, 'ceil' );\n var max = this.containSize[ measure ];\n max = applyGrid( max, grid, 'floor' );\n return Math.max( min, Math.min( max, drag ) );\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.onPointerUp = function( event, pointer ) {\n this.element.classList.remove('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerUp', event, [ pointer ] );\n};\n\n/**\n * drag end\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragEnd = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n // use top left position when complete\n this.element.style.transform = '';\n this.setLeftTop();\n this.element.classList.remove('is-dragging');\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\n// -------------------------- animation -------------------------- //\n\nproto.animate = function() {\n // only render and animate if dragging\n if ( !this.isDragging ) {\n return;\n }\n\n this.positionDrag();\n\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n } );\n\n};\n\n// left/top positioning\nproto.setLeftTop = function() {\n this.element.style.left = this.position.x + 'px';\n this.element.style.top = this.position.y + 'px';\n};\n\nproto.positionDrag = function() {\n this.element.style.transform = 'translate3d( ' + this.dragPoint.x +\n 'px, ' + this.dragPoint.y + 'px, 0)';\n};\n\n// ----- staticClick ----- //\n\nproto.staticClick = function( event, pointer ) {\n this.dispatchEvent( 'staticClick', event, [ pointer ] );\n};\n\n// ----- methods ----- //\n\n/**\n * @param {Number} x\n * @param {Number} y\n */\nproto.setPosition = function( x, y ) {\n this.position.x = x;\n this.position.y = y;\n this.setLeftTop();\n};\n\nproto.enable = function() {\n this.isEnabled = true;\n};\n\nproto.disable = function() {\n this.isEnabled = false;\n if ( this.isDragging ) {\n this.dragEnd();\n }\n};\n\nproto.destroy = function() {\n this.disable();\n // reset styles\n this.element.style.transform = '';\n this.element.style.left = '';\n this.element.style.top = '';\n this.element.style.position = '';\n // unbind handles\n this.unbindHandles();\n // remove jQuery data\n if ( this.$element ) {\n this.$element.removeData('draggabilly');\n }\n};\n\n// ----- jQuery bridget ----- //\n\n// required for jQuery bridget\nproto._init = noop;\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'draggabilly', Draggabilly );\n}\n\n// ----- ----- //\n\nreturn Draggabilly;\n\n} ) );\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n","/*!\n * Unidragger v2.3.1\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'unipointer/unipointer'\n ], function( Unipointer ) {\n return factory( window, Unipointer );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, Unipointer ) {\n\n'use strict';\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nvar proto = Unidragger.prototype = Object.create( Unipointer.prototype );\n\n// ----- bind start ----- //\n\nproto.bindHandles = function() {\n this._bindHandles( true );\n};\n\nproto.unbindHandles = function() {\n this._bindHandles( false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\nproto._bindHandles = function( isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n var touchAction = isAdd ? this._touchActionValue : '';\n for ( var i=0; i < this.handles.length; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isAdd );\n handle[ bindMethod ]( 'click', this );\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if ( window.PointerEvent ) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\nproto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// nodes that have text fields\nvar cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nvar clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\nproto.okayPointerDown = function( event ) {\n var isCursorNode = cursorNodes[ event.target.nodeName ];\n var isClickType = clickTypes[ event.target.type ];\n var isOkay = !isCursorNode || isClickType;\n if ( !isOkay ) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\nproto.pointerDownBlur = function() {\n var focused = document.activeElement;\n // do not blur body for IE10, metafizzy/flickity#117\n var canBlur = focused && focused.blur && focused != document.body;\n if ( canBlur ) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n// base pointer move logic\nproto._dragPointerMove = function( event, pointer ) {\n var moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY\n };\n // start drag if pointer has moved far enough to start drag\n if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {\n this._dragStart( event, pointer );\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto._dragPointerUp = function( event, pointer ) {\n if ( this.isDragging ) {\n this._dragEnd( event, pointer );\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick( event, pointer );\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\nproto._dragStart = function( event, pointer ) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart( event, pointer );\n};\n\nproto.dragStart = function( event, pointer ) {\n this.emitEvent( 'dragStart', [ event, pointer ] );\n};\n\n// dragMove\nproto._dragMove = function( event, pointer, moveVector ) {\n // do not drag if not dragging yet\n if ( !this.isDragging ) {\n return;\n }\n\n this.dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n event.preventDefault();\n this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );\n};\n\n// dragEnd\nproto._dragEnd = function( event, pointer ) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout( function() {\n delete this.isPreventingClicks;\n }.bind( this ) );\n\n this.dragEnd( event, pointer );\n};\n\nproto.dragEnd = function( event, pointer ) {\n this.emitEvent( 'dragEnd', [ event, pointer ] );\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\nproto.onclick = function( event ) {\n if ( this.isPreventingClicks ) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\nproto._staticClick = function( event, pointer ) {\n // ignore emulated mouse up clicks\n if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {\n return;\n }\n\n this.staticClick( event, pointer );\n\n // set flag for emulated clicks 300ms after touchend\n if ( event.type != 'mouseup' ) {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout( function() {\n delete this.isIgnoringMouseUp;\n }.bind( this ), 400 );\n }\n};\n\nproto.staticClick = function( event, pointer ) {\n this.emitEvent( 'staticClick', [ event, pointer ] );\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n\n// ----- ----- //\n\nreturn Unidragger;\n\n}));\n","/*!\n * Unipointer v2.3.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /*global define, module, require */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.Unipointer = factory(\n window,\n window.EvEmitter\n );\n }\n\n}( window, function factory( window, EvEmitter ) {\n\n'use strict';\n\nfunction noop() {}\n\nfunction Unipointer() {}\n\n// inherit EvEmitter\nvar proto = Unipointer.prototype = Object.create( EvEmitter.prototype );\n\nproto.bindStartEvent = function( elem ) {\n this._bindStartEvent( elem, true );\n};\n\nproto.unbindStartEvent = function( elem ) {\n this._bindStartEvent( elem, false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd - remove if falsey\n */\nproto._bindStartEvent = function( elem, isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n var startEvent = 'mousedown';\n if ( window.PointerEvent ) {\n // Pointer Events\n startEvent = 'pointerdown';\n } else if ( 'ontouchstart' in window ) {\n // Touch Events. iOS Safari\n startEvent = 'touchstart';\n }\n elem[ bindMethod ]( startEvent, this );\n};\n\n// trigger handler methods for events\nproto.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// returns the touch that we're keeping track of\nproto.getTouch = function( touches ) {\n for ( var i=0; i < touches.length; i++ ) {\n var touch = touches[i];\n if ( touch.identifier == this.pointerIdentifier ) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\nproto.onmousedown = function( event ) {\n // dismiss clicks from right or middle buttons\n var button = event.button;\n if ( button && ( button !== 0 && button !== 1 ) ) {\n return;\n }\n this._pointerDown( event, event );\n};\n\nproto.ontouchstart = function( event ) {\n this._pointerDown( event, event.changedTouches[0] );\n};\n\nproto.onpointerdown = function( event ) {\n this._pointerDown( event, event );\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto._pointerDown = function( event, pointer ) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if ( event.button || this.isPointerDown ) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier = pointer.pointerId !== undefined ?\n // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId : pointer.identifier;\n\n this.pointerDown( event, pointer );\n};\n\nproto.pointerDown = function( event, pointer ) {\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// hash of events to be bound after start event\nvar postStartEvents = {\n mousedown: [ 'mousemove', 'mouseup' ],\n touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],\n pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],\n};\n\nproto._bindPostStartEvents = function( event ) {\n if ( !event ) {\n return;\n }\n // get proper events to match start event\n var events = postStartEvents[ event.type ];\n // bind events to node\n events.forEach( function( eventName ) {\n window.addEventListener( eventName, this );\n }, this );\n // save these arguments\n this._boundPointerEvents = events;\n};\n\nproto._unbindPostStartEvents = function() {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if ( !this._boundPointerEvents ) {\n return;\n }\n this._boundPointerEvents.forEach( function( eventName ) {\n window.removeEventListener( eventName, this );\n }, this );\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\nproto.onmousemove = function( event ) {\n this._pointerMove( event, event );\n};\n\nproto.onpointermove = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerMove( event, event );\n }\n};\n\nproto.ontouchmove = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerMove( event, touch );\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerMove = function( event, pointer ) {\n this.pointerMove( event, pointer );\n};\n\n// public\nproto.pointerMove = function( event, pointer ) {\n this.emitEvent( 'pointerMove', [ event, pointer ] );\n};\n\n// ----- end event ----- //\n\n\nproto.onmouseup = function( event ) {\n this._pointerUp( event, event );\n};\n\nproto.onpointerup = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerUp( event, event );\n }\n};\n\nproto.ontouchend = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerUp( event, touch );\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerUp = function( event, pointer ) {\n this._pointerDone();\n this.pointerUp( event, pointer );\n};\n\n// public\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\nproto._pointerDone = function() {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\nproto._pointerReset = function() {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\nproto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\nproto.onpointercancel = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerCancel( event, event );\n }\n};\n\nproto.ontouchcancel = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerCancel( event, touch );\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerCancel = function( event, pointer ) {\n this._pointerDone();\n this.pointerCancel( event, pointer );\n};\n\n// public\nproto.pointerCancel = function( event, pointer ) {\n this.emitEvent( 'pointerCancel', [ event, pointer ] );\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function( pointer ) {\n return {\n x: pointer.pageX,\n y: pointer.pageY\n };\n};\n\n// ----- ----- //\n\nreturn Unipointer;\n\n}));\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","\nimport { PresentationMode, checkWebkitSetPresentationMode, addClass, removeClass} from '../utils/util'\n\nlet pip = function () {\n let player = this\n function onPipBtnClick () {\n if (player.video !== document.pictureInPictureElement) {\n player.video.requestPictureInPicture()\n } else {\n document.exitPictureInPicture()\n }\n }\n player.on('pipBtnClick', onPipBtnClick)\n\n const onWebkitpresentationmodechanged = (e) => {\n const mode = player.video.webkitPresentationMode\n this.pMode = mode\n if (mode === PresentationMode.PIP) {\n // 进入pip模式\n player.emit('requestPictureInPicture', e.pictureInPictureWindow)\n } else if (mode === PresentationMode.INLINE) {\n // 退出pip,进去inline模式\n player.emit('exitPictureInPicture')\n }\n }\n\n player.video.addEventListener('enterpictureinpicture', function (pipWindow) {\n addClass(player.root, 'xgplayer-pip-active')\n player.emit('requestPictureInPicture', pipWindow)\n })\n\n player.video.addEventListener('leavepictureinpicture', function () {\n removeClass(player.root, 'xgplayer-pip-active')\n player.emit('exitPictureInPicture')\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('pipBtnClick', onPipBtnClick)\n player.off('destroy', onDestroy)\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pip',\n method: pip\n}\n","let playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n player.currentVideoIndex = -1\n\n function onPlayNextBtnClick () {\n if (player.currentVideoIndex + 1 < nextBtn.urlList.length) {\n player.currentVideoIndex++\n player.video.autoplay = true\n player.src = nextBtn.urlList[player.currentVideoIndex]\n player.emit('playerNext', player.currentVideoIndex + 1)\n if (player.currentVideoIndex + 1 === nextBtn.urlList.length) {\n player.emit('urlListEnd')\n }\n }\n }\n player.on('playNextBtnClick', onPlayNextBtnClick)\n\n function onDestroy () {\n player.off('playNextBtnClick', onPlayNextBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'playNext',\n method: playNext\n}","import { removeClass } from '../utils/util'\n\nlet reload = function () {\n let player = this\n let reloadConfig = player.config.reload\n if (!reloadConfig) { return }\n\n function onReloadBtnClick () {\n removeClass(player.root, 'xgplayer-is-error')\n player.src = player.config.url\n }\n player.on('reloadBtnClick', onReloadBtnClick)\n\n function onDestroy () {\n player.off('reloadBtnClick', onReloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'reload',\n method: reload\n}","let rotate = function () {\n let player = this\n let rotateConfig = player.config.rotate\n if (!rotateConfig) { return }\n\n function onRotateBtnClick () {\n player.rotate(rotateConfig.clockwise, rotateConfig.innerRotate)\n }\n player.on('rotateBtnClick', onRotateBtnClick)\n\n function onDestroy () {\n player.off('rotateBtnClick', onRotateBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.updateRotateDeg = function () {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n\n let width = player.root.offsetWidth\n let height = player.root.offsetHeight\n let targetWidth = player.video.videoWidth\n let targetHeight = player.video.videoHeight\n\n if (!player.config.rotate.innerRotate && player.config.rotate.controlsFix) {\n player.root.style.width = height + 'px'\n player.root.style.height = width + 'px'\n }\n\n let scale\n if (player.rotateDeg === 0.25 || player.rotateDeg === 0.75) {\n if (player.config.rotate.innerRotate) {\n if ((targetWidth / targetHeight) > (height / width)) { // 旋转后纵向撑满\n let videoWidth = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoWidth = height * targetWidth / targetHeight\n } else { // 旋转前是横向撑满\n videoWidth = width\n }\n scale = height / videoWidth\n } else { // 旋转后横向撑满\n let videoHeight = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoHeight = height\n } else { // 旋转前是横向撑满\n videoHeight = width * targetHeight / targetWidth\n }\n scale = width / videoHeight\n }\n } else {\n if (width >= height) {\n scale = width / height\n } else {\n scale = height / width\n }\n }\n scale = Number(scale.toFixed(5))\n } else {\n scale = 1\n }\n\n if (player.config.rotate.innerRotate) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n if (player.config.rotate.controlsFix) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n player.root.style.transformOrigin = 'center center'\n player.root.style.transform = `rotate(${player.rotateDeg}turn) scale(${1})`\n player.root.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${1})`\n }\n }\n }\n\n player.rotate = function (clockwise = false, innerRotate = true, times = 1) {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n let factor = clockwise ? 1 : -1\n\n player.rotateDeg = (player.rotateDeg + 1 + factor * 0.25 * times) % 1\n this.updateRotateDeg()\n\n player.emit('rotate', player.rotateDeg * 360)\n }\n}\n\nexport default {\n name: 'rotate',\n method: rotate\n}","let screenShot = function () {\n let player = this\n let screenShotOptions = player.config.screenShot\n if (!screenShotOptions) {\n return\n }\n\n player.video.setAttribute('crossOrigin', 'anonymous')\n\n let encoderOptions = 0.92\n if(screenShotOptions.quality || screenShotOptions.quality === 0) {\n encoderOptions = screenShotOptions.quality\n }\n let type = screenShotOptions.type === undefined ? 'image/png' : screenShotOptions.type\n let format = screenShotOptions.format === undefined ? '.png' : screenShotOptions.format\n\n let canvas = document.createElement('canvas')\n let canvasCtx = canvas.getContext('2d')\n let img = new Image()\n canvas.width = this.config.width || 600\n canvas.height = this.config.height || 337.5\n\n let saveScreenShot = function (data, filename) {\n let saveLink = document.createElement('a')\n saveLink.href = data\n saveLink.download = filename\n let event = document.createEvent('MouseEvents')\n event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)\n saveLink.dispatchEvent(event)\n }\n\n player.screenShot = function (save = true) {\n save = screenShotOptions.saveImg === undefined ? save : screenShotOptions.saveImg\n canvas.width = player.video.videoWidth || 600\n canvas.height = player.video.videoHeight || 337.5\n img.onload = (function () {\n canvasCtx.drawImage(player.video, 0, 0, canvas.width, canvas.height)\n img.src = canvas.toDataURL(type, encoderOptions).replace(type, 'image/octet-stream')\n let screenShotImg = img.src.replace(/^data:image\\/[^;]+/, 'data:application/octet-stream')\n player.emit('screenShot', screenShotImg)\n save && saveScreenShot(screenShotImg, '截图' + format)\n })()\n }\n player.on('screenShotBtnClick', player.screenShot)\n\n function onDestroy () {\n player.off('screenShotBtnClick', player.screenShot)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'screenShot',\n method: screenShot\n}","import Errors from '../error'\n\nfunction stallCheck () {\n const player = this\n if(!player.config.enableStallCheck) return;\n let lastCurrentTime = 0;\n let stallFlag, stallCheckTimer, progressTimer;\n player.once('complete', () => {\n progressTimer = setInterval(() => {\n if (player.currentTime - (lastCurrentTime || 0) > 0.1 || player.paused) {\n if (stallFlag === 1 || stallFlag === 2) {\n stallFlag = 0;\n clearTimeout(stallCheckTimer);\n stallCheckTimer = null;\n }\n } else {\n if (!stallFlag) {\n stallFlag = 1;\n stallCheckTimer = setTimeout(() => {\n if (stallFlag === 1) {\n stallFlag = 2;\n player.emit('error', new Errors('STALL'));\n }\n stallCheckTimer = null;\n }, 20000);\n }\n }\n lastCurrentTime = player.currentTime;\n }, 1000);\n })\n}\n \nexport default {\n name: 'stallCheck',\n method: stallCheck\n}\n\n\n","import { addClass, removeClass, event } from '../utils/util'\nimport sniffer from '../utils/sniffer'\n\nlet volume = function () {\n let player = this\n let root = player.root\n let container, slider, bar, selected\n function onCanplay () {\n // player.volume = sniffer.device === 'mobile' ? 1 : player.config.volume\n if(!player.controls) return\n player.volume = player.config.volume\n container = player.controls.querySelector('.xgplayer-volume')\n if(!container) return\n slider = container.querySelector('.xgplayer-slider')\n bar = container.querySelector('.xgplayer-bar')\n selected = container.querySelector('.xgplayer-drag')\n if (sniffer.device === 'mobile') {\n if(player.volume === 0) {\n player.video.muted = true\n }\n onVolumeChange()\n }\n }\n player.once('canplay', onCanplay)\n\n function onVolumeBarClick (e) {\n if(!slider) return\n player.video.muted = false\n slider.focus()\n event(e)\n\n let barRect = bar.getBoundingClientRect()\n let pos = {x: e.clientX, y: e.clientY}\n let height = selected.getBoundingClientRect().height\n let isMove = false\n let onMove = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n isMove = true\n let w = height - e.clientY + pos.y\n let now = w / barRect.height\n selected.style.height = `${w}px`\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n let onUp = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n window.removeEventListener('mousemove', onMove)\n window.removeEventListener('touchmove', onMove)\n window.removeEventListener('mouseup', onUp)\n window.removeEventListener('touchend', onUp)\n\n if (!isMove) {\n let w = barRect.height - (e.clientY - barRect.top)\n let now = w / barRect.height\n selected.style.height = `${w}px`\n if (now <= 0) {\n if (player.volume > 0) {\n selected.volume = player.video.volume\n } else {\n now = selected.volume\n }\n }\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n slider.volume = player.volume\n isMove = false\n }\n window.addEventListener('mousemove', onMove)\n window.addEventListener('touchmove', onMove)\n window.addEventListener('mouseup', onUp)\n window.addEventListener('touchend', onUp)\n return false\n }\n player.on('volumeBarClick', onVolumeBarClick)\n\n function onVolumeIconClick () {\n if (sniffer.device === 'mobile') {\n if (player.video.muted) {\n player.video.muted = false\n player.emit('unmute')\n player.volume = 1\n } else {\n player.video.muted = true\n player.emit('mute')\n player.volume = 0\n }\n } else {\n if(!slider) return\n player.video.muted = false\n if (player.volume < 0.1) {\n if (slider.volume < 0.1) {\n player.volume = 0.6\n } else {\n player.volume = slider.volume\n }\n player.emit('unmute')\n } else {\n player.volume = 0\n player.emit('mute')\n }\n }\n // onVolumeChange ()\n }\n player.on('volumeIconClick', onVolumeIconClick)\n\n function onVolumeIconEnter () {\n addClass(root, 'xgplayer-volume-active')\n if (container) {\n container.focus()\n }\n }\n player.on('volumeIconEnter', onVolumeIconEnter)\n\n function onVolumeIconLeave () {\n removeClass(root, 'xgplayer-volume-active')\n }\n player.on('volumeIconLeave', onVolumeIconLeave)\n\n let _changeTimer = null\n function onVolumeChange () {\n if (_changeTimer) {\n clearTimeout(_changeTimer)\n }\n _changeTimer = setTimeout(() => {\n if (sniffer.device === 'mobile') {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-large')\n if (player.video.muted || player.video.defaultMuted) {\n if (!player.video.muted) {\n player.video.muted = true\n }\n player.video.defaultMuted = false\n addClass(root, 'xgplayer-volume-muted')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n } else {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-small')\n removeClass(root, 'xgplayer-volume-large')\n if (player.volume === 0 || player.muted) {\n addClass(root, 'xgplayer-volume-muted')\n } else if (player.volume < 0.5) {\n addClass(root, 'xgplayer-volume-small')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n if (!bar) return\n let containerHeight = bar.getBoundingClientRect().height || 76\n selected.style.height = `${player.volume * containerHeight}px`\n }\n }, 50)\n }\n player.on('volumechange', onVolumeChange)\n\n function onDestroy () {\n player.off('canplay', onCanplay)\n player.off('volumeBarClick', onVolumeBarClick)\n player.off('volumeIconClick', onVolumeIconClick)\n player.off('volumeIconEnter', onVolumeIconEnter)\n player.off('volumeIconLeave', onVolumeIconLeave)\n player.off('volumechange', onVolumeChange)\n player.off('destroy', onDestroy)\n if (_changeTimer) {\n clearTimeout(_changeTimer);\n _changeTimer = null;\n }\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'volume',\n method: volume\n}","import SubTitles from 'xgplayer-subtitles'\nconst defaultStyle = {\n follow: true, // 是否跟随控制栏调整位置\n mode: 'stroke', // 字体显示模式,默认是描边\n followBottom: 50, // 跟随底部控制栏的高度\n fitVideo: true, // 是否跟随视频自动调整字号\n offsetBottom: 2, // 字幕距离画面底部百分比,默认2%\n baseSizeX: 49, // 横屏视频适配基准字号\n baseSizeY: 28, // 竖屏视频适配基准字号\n minSize: 16, // pc端最小字号\n minMobileSize: 13, // 移动端最小字号\n line: 'double', // 最大显示行数 single/double/three\n fontColor: '#fff' // 字体颜色\n}\n\n// function createSubTitle (textTrack, style = {}, defaultOpen = true) {\n// const config = {\n// subTitles: textTrack,\n// defaultOpen: defaultOpen\n// }\n\n// Object.keys(style).map(key => {\n// config[key] = style[key]\n// })\n// return new SubTitles(config)\n// }\n\nclass XgSubtitles {\n constructor (player, list, style) {\n const subtitle = this.create(list, style, player.textTrackShowDefault)\n subtitle.attachPlayer(player)\n this.subtitle = subtitle\n this.player = player\n this.positionData = {\n vBottom: 0,\n marginBottom: 0\n }\n this.isActive = false\n this.followBottom = style.followBottom;\n ['onSubtitleResize', 'onFocus', 'onBlur'].map(item => {\n this[item] = this[item].bind(this)\n })\n\n if (player.controls && style.follow) {\n this.subtitle.on('resize', this.onSubtitleResize)\n player.on('focus', this.onFocus)\n player.on('blur', this.onBlur)\n }\n }\n\n create (textTrack, style = {}, defaultOpen = true) {\n const config = {\n subTitles: textTrack,\n defaultOpen: defaultOpen\n }\n Object.keys(style).map(key => {\n config[key] = style[key]\n })\n return new SubTitles(config)\n }\n\n switch (subtitle) {\n return this.subtitle.switch(subtitle)\n }\n\n switchOff () {\n return this.subtitle.switchOff()\n }\n\n setSubTitles (subtitles, showDefault, isNeedMove) {\n return this.subtitle.setSubTitles(subtitles, showDefault, isNeedMove)\n }\n\n onFocus () {\n const { marginBottom, vBottom } = this.positionData\n if (this.isActive || !marginBottom) {\n return\n }\n this.isActive = true\n let bottom = marginBottom + vBottom\n if (this.followBottom > bottom) {\n bottom = this.followBottom\n }\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onBlur () {\n this.isActive = false\n const bottom = this.positionData.vBottom + this.positionData.marginBottom\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onSubtitleResize (data) {\n this.positionData.vBottom = data.vBottom\n this.positionData.marginBottom = data.marginBottom\n }\n\n destroy () {\n this.subtitle.off('resize', this.onSubtitleResize)\n this.player.off('focus', this.onFocus)\n this.player.off('blur', this.onBlur)\n this.subtitle.destroy()\n this.subtitle = null\n }\n}\n\nlet textTrack = function () {\n const player = this\n const { textTrack } = player.config\n if (!textTrack) {\n return\n }\n let textTrackStyle = player.config.textTrackStyle || {}\n Object.keys(defaultStyle).map(key => {\n if (textTrackStyle[key] === undefined) {\n textTrackStyle[key] = defaultStyle[key]\n }\n })\n player.textTrackShowDefault = false\n player.config.textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n !player.textTrackShowDefault && (player.textTrackShowDefault = item.isDefault || item.default)\n })\n\n this.subTitles = new XgSubtitles(player, player.config.textTrack, textTrackStyle)\n\n player.setSubTitles = (textTrack, needRemove = true) => {\n let showDefault = false\n textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n item.isDefault && (showDefault = true)\n })\n player.textTrackShowDefault = showDefault\n this.subTitles.setSubTitles(textTrack, showDefault, needRemove)\n player.emit('subtitle_change', {\n off: false,\n isListUpdate: true,\n list: textTrack\n })\n }\n\n player.switchSubTitle = (subtitle = { id: '', language: '' }) => {\n this.subTitles.switch(subtitle).then(data => {\n if (data.code === 0) {\n subtitle.off = false\n subtitle.isListUpdate = false\n subtitle.list = []\n player.emit('subtitle_change', subtitle)\n }\n })\n }\n\n player.switchOffSubtile = () => {\n this.subTitles.switchOff()\n player.emit('subtitle_change', {\n off: true,\n isListUpdate: false,\n list: []\n })\n }\n\n function onDestroy () {\n this.subTitles.destroy()\n this.subTitles = null\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'textTrack',\n method: textTrack\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self,t.XgSubtitle=e())}(this,function(){\"use strict\";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=F(e),this.reject=F(n)}function r(t){var e=t.length;return 3===e?(60*(60*Number(t[0])+Number(t[1]))*1e3+1e3*Number(t[2]))/1e3:2===e?(60*Number(t[0])*1e3+1e3*Number(t[1]))/1e3:Number(t[0])}function i(t){return/^(\\-|\\+)?\\d+(\\.\\d+)?$/.test(t)}function o(t){return t}function s(t,e){return t>=0&&t<e.length?e[t]:\"\"}function a(t,e){if(!t)return!1;if(t.classList)return Array.prototype.some.call(t.classList,function(t){return t===e});var n=t.className&&\"object\"===Je(t.className)?t.getAttribute(\"class\"):t.className;return n&&!!n.match(new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\"))}function u(t,e){t&&(t.classList?e.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach(function(e){e&&t.classList.add(e)}):a(t,e)||(t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\")+\" \"+e):t.className+=\" \"+e))}function c(t,e){t&&(t.classList?e.split(/\\s+/g).forEach(function(e){t.classList.remove(e)}):a(t,e)&&e.split(/\\s+/g).forEach(function(e){var n=new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\");t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\").replace(n,\" \")):t.className=t.className.replace(n,\" \")}))}function l(t,e,n){var r=e.length;if(r<1)return-1;if(n=n<0?0:n>=r?r-1:n,e[n].start<=t&&t<e[n].end)return n;for(var i=e[n].end<=t?n+1:0;i<r;i++){if(e[i].start<=t&&t<e[i].end)return i;if(t>e[i].end&&i+1<r&&t<e[i+1].start)return-1;if(t>e[i].end&&i+1>=r)return-1}return-1}function f(t,e,n){var r=e.length;if(r<1)return[];var i=[];if((n=n<0?0:n>=r?r-1:n)<r)for(var o=e[n].end<=t?n:0;o<r&&(e[o].start<=t&&t<e[o].end&&i.push(o),!(t<e[o].start));o++);return i}function h(t){return Object.prototype.toString.call(t).match(/([^\\s.*]+)(?=]$)/g)[0]}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",i=document.createElement(t);return i.className=r,i.innerHTML=e,kr(n).forEach(function(e){var r=e,o=n[e];\"video\"===t||\"audio\"===t||\"live-video\"===t?o&&i.setAttribute(r,o):i.setAttribute(r,o)}),i}function p(){var t=navigator.userAgent,e=/(?:Windows Phone)/.test(t),n=/(?:SymbianOS)/.test(t)||e,r=/(?:Android)/.test(t),i=/(?:Firefox)/.test(t),o=/(?:iPad|PlayBook)/.test(t)||r&&!/(?:Mobile)/.test(t)||i&&/(?:Tablet)/.test(t);return/(?:iPhone)/.test(t)&&!o||r||n||o}function v(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=\"\";t.map(function(t){n+=\" \"+e+\" \"+t.key+\" {\"+t.style+\"}\"});var r=document.createElement(\"style\"),i=document.head||document.getElementsByTagName(\"head\")[0];if(r.type=\"text/css\",r.id=\"ssss\",r.styleSheet){var o=function(){try{r.styleSheet.cssText=n}catch(t){}};r.styleSheet.disabled?setTimeout(o,10):o()}else{var s=document.createTextNode(n);r.appendChild(s)}i.appendChild(r)}function y(t,e){Ir||(Ir=new Lr),Ir.addObserver(t,e)}function g(t,e){Ir&&Ir.unObserver(t,e)}function m(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={code:Fr[t].code,msg:Fr[t].msg};return kr(e).map(function(t){n[t]=e[t]}),n}function _(t,e,n,r,i){i?n(m(2,i),{format:r.format}):r.format?(t.list=r.list,t.format=r.format,t.styles=r.styles,e(t)):n(m(3))}function x(t){return new xr(function(e,n){if(t.list)return void e(t);if(t.json){var r=Nr.parseJson(t.json);return t.list=r,t.format=\"json\",void e(t)}if(t.stringContent&&!t.url)Nr.parse(t.stringContent,function(r,i){_(t,e,n,r,i)});else if(t.url)new Tr({url:t.url,type:\"text\"}).then(function(r){Nr.parse(r.res.response,function(r,i){_(t,e,n,r,i)})}).catch(function(e){var r=m(1,{statusText:e.statusText,status:e.status,type:e.type,message:\"http load error\",url:t.url});n(r)});else{var i=m(8);n(i)}})}function b(t,e){return!!(t.id&&t.id===e.id||t.language&&t.language===e.language)}var k=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t},w=function(t){return Object(k(t))},T={}.hasOwnProperty,S=function(t,e){return T.call(t,e)},O=e(function(t){var e=t.exports={version:\"2.6.12\"};\"number\"==typeof __e&&(__e=e)}),E=(O.version,e(function(t){var e=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=e)})),P=e(function(t){var e=E[\"__core-js_shared__\"]||(E[\"__core-js_shared__\"]={});(t.exports=function(t,n){return e[t]||(e[t]=void 0!==n?n:{})})(\"versions\",[]).push({version:O.version,mode:\"pure\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),j=0,M=Math.random(),A=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++j+M).toString(36))},C=P(\"keys\"),R=function(t){return C[t]||(C[t]=A(t))},N=R(\"IE_PROTO\"),L=Object.prototype,I=Object.getPrototypeOf||function(t){return t=w(t),S(t,N)?t[N]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?L:null},F=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t},z=function(t,e,n){if(F(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},B=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},D=function(t){if(!B(t))throw TypeError(t+\" is not an object!\");return t},H=function(t){try{return!!t()}catch(t){return!0}},V=!H(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}),W=E.document,G=B(W)&&B(W.createElement),U=function(t){return G?W.createElement(t):{}},$=!V&&!H(function(){return 7!=Object.defineProperty(U(\"div\"),\"a\",{get:function(){return 7}}).a}),K=function(t,e){if(!B(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!B(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")},J=Object.defineProperty,Y={f:V?Object.defineProperty:function(t,e,n){if(D(t),e=K(e,!0),D(n),$)try{return J(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},X=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},q=V?function(t,e,n){return Y.f(t,e,X(1,n))}:function(t,e,n){return t[e]=n,t},Z=function(t,e,n){var r,i,o,s=t&Z.F,a=t&Z.G,u=t&Z.S,c=t&Z.P,l=t&Z.B,f=t&Z.W,h=a?O:O[e]||(O[e]={}),d=h.prototype,p=a?E:u?E[e]:(E[e]||{}).prototype;a&&(n=e);for(r in n)(i=!s&&p&&void 0!==p[r])&&S(h,r)||(o=i?p[r]:n[r],h[r]=a&&\"function\"!=typeof p[r]?n[r]:l&&i?z(o,E):f&&p[r]==o?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(o):c&&\"function\"==typeof o?z(Function.call,o):o,c&&((h.virtual||(h.virtual={}))[r]=o,t&Z.R&&d&&!d[r]&&q(d,r,o)))};Z.F=1,Z.G=2,Z.S=4,Z.P=8,Z.B=16,Z.W=32,Z.U=64,Z.R=128;var Q=Z,tt=function(t,e){var n=(O.Object||{})[t]||Object[t],r={};r[t]=e(n),Q(Q.S+Q.F*H(function(){n(1)}),\"Object\",r)};tt(\"getPrototypeOf\",function(){return function(t){return I(w(t))}});var et=O.Object.getPrototypeOf,nt=t(e(function(t){t.exports={default:et,__esModule:!0}})),rt=t(e(function(t,e){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}})),it=Math.ceil,ot=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ot:it)(t)},at=q,ut={},ct={}.toString,lt=function(t){return ct.call(t).slice(8,-1)},ft=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==lt(t)?t.split(\"\"):Object(t)},ht=function(t){return ft(k(t))},dt=Math.min,pt=function(t){return t>0?dt(st(t),9007199254740991):0},vt=Math.max,yt=Math.min,gt=function(t,e){return t=st(t),t<0?vt(t+e,0):yt(t,e)},mt=function(t){return function(e,n,r){var i,o=ht(e),s=pt(o.length),a=gt(r,s);if(t&&n!=n){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===n)return t||a||0;return!t&&-1}}(!1),_t=R(\"IE_PROTO\"),xt=function(t,e){var n,r=ht(t),i=0,o=[];for(n in r)n!=_t&&S(r,n)&&o.push(n);for(;e.length>i;)S(r,n=e[i++])&&(~mt(o,n)||o.push(n));return o},bt=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\"),kt=Object.keys||function(t){return xt(t,bt)},wt=V?Object.defineProperties:function(t,e){D(t);for(var n,r=kt(e),i=r.length,o=0;i>o;)Y.f(t,n=r[o++],e[n]);return t},Tt=E.document,St=Tt&&Tt.documentElement,Ot=R(\"IE_PROTO\"),Et=function(){},Pt=function(){var t,e=U(\"iframe\"),n=bt.length;for(e.style.display=\"none\",St.appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),Pt=t.F;n--;)delete Pt.prototype[bt[n]];return Pt()},jt=Object.create||function(t,e){var n;return null!==t?(Et.prototype=D(t),n=new Et,Et.prototype=null,n[Ot]=t):n=Pt(),void 0===e?n:wt(n,e)},Mt=e(function(t){var e=P(\"wks\"),n=E.Symbol,r=\"function\"==typeof n;(t.exports=function(t){return e[t]||(e[t]=r&&n[t]||(r?n:A)(\"Symbol.\"+t))}).store=e}),At=Y.f,Ct=Mt(\"toStringTag\"),Rt=function(t,e,n){t&&!S(t=n?t:t.prototype,Ct)&&At(t,Ct,{configurable:!0,value:e})},Nt={};q(Nt,Mt(\"iterator\"),function(){return this});var Lt=function(t,e,n){t.prototype=jt(Nt,{next:X(1,n)}),Rt(t,e+\" Iterator\")},It=Mt(\"iterator\"),Ft=!([].keys&&\"next\"in[].keys()),zt=function(){return this},Bt=function(t,e,n,r,i,o,s){Lt(n,e,r);var a,u,c,l=function(t){if(!Ft&&t in p)return p[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},f=e+\" Iterator\",h=\"values\"==i,d=!1,p=t.prototype,v=p[It]||p[\"@@iterator\"]||i&&p[i],y=v||l(i),g=i?h?l(\"entries\"):y:void 0,m=\"Array\"==e?p.entries||v:v;if(m&&(c=I(m.call(new t)))!==Object.prototype&&c.next&&Rt(c,f,!0),h&&v&&\"values\"!==v.name&&(d=!0,y=function(){return v.call(this)}),s&&(Ft||d||!p[It])&&q(p,It,y),ut[e]=y,ut[f]=zt,i)if(a={values:h?y:l(\"values\"),keys:o?y:l(\"keys\"),entries:g},s)for(u in a)u in p||at(p,u,a[u]);else Q(Q.P+Q.F*(Ft||d),e,a);return a},Dt=function(t){return function(e,n){var r,i,o=String(k(e)),s=st(n),a=o.length;return s<0||s>=a?t?\"\":void 0:(r=o.charCodeAt(s),r<55296||r>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):r:t?o.slice(s,s+2):i-56320+(r-55296<<10)+65536)}}(!0);Bt(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=Dt(e,n),this._i+=t.length,{value:t,done:!1})});var Ht=function(t,e){return{value:e,done:!!t}};Bt(Array,\"Array\",function(t,e){this._t=ht(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,Ht(1)):\"keys\"==e?Ht(0,n):\"values\"==e?Ht(0,t[n]):Ht(0,[n,t[n]])},\"values\");ut.Arguments=ut.Array;for(var Vt=Mt(\"toStringTag\"),Wt=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),Gt=0;Gt<Wt.length;Gt++){var Ut=Wt[Gt],$t=E[Ut],Kt=$t&&$t.prototype;Kt&&!Kt[Vt]&&q(Kt,Vt,Ut),ut[Ut]=ut.Array}var Jt={f:Mt},Yt=Jt.f(\"iterator\"),Xt=e(function(t){t.exports={default:Yt,__esModule:!0}});t(Xt);var qt=e(function(t){var e=A(\"meta\"),n=Y.f,r=0,i=Object.isExtensible||function(){return!0},o=!H(function(){return i(Object.preventExtensions({}))}),s=function(t){n(t,e,{value:{i:\"O\"+ ++r,w:{}}})},a=function(t,n){if(!B(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!S(t,e)){if(!i(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},u=function(t,n){if(!S(t,e)){if(!i(t))return!0;if(!n)return!1;s(t)}return t[e].w},c=function(t){return o&&l.NEED&&i(t)&&!S(t,e)&&s(t),t},l=t.exports={KEY:e,NEED:!1,fastKey:a,getWeak:u,onFreeze:c}}),Zt=(qt.KEY,qt.NEED,qt.fastKey,qt.getWeak,qt.onFreeze,Y.f),Qt=function(t){var e=O.Symbol||(O.Symbol={});\"_\"==t.charAt(0)||t in e||Zt(e,t,{value:Jt.f(t)})},te={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},ne=function(t){var e=kt(t),n=te.f;if(n)for(var r,i=n(t),o=ee.f,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e},re=Array.isArray||function(t){return\"Array\"==lt(t)},ie=bt.concat(\"length\",\"prototype\"),oe={f:Object.getOwnPropertyNames||function(t){return xt(t,ie)}},se=oe.f,ae={}.toString,ue=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ce=function(t){try{return se(t)}catch(t){return ue.slice()}},le={f:function(t){return ue&&\"[object Window]\"==ae.call(t)?ce(t):se(ht(t))}},fe=Object.getOwnPropertyDescriptor,he={f:V?fe:function(t,e){if(t=ht(t),e=K(e,!0),$)try{return fe(t,e)}catch(t){}if(S(t,e))return X(!ee.f.call(t,e),t[e])}},de=qt.KEY,pe=he.f,ve=Y.f,ye=le.f,ge=E.Symbol,me=E.JSON,_e=me&&me.stringify,xe=Mt(\"_hidden\"),be=Mt(\"toPrimitive\"),ke={}.propertyIsEnumerable,we=P(\"symbol-registry\"),Te=P(\"symbols\"),Se=P(\"op-symbols\"),Oe=Object.prototype,Ee=\"function\"==typeof ge&&!!te.f,Pe=E.QObject,je=!Pe||!Pe.prototype||!Pe.prototype.findChild,Me=V&&H(function(){return 7!=jt(ve({},\"a\",{get:function(){return ve(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=pe(Oe,e);r&&delete Oe[e],ve(t,e,n),r&&t!==Oe&&ve(Oe,e,r)}:ve,Ae=function(t){var e=Te[t]=jt(ge.prototype);return e._k=t,e},Ce=Ee&&\"symbol\"==typeof ge.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof ge},Re=function(t,e,n){return t===Oe&&Re(Se,e,n),D(t),e=K(e,!0),D(n),S(Te,e)?(n.enumerable?(S(t,xe)&&t[xe][e]&&(t[xe][e]=!1),n=jt(n,{enumerable:X(0,!1)})):(S(t,xe)||ve(t,xe,X(1,{})),t[xe][e]=!0),Me(t,e,n)):ve(t,e,n)},Ne=function(t,e){D(t);for(var n,r=ne(e=ht(e)),i=0,o=r.length;o>i;)Re(t,n=r[i++],e[n]);return t},Le=function(t,e){return void 0===e?jt(t):Ne(jt(t),e)},Ie=function(t){var e=ke.call(this,t=K(t,!0));return!(this===Oe&&S(Te,t)&&!S(Se,t))&&(!(e||!S(this,t)||!S(Te,t)||S(this,xe)&&this[xe][t])||e)},Fe=function(t,e){if(t=ht(t),e=K(e,!0),t!==Oe||!S(Te,e)||S(Se,e)){var n=pe(t,e);return!n||!S(Te,e)||S(t,xe)&&t[xe][e]||(n.enumerable=!0),n}},ze=function(t){for(var e,n=ye(ht(t)),r=[],i=0;n.length>i;)S(Te,e=n[i++])||e==xe||e==de||r.push(e);return r},Be=function(t){for(var e,n=t===Oe,r=ye(n?Se:ht(t)),i=[],o=0;r.length>o;)!S(Te,e=r[o++])||n&&!S(Oe,e)||i.push(Te[e]);return i};Ee||(at((ge=function(){if(this instanceof ge)throw TypeError(\"Symbol is not a constructor!\");var t=A(arguments.length>0?arguments[0]:void 0),e=function(n){this===Oe&&e.call(Se,n),S(this,xe)&&S(this[xe],t)&&(this[xe][t]=!1),Me(this,t,X(1,n))};return V&&je&&Me(Oe,t,{configurable:!0,set:e}),Ae(t)}).prototype,\"toString\",function(){return this._k}),he.f=Fe,Y.f=Re,oe.f=le.f=ze,ee.f=Ie,te.f=Be,Jt.f=function(t){return Ae(Mt(t))}),Q(Q.G+Q.W+Q.F*!Ee,{Symbol:ge});for(var De=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),He=0;De.length>He;)Mt(De[He++]);for(var Ve=kt(Mt.store),We=0;Ve.length>We;)Qt(Ve[We++]);Q(Q.S+Q.F*!Ee,\"Symbol\",{for:function(t){return S(we,t+=\"\")?we[t]:we[t]=ge(t)},keyFor:function(t){if(!Ce(t))throw TypeError(t+\" is not a symbol!\");for(var e in we)if(we[e]===t)return e},useSetter:function(){je=!0},useSimple:function(){je=!1}}),Q(Q.S+Q.F*!Ee,\"Object\",{create:Le,defineProperty:Re,defineProperties:Ne,getOwnPropertyDescriptor:Fe,getOwnPropertyNames:ze,getOwnPropertySymbols:Be});var Ge=H(function(){te.f(1)});Q(Q.S+Q.F*Ge,\"Object\",{getOwnPropertySymbols:function(t){return te.f(w(t))}}),me&&Q(Q.S+Q.F*(!Ee||H(function(){var t=ge();return\"[null]\"!=_e([t])||\"{}\"!=_e({a:t})||\"{}\"!=_e(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(B(e)||void 0!==t)&&!Ce(t))return re(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!Ce(e))return e}),r[1]=e,_e.apply(me,r)}}),ge.prototype[be]||q(ge.prototype,be,ge.prototype.valueOf),Rt(ge,\"Symbol\"),Rt(Math,\"Math\",!0),Rt(E.JSON,\"JSON\",!0),Qt(\"asyncIterator\"),Qt(\"observable\");var Ue=O.Symbol,$e=e(function(t){t.exports={default:Ue,__esModule:!0}});t($e);var Ke=e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(Xt),i=n($e),o=\"function\"==typeof i.default&&\"symbol\"==typeof r.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof i.default&&\"symbol\"===o(r.default)?function(t){return void 0===t?\"undefined\":o(t)}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":void 0===t?\"undefined\":o(t)}}),Je=t(Ke),Ye=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ke);e.default=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!==(void 0===e?\"undefined\":(0,n.default)(e))&&\"function\"!=typeof e?t:e}}));Q(Q.S+Q.F*!V,\"Object\",{defineProperty:Y.f});var Xe=O.Object,qe=function(t,e,n){return Xe.defineProperty(t,e,n)},Ze=e(function(t){t.exports={default:qe,__esModule:!0}});t(Ze);var Qe=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ze);e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),(0,n.default)(t,i.key,i)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()})),tn=function(t,e){if(D(t),!B(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")},en={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,n){try{(n=z(Function.call,he.f(Object.prototype,\"__proto__\").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return tn(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:tn};Q(Q.S,\"Object\",{setPrototypeOf:en.set});var nn=O.Object.setPrototypeOf,rn=e(function(t){t.exports={default:nn,__esModule:!0}});t(rn),Q(Q.S,\"Object\",{create:jt});var on=O.Object,sn=function(t,e){return on.create(t,e)},an=e(function(t){t.exports={default:sn,__esModule:!0}});t(an);var un,cn,ln,fn=t(e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(rn),i=n(an),o=n(Ke);e.default=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===e?\"undefined\":(0,o.default)(e)));t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}})),hn=Mt(\"toStringTag\"),dn=\"Arguments\"==lt(function(){return arguments}()),pn=function(t,e){try{return t[e]}catch(t){}},vn=function(t){var e,n,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=pn(e=Object(t),hn))?n:dn?lt(e):\"Object\"==(r=lt(e))&&\"function\"==typeof e.callee?\"Arguments\":r},yn=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t},gn=function(t,e,n,r){try{return r?e(D(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&D(i.call(t)),e}},mn=Mt(\"iterator\"),_n=Array.prototype,xn=function(t){return void 0!==t&&(ut.Array===t||_n[mn]===t)},bn=Mt(\"iterator\"),kn=O.getIteratorMethod=function(t){if(void 0!=t)return t[bn]||t[\"@@iterator\"]||ut[vn(t)]},wn=e(function(t){var e={},n={},r=t.exports=function(t,r,i,o,s){var a,u,c,l,f=s?function(){return t}:kn(t),h=z(i,o,r?2:1),d=0;if(\"function\"!=typeof f)throw TypeError(t+\" is not iterable!\");if(xn(f)){for(a=pt(t.length);a>d;d++)if((l=r?h(D(u=t[d])[0],u[1]):h(t[d]))===e||l===n)return l}else for(c=f.call(t);!(u=c.next()).done;)if((l=gn(c,h,u.value,r))===e||l===n)return l};r.BREAK=e,r.RETURN=n}),Tn=Mt(\"species\"),Sn=function(t,e){var n,r=D(t).constructor;return void 0===r||void 0==(n=D(r)[Tn])?e:F(n)},On=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)},En=E.process,Pn=E.setImmediate,jn=E.clearImmediate,Mn=E.MessageChannel,An=E.Dispatch,Cn=0,Rn={},Nn=function(){var t=+this;if(Rn.hasOwnProperty(t)){var e=Rn[t];delete Rn[t],e()}},Ln=function(t){Nn.call(t.data)};Pn&&jn||(Pn=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Rn[++Cn]=function(){On(\"function\"==typeof t?t:Function(t),e)},un(Cn),Cn},jn=function(t){delete Rn[t]},\"process\"==lt(En)?un=function(t){En.nextTick(z(Nn,t,1))}:An&&An.now?un=function(t){An.now(z(Nn,t,1))}:Mn?(ln=(cn=new Mn).port2,cn.port1.onmessage=Ln,un=z(ln.postMessage,ln,1)):E.addEventListener&&\"function\"==typeof postMessage&&!E.importScripts?(un=function(t){E.postMessage(t+\"\",\"*\")},E.addEventListener(\"message\",Ln,!1)):un=\"onreadystatechange\"in U(\"script\")?function(t){St.appendChild(U(\"script\")).onreadystatechange=function(){St.removeChild(this),Nn.call(t)}}:function(t){setTimeout(z(Nn,t,1),0)});var In={set:Pn,clear:jn},Fn=In.set,zn=E.MutationObserver||E.WebKitMutationObserver,Bn=E.process,Dn=E.Promise,Hn=\"process\"==lt(Bn),Vn={f:function(t){return new n(t)}},Wn=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}},Gn=E.navigator,Un=Gn&&Gn.userAgent||\"\",$n=function(t,e){if(D(t),B(e)&&e.constructor===t)return e;var n=Vn.f(t);return(0,n.resolve)(e),n.promise},Kn=Mt(\"species\"),Jn=Mt(\"iterator\"),Yn=!1;try{var Xn=[7][Jn]();Xn.return=function(){Yn=!0},Array.from(Xn,function(){throw 2})}catch(t){}var qn,Zn,Qn,tr,er=In.set,nr=function(){var t,e,n,r=function(){var r,i;for(Hn&&(r=Bn.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(Hn)n=function(){Bn.nextTick(r)};else if(!zn||E.navigator&&E.navigator.standalone)if(Dn&&Dn.resolve){var i=Dn.resolve(void 0);n=function(){i.then(r)}}else n=function(){Fn.call(E,r)};else{var o=!0,s=document.createTextNode(\"\");new zn(r).observe(s,{characterData:!0}),n=function(){s.data=o=!o}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}(),rr=E.TypeError,ir=E.process,or=ir&&ir.versions,sr=or&&or.v8||\"\",ar=E.Promise,ur=\"process\"==vn(ir),cr=function(){},lr=Zn=Vn.f,fr=!!function(){try{var t=ar.resolve(1),e=(t.constructor={})[Mt(\"species\")]=function(t){t(cr,cr)};return(ur||\"function\"==typeof PromiseRejectionEvent)&&t.then(cr)instanceof e&&0!==sr.indexOf(\"6.6\")&&-1===Un.indexOf(\"Chrome/66\")}catch(t){}}(),hr=function(t){var e;return!(!B(t)||\"function\"!=typeof(e=t.then))&&e},dr=function(t,e){if(!t._n){t._n=!0;var n=t._c;nr(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,a=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{a?(i||(2==t._h&&yr(t),t._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&(l.exit(),s=!0)),n===e.promise?c(rr(\"Promise-chain cycle\")):(o=hr(n))?o.call(n,u,c):u(n)):c(r)}catch(t){l&&!s&&l.exit(),c(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&pr(t)})}},pr=function(t){er.call(E,function(){var e,n,r,i=t._v,o=vr(t);if(o&&(e=Wn(function(){ur?ir.emit(\"unhandledRejection\",i,t):(n=E.onunhandledrejection)?n({promise:t,reason:i}):(r=E.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=ur||vr(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},vr=function(t){return 1!==t._h&&0===(t._a||t._c).length},yr=function(t){er.call(E,function(){var e;ur?ir.emit(\"rejectionHandled\",t):(e=E.onrejectionhandled)&&e({promise:t,reason:t._v})})},gr=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),dr(e,!0))},mr=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw rr(\"Promise can't be resolved itself\");(e=hr(t))?nr(function(){var r={_w:n,_d:!1};try{e.call(t,z(mr,r,1),z(gr,r,1))}catch(t){gr.call(r,t)}}):(n._v=t,n._s=1,dr(n,!1))}catch(t){gr.call({_w:n,_d:!1},t)}}};fr||(ar=function(t){yn(this,ar,\"Promise\",\"_h\"),F(t),qn.call(this);try{t(z(mr,this,1),z(gr,this,1))}catch(t){gr.call(this,t)}},(qn=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(t,e,n){for(var r in e)n&&t[r]?t[r]=e[r]:q(t,r,e[r]);return t}(ar.prototype,{then:function(t,e){var n=lr(Sn(this,ar));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=ur?ir.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&dr(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Qn=function(){var t=new qn;this.promise=t,this.resolve=z(mr,t,1),this.reject=z(gr,t,1)},Vn.f=lr=function(t){return t===ar||t===tr?new Qn(t):Zn(t)}),Q(Q.G+Q.W+Q.F*!fr,{Promise:ar}),Rt(ar,\"Promise\"),function(t){var e=\"function\"==typeof O[t]?O[t]:E[t];V&&e&&!e[Kn]&&Y.f(e,Kn,{configurable:!0,get:function(){return this}})}(\"Promise\"),tr=O.Promise,Q(Q.S+Q.F*!fr,\"Promise\",{reject:function(t){var e=lr(this);return(0,e.reject)(t),e.promise}}),Q(Q.S+!0*Q.F,\"Promise\",{resolve:function(t){return $n(this===tr?ar:this,t)}}),Q(Q.S+Q.F*!(fr&&function(t,e){if(!e&&!Yn)return!1;var n=!1;try{var r=[7],i=r[Jn]();i.next=function(){return{done:n=!0}},r[Jn]=function(){return i},t(r)}catch(t){}return n}(function(t){ar.all(t).catch(cr)})),\"Promise\",{all:function(t){var e=this,n=lr(e),r=n.resolve,i=n.reject,o=Wn(function(){var n=[],o=0,s=1;wn(t,!1,function(t){var a=o++,u=!1;n.push(void 0),s++,e.resolve(t).then(function(t){u||(u=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=lr(e),r=n.reject,i=Wn(function(){wn(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}}),Q(Q.P+Q.R,\"Promise\",{finally:function(t){var e=Sn(this,O.Promise||E.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return $n(e,t()).then(function(){return n})}:t,n?function(n){return $n(e,t()).then(function(){throw n})}:t)}}),Q(Q.S,\"Promise\",{try:function(t){var e=Vn.f(this),n=Wn(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}});var _r=O.Promise,xr=t(e(function(t){t.exports={default:_r,__esModule:!0}}));tt(\"keys\",function(){return function(t){return kt(w(t))}});var br=O.Object.keys,kr=t(e(function(t){t.exports={default:br,__esModule:!0}})),wr=e(function(t){function e(){}function n(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,r,i,o){if(\"function\"!=typeof r)throw new TypeError(\"The listener must be a function\");var s=new n(r,i||t,o),u=a?a+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function i(t,n){0==--t._eventsCount?t._events=new e:delete t._events[n]}function o(){this._events=new e,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a=\"~\";Object.create&&(e.prototype=Object.create(null),(new e).__proto__||(a=!1)),o.prototype.eventNames=function(){var t,e,n=[];if(0===this._eventsCount)return n;for(e in t=this._events)s.call(t,e)&&n.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},o.prototype.listeners=function(t){var e=a?a+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},o.prototype.listenerCount=function(t){var e=a?a+t:t,n=this._events[e];return n?n.fn?1:n.length:0},o.prototype.emit=function(t,e,n,r,i,o){var s=a?a+t:t;if(!this._events[s])return!1;var u,c,l=this._events[s],f=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),f){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,r),!0;case 5:return l.fn.call(l.context,e,n,r,i),!0;case 6:return l.fn.call(l.context,e,n,r,i,o),!0}for(c=1,u=new Array(f-1);c<f;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,!0),f){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,n);break;case 4:l[c].fn.call(l[c].context,e,n,r);break;default:if(!u)for(h=1,u=new Array(f-1);h<f;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},o.prototype.on=function(t,e,n){return r(this,t,e,n,!1)},o.prototype.once=function(t,e,n){return r(this,t,e,n,!0)},o.prototype.removeListener=function(t,e,n,r){var o=a?a+t:t;if(!this._events[o])return this;if(!e)return i(this,o),this;var s=this._events[o];if(s.fn)s.fn!==e||r&&!s.once||n&&s.context!==n||i(this,o);else{for(var u=0,c=[],l=s.length;u<l;u++)(s[u].fn!==e||r&&!s[u].once||n&&s[u].context!==n)&&c.push(s[u]);c.length?this._events[o]=1===c.length?c[0]:c:i(this,o)}return this},o.prototype.removeAllListeners=function(t){var n;return t?(n=a?a+t:t,this._events[n]&&i(this,n)):(this._events=new e,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,t.exports=o}),Tr=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url,r=e.method,i=void 0===r?\"GET\":r,o=e.type,s=void 0===o?\"arraybuffer\":o,a=e.timeout,u=void 0===a?1e4:a,c=e.data,l=void 0===c?{}:c,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(this,t),new xr(function(t,e){var r=new window.XMLHttpRequest,o=i.toUpperCase(),a=[];s&&(r.responseType=s),u&&(r.timeout=u);for(var c in l)a.push(\"k=\"+l[c]);if(r.onload=function(){200===r.status||206===r.status?t({context:f,res:r}):e(new Error({context:f,res:r,type:\"error\"}))},r.onerror=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.ontimeout=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.onabort=function(){e(new Error({context:f,res:r,type:\"error\"}))},\"GET\"===o)r.open(o,\"\"+n),r.send();else{if(\"post\"!==o)throw new Error(\"xhr \"+o+\" is not supported\");r.open(o,n),r.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),r.send(a.join(\"&\"))}})},Sr=/^WEBVTT/,Or=/^STYLE+$/,Er=/^\\:\\:cue/,Pr=/^}+$/,jr=/^\\[Script Info\\].*/,Mr=[/[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}:[0-9]{2}\\.[0-9]{3}-->[0-9]{2}:[0-9]{2}\\.[0-9]{3}/,/[0-9]{2}\\.[0-9]{3}-->[0-9]{2}\\.[0-9]{3}/],Ar=/^Format:\\s/,Cr=/^Style:\\s/,Rr=/^Dialogue:\\s/,Nr=function(){function t(){rt(this,t)}return Qe(t,null,[{key:\"parseJson\",value:function(t){for(var e=[],n=0,r=0;r<t.length;r++){if(n>=50&&(n=0),0===n){var i={start:t[r].start,list:[t[r]],end:t[r].end};e.push(i)}else e[e.length-1].list.push(t[r]),e[e.length-1].end=t[r].end;n++}return e}},{key:\"parse\",value:function(e,n){var r=t.checkFormat(e);r||n({format:r});try{var i=[];\"ass\"===r?i=t.parseASS(e):\"vtt\"===r&&(i=t.parseVTT(e)),n({format:r,list:i.list,styles:i.styles})}catch(t){console.error(t),n({format:r},t)}}},{key:\"parseASSItem\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.split(\",\"),i={},s=\"\";try{var a=n.length-e.length;return s=a>0?n.splice(e.length-1,a+1).join(\",\")+\"\":n[n.length-1]+\"\",s=s.replace(/\\\\n+/g,\"\"),s=o(s),n[e.length-1]=s,e.map(function(t,e){\"end\"===t||\"start\"===t?i[t]=r(n[e].split(\":\")):\"text\"===t?i[t]=[n[e]]:\"layer\"===t?(i[t]=[n[e]],i.textTag=[n[e]]):i[t]=\"style\"===t?[n[e]]:Number(n[e])?Number(n[e]):n[e]}),i}catch(t){return console.error(t),{}}}},{key:\"parseASS\",value:function(e){for(var n=e.split(\"\\n\"),r=[],i=0,o=0,s=[],a=[],u=null;i<n.length;){if(Ar.test(n[i]))a=(a=n[i].replace(Ar,\"\").replace(/\\s+/g,\"\").split(\",\")).map(function(t){return t.toLocaleLowerCase()});else if(Cr.test(n[i]))s.push(n[i].replace(Cr,\"\").replace(/\\s+/g,\"\"));else if(Rr.test(n[i])){var c=t.parseASSItem(n[i].replace(Rr,\"\"),a);if(u&&c.start===u.start&&c.end===u.end)try{var l=u,f=l.text,h=l.textTag,d=l.style;f.push(c.text[0]),h.push(c.textTag[0]),d.push(c.style[0])}catch(t){console.error(t)}else{u=c;var p=null;o%50==0?((p={start:u.start,end:u.end,list:[]}).list.push(u),r.push(p)):((p=r[r.length-1]).end=u.end,p.list.push(u)),o++}}i++}return{list:r,style:{}}}},{key:\"parseVTTStyle\",value:function(t,e){var n=t.split(\":\");if(n.length>1){var r=n[0].trim().split(\"-\"),i=\"\";r.length>1?r.map(function(t,e){i+=0===e?t:t.charAt(0).toUpperCase()+t.slice(1)}):i=r[0],e[i]=n[1].trim().replace(/;$/,\"\")}return e}},{key:\"parseVTT\",value:function(t){for(var e=(t=t.replace(Sr,\"\")).split(\"\\n\"),n=[],r=0,o=0,a=null,u=!1,c=!1,l=null,f=null,h=[];r<e.length;){var d=s(r,e).trim();if(!d||u&&i(d))u=!d;else if(Er.test(d)&&Or.test(s(r-1,e).trim())){c=!0;var p=/\\((.+?)\\)/g.exec(d);f=p?p[1]:\"\",l=\"\"}else if(c)Pr.test(d)?(h.push({key:f,style:l}),l=null,f=null,c=!1):l+=d;else if(d){u=!1;var v=this.checkIsTime(e[r]);if(v){var y=this.parseVttTime(v);if(!a||y.start!==a.start||y.end!==a.end){(a=y).text=[],a.textTag=[];var g=null;o%50==0?((g={start:a.start,end:a.end,list:[]}).list.push(a),n.push(g)):((g=n[n.length-1]).end=a.end,g.list.push(a)),o++}}else if(a){var m=a,_=m.text,x=m.textTag,b=this.parseVttText(e[r]);_.push(b.text),x.push(b.tag)}u=!1}r++}return{list:n,styles:h}}},{key:\"checkIsTime\",value:function(t){t=t.replace(/\\s+/g,\"\");for(var e=0,n=null;e<Mr.length&&!(n=Mr[e].exec(t));)e++;return n?n[0]:null}},{key:\"parseVttText\",value:function(t){var e=/^(<?.+?>)/g.exec(t),n=\"\",r=\"default\";if(e){r=e[0].replace(/\\<|\\>|\\&/g,\"\");var i=RegExp(\"^<\"+r+\">(([\\\\s\\\\S])*?)</\"+r+\">$\").exec(t);i?n=i[1]:(n=t,r=\"\")}else n=t;for(var s=/<(\\w+).(\\w+)>/g,a=s.exec(n);a&&a.length>2;)n=n.replace(a[0],\"<\"+a[1]+' class=\"'+a[2]+'\">'),a=s.exec(n);return{tag:r,text:o(n.replace(/\\\\n+/g,\"<br/>\"))}}},{key:\"parseVttTime\",value:function(t){var e=t.split(\"--\\x3e\"),n=void 0,i=0;if(2===e.length){var o=e[0].split(\":\"),s=e[1].split(\":\");n=r(o),i=r(s)}return{start:n,end:i,time:t}}},{key:\"isVTT\",value:function(t){return Sr.test(t)}},{key:\"isASS\",value:function(t){return jr.test(t)}},{key:\"checkFormat\",value:function(t){return t?Sr.test(t)?\"vtt\":jr.test(t)?\"ass\":null:null}}]),t}(),Lr=function(){function t(){var e=this;rt(this,t),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver(function(t){e.__trigger(t)}))}return Qe(t,[{key:\"addObserver\",value:function(t,e){if(this.observer){this.observer&&this.observer.observe(t);for(var n=this.__handlers,r=-1,i=0;i<n.length;i++)n[i]&&t===n[i].target&&(r=i);r>-1?this.__handlers[r].handler.push(e):this.__handlers.push({target:t,handler:[e]})}}},{key:\"unObserver\",value:function(t){var e=-1;this.__handlers.map(function(n,r){t===n.target&&(e=r)}),this.observer&&this.observer.unobserve(t),e>-1&&this.__handlers.splice(e,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(t,e){for(var n=this.__handlers,r=0;r<n.length;r++)if(n[r]&&t===n[r].target){n[r].handler&&n[r].handler.map(function(n){try{n(t,e)}catch(t){console.error(t)}});break}}},{key:\"__trigger\",value:function(t){var e=this;t.map(function(t){var n=t.contentRect;e.__runHandler(t.target,n)})}}]),t}(),Ir=null;!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],i=document.createElement(\"style\");i.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}('xg-text-track.xg-text-track {\\n font-family: \"PingFang SC\",\"SF Pro SC\",\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",\"Helvetica\",\"Arial\",sans-serif;\\n -webkit-font-smoothing: antialiased;\\n position: absolute;\\n bottom: 0;\\n color: #fff;\\n left: 0;\\n right: 0;\\n pointer-events: none;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n xg-text-track.xg-text-track.text-track-no-fitvideo {\\n margin-bottom: 2%; }\\n xg-text-track.xg-text-track.text-track-hide {\\n opacity: 0;\\n visibility: hidden; }\\n xg-text-track.xg-text-track.text-track-show {\\n opacity: 1;\\n visibility: visible; }\\n xg-text-track.xg-text-track xg-text-track-inner {\\n display: block;\\n max-width: 92%; }\\n xg-text-track.xg-text-track xg-text-track-span {\\n display: -webkit-box;\\n text-align: center;\\n text-overflow: ellipsis;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n padding: 1px 4px;\\n -webkit-line-clamp: 1;\\n line-height: 120%;\\n word-break: break-word; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-deputy {\\n font-size: 75%; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-single {\\n -webkit-line-clamp: 1; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-double {\\n -webkit-line-clamp: 2; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-three {\\n -webkit-line-clamp: 3; }\\n xg-text-track.xg-text-track.text-track-bg xg-text-track-inner {\\n background-color: rgba(0, 0, 0, .54);\\n border-radius: 2px; }\\n xg-text-track.xg-text-track.text-track-stroke xg-text-track-inner {\\n background-color: none;\\n border-radius: 0;\\n text-shadow: -1px 1px 0 rgba(0, 0, 0, .7), 1px 1px 0 rgba(0, 0, 0, .7), 1px -1px 0 rgba(0, 0, 0, .7), -1px -1px 0 rgba(0, 0, 0, .7); }\\n');var Fr=[{code:0,msg:\"SUCCESS\"},{code:1,msg:\"LOAD_ERROR\"},{code:2,msg:\"PARSER_ERROR\"},{code:3,msg:\"FORMAT_NOT_SUPPORTED\"},{code:4,msg:\"ID_OR_LANGUAGE_NOT_EXIST\"},{code:5,msg:\"PARAMETERS_ERROR\"},{code:6,msg:\"ABORT\"},{code:7,msg:\"UNKNOWN\"},{code:8,msg:\"DATA_ERROR:subtitle.url is null\"}],zr={RESIZE:\"resize\"},Br=!1;return function(t){function e(t){rt(this,e);var n=Ye(this,(e.__proto__||nt(e)).call(this));return Br=p(),n.currentText=null,n.textTrack=[],n._cid=-1,n._gid=-1,n._cids=[],n._iId=null,n._iC=0,n.player=null,n.root=null,n.config={line:\"double\",bottom:0,mode:\"stroke\",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:\"#fff\"},n._ctime=0,n._loadingTrack={},kr(n.config).map(function(e){void 0!==t[e]&&null!==t[e]&&(n.config[e]=t[e])}),n._isOpen=!1,n._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},t.subTitles&&\"Array\"===h(t.subTitles)?(t.player&&n.attachPlayer(t.player),n.setSubTitles(t.subTitles,n.config.defaultOpen),n):Ye(n)}return fn(e,t),Qe(e,[{key:\"version\",get:function(){return\"1.0.12\"}}]),Qe(e,[{key:\"setSubTitles\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this._isOpen||n;r&&this.innerRoot&&this.switchOff(),this.currentText=null,this.textTrack=[],t.map(function(t){var n={};kr(t).map(function(e){n[e]=t[e]}),n.isDefault&&(e.currentText=n),e.textTrack.push(n)}),this.currentText&&x(this.currentText).then(function(t){e.addStyles(t),i&&e.switch()})}},{key:\"addStyles\",value:function(t){var e=t.styles,n=t.format;e&&\"vtt\"===n&&(e.map(function(t){t.key||(t.key=\"xg-text-track-span\")}),v(e,\"xg-text-track\"))}},{key:\"attachPlayer\",value:function(t){var e=this;if(t){this.player&&this.detachPlayer();var n=this.config,r=n.fontColor,i=n.mode,o=n.fitVideo;this.player=t,this.root=document.createElement(\"xg-text-track\"),this.root.className=\"xg-text-track\",!this._isOpen&&u(this.root,\"text-track-hide\"),!o&&u(this.root,\"text-track-no-fitvideo\"),i&&u(this.root,\"text-track-\"+i),this.innerRoot=document.createElement(\"xg-text-track-inner\"),this.root.appendChild(this.innerRoot),r&&(this.root.style.color=r),this.currentText&&[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.player.root.appendChild(this.root),[\"destroy\",\"__onTimeupdate\",\"_onResize\"].map(function(t){e[t]=e[t].bind(e)}),this.player.on(\"destroy\",this.destroy),this.player.on(\"timeupdate\",this.__onTimeupdate),this._isOpen&&this.switch(),y(t.root,this._onResize)}}},{key:\"detachPlayer\",value:function(){var t=this.player;t&&(t.off(\"destroy\",this.destroy),t.off(\"timeupdate\",this.__onTimeupdate),t.root&&(g(t.root,this._onResize),t.root.removeChild(this.root)),this.innerRoot=null,this.root=null,this.player=null)}},{key:\"switch\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:\"\",language:\"\"};return this._loadingTrack=e,new xr(function(n,r){if(!e.id&&!e.language){if(t.currentText){t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show();var i=m(0,{message:\"switch default subtitle success\"});return void n(i)}var o=m(5,{message:\"no default subtitle\"});return void r(o)}if(t.currentText&&b(e,t.currentText))t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show(),n(m(0));else{for(var s=null,a=0;a<t.textTrack.length;a++)if(b(e,t.textTrack[a])){s=t.textTrack[a];break}if(s)s.list?(t._loadingTrack={},t._updateCurrent(s),t._isOpen=!0,t.show(),n(m(0))):x(s).then(function(e){if(t.addStyles(e),t._loadingTrack.id===s.id||t._loadingTrack.language===e.language)t._loadingTrack={},t._updateCurrent(e),t._isOpen=!0,t.show(),n(m(0));else{var i=m(6,{message:\"check _loadingTrack fail id: \"+t._loadingTrack.id+\" nextSubtitle:\"+e.id});console.trace(i),r(i)}}).catch(function(t){r(t)});else{var u=m(4,new Error(\"The is no subtitle with id:[{\"+e.id+\"}] or language:[\"+e.language+\"]\"));console.trace(u),r(u)}}})}},{key:\"switchOff\",value:function(){this._isOpen=!1,this.hide()}},{key:\"_updateCurrent\",value:function(t){var e=this;if(this.root){this.currentText=t,[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.__remove(this._cids);var n=this.player.currentTime;this._cids=[],this._gid=-1,this._cid=-1,this._update(n)}}},{key:\"__loadAll\",value:function(){this.textTrack.map(function(t){x(t)})}},{key:\"getDelCid\",value:function(t,e){for(var n=[],r=0;r<t.length;r++)e.includes(t[r])||n.push(t[r]);return n}},{key:\"getNewCid\",value:function(t,e){for(var n=[],r=0;r<e.length;r++)t.includes(e[r])||n.push(e[r]);return n}},{key:\"_update\",value:function(t){var e=this,n=l(t,this.currentText.list,this._gid),r=[];if(n>-1&&(r=f(t,this.currentText.list[n].list,this._cid)),r.length<1)return this._cids.length>0&&this.__remove(this._cids),void(this._cids=[]);if(this._cids!==r||n!==this._gid){this._gid=n,this._cid=r[0];var i=this.getDelCid(this._cids,r),o=this.getNewCid(this._cids,r);this._cids=r,this.__remove(i);var s=[];o.map(function(t){var r=e.currentText.list[n].list[t];r.index=t,s.push(r)}),this.__render(s,t)}}},{key:\"__onTimeupdate\",value:function(){if(this._isOpen){var t=this.player.video,e=t.videoWidth,n=t.videoHeight;!this._videoMeta.scale&&e&&n&&this._onResize(this.player.root);var r=this.player.currentTime;Math.round(Math.abs(1e3*r-this._ctime))<200||(this._ctime=1e3*r,this.currentText&&this.currentText.list&&this._update(r))}}},{key:\"_onResize\",value:function(t){var e=this._videoMeta;if(t&&t instanceof window.Element||(t=this.player.root),this._iId&&(clearTimeout(this._iId),this._iId=null),!e.scale){if(!this.player.video)return;var n=this.player.video,r=n.videoWidth,i=n.videoHeight;if(!r||!i)return;e.videoWidth=r,e.videoHeight=i,e.scale=parseInt(i/r*100,10)}this.__startResize(t)}},{key:\"resize\",value:function(t,e){var n=this,r=this.config,i=r.baseSizeX,o=r.baseSizeY,s=r.minMobileSize,a=r.minSize,u=r.fitVideo,c=r.offsetBottom,l=this._videoMeta.scale;this._videoMeta.lwidth=t,this._videoMeta.lheight=e;var f=void 0,h=0;e/t*100>=l?(h=parseInt(l*t,10)/100,f=t):(h=e,f=parseInt(e/l*100,10)),this._videoMeta.vWidth=f,this._videoMeta.vHeight=h;var d=0,p=0;l>120?(d=o,p=parseInt(d*h/1080,10)):(d=i,p=parseInt(d*f/1920,10));var v=Br?s:a,y={fontSize:p=p<v?v:p>d?d:p},g=parseInt((e-h)/2,10),m=parseInt((t-f)/2,10),_=parseInt(h*c,10)/100;this._videoMeta.vBottom=g,this._videoMeta.vLeft=m,this._videoMeta.marginBottom=_,u&&(y.bottom=g+_,y.left=y.right=m),kr(y).map(function(t){n.root.style[t]=y[t]+\"px\"}),this.emit(zr.RESIZE,{vLeft:m,vBottom:g,marginBottom:_,vWidth:f,vHeight:h,fontSize:p,scale:l})}},{key:\"__startResize\",value:function(t){var e=this,n=t.getBoundingClientRect(),r=this._videoMeta,i=n.width,o=n.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),i>0&&o>0&&(i!==r.lwidth||o!==r.lheight))this._iC=0,this.resize(i,o);else{if(this._iC>=5)return void(this._iC=0);this._iC++,this._iId=setTimeout(function(){e.__startResize(t)},50)}}},{key:\"__remove\",value:function(t){var e=this;if(t&&!(t.length<1)){for(var n=this.innerRoot.children,r=[],i=0;i<n.length;i++){var o=Number(n[i].getAttribute(\"data-index\"));t.includes(o)&&r.push(n[i])}r.map(function(t){e.innerRoot.removeChild(t)})}}},{key:\"__render\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length>0&&e.map(function(e){var n=\"text-track-\"+t.config.line;e.text.map(function(r,i){i>0&&(n+=\" text-track-deputy\");var o={\"data-start\":e.start,\"data-end\":e.end,\"data-index\":e.index};t.innerRoot.appendChild(d(\"xg-text-track-span\",r,o,n))})})}},{key:\"show\",value:function(){c(this.root,\"text-track-hide\")}},{key:\"hide\",value:function(){u(this.root,\"text-track-hide\"),this.innerRoot.innerHTML=\"\"}},{key:\"destroy\",value:function(){this.detachPlayer(),this.removeAllListeners(),this.player=null,this.textTrack=null}},{key:\"marginBottom\",get:function(){var t=this._videoMeta,e=t.bottom,n=t.marginBottom;return this.config.fitVideo?e+n:n}}]),e}(wr)});\n//# sourceMappingURL=index.min.js.map\n","import Player from '../player'\n\nimport I18n from './controls/i18n.js'\nimport Enter from './controls/enter.js'\nimport Play from './controls/play.js'\nimport Start from './controls/start.js'\nimport Poster from './controls/poster.js'\nimport Flex from './controls/flex.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Volume from './controls/volume.js'\nimport Definition from './controls/definition.js'\nimport Loading from './controls/loading.js'\nimport Progress from './controls/progress.js'\nimport Time from './controls/time.js'\nimport Replay from './controls/replay.js'\nimport PlaybackRate from './controls/playbackRate.js'\nimport LocalPreview from './controls/localPreview.js'\nimport Download from './controls/download.js'\nimport Danmu from './controls/danmu.js'\nimport Pip from './controls/pip.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport PlayNext from './controls/playNext.js'\nimport Rotate from './controls/rotate.js'\nimport Reload from './controls/reload.js'\nimport ScreenShot from './controls/screenShot.js'\nimport NativeTextTrack from './controls/nativeTextTrack.js'\nimport TextTrack from './controls/textTrack.js'\nimport ErrorControl from './controls/error.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Airplay from './controls/airplay.js'\n\nPlayer.installAll([\n I18n,\n Enter,\n Play,\n Start,\n Poster,\n Flex,\n Fullscreen,\n CssFullscreen,\n Volume,\n Definition,\n Loading,\n Progress,\n Time,\n Replay,\n PlaybackRate,\n LocalPreview,\n Download,\n Danmu,\n Pip,\n Miniplayer,\n PlayNext,\n Rotate,\n Reload,\n ScreenShot,\n NativeTextTrack,\n TextTrack,\n ErrorControl,\n MemoryPlay,\n Airplay\n])","import { createDom } from '../../utils/util'\nimport '../style/controls/enter.scss'\n\nlet s_enter = function () {\n let player = this\n let root = player.root\n\n let barStr = ''\n for(let i = 1; i <= 12; i++) {\n barStr += `<div class=\"xgplayer-enter-bar${i}\"></div>`\n }\n let enter = createDom('xg-enter', `<div class=\"xgplayer-enter-spinner\">\n ${barStr}\n </div>`, {}, 'xgplayer-enter');\n root.appendChild(enter)\n}\n\nexport default {\n name: 's_enter',\n method: s_enter\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-enter{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;z-index:120}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner{display:block;position:absolute;left:50%;top:50%;height:100px;width:100px;position:relative;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div{width:12%;height:26%;background-color:hsla(0,0%,100%,.7);position:absolute;left:44%;top:37%;opacity:0;border-radius:30px;-webkit-animation:fade 1s linear infinite;animation:fade 1s linear infinite}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar1{-webkit-transform:rotate(0deg) translateY(-142%);-ms-transform:rotate(0deg) translateY(-142%);transform:rotate(0deg) translateY(-142%);-webkit-animation-delay:0s;animation-delay:0s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar2{-webkit-transform:rotate(30deg) translateY(-142%);-ms-transform:rotate(30deg) translateY(-142%);transform:rotate(30deg) translateY(-142%);-webkit-animation-delay:-.9163s;animation-delay:-.9163s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar3{-webkit-transform:rotate(60deg) translateY(-142%);-ms-transform:rotate(60deg) translateY(-142%);transform:rotate(60deg) translateY(-142%);-webkit-animation-delay:-.833s;animation-delay:-.833s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar4{-webkit-transform:rotate(90deg) translateY(-142%);-ms-transform:rotate(90deg) translateY(-142%);transform:rotate(90deg) translateY(-142%);-webkit-animation-delay:-.7497s;animation-delay:-.7497s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar5{-webkit-transform:rotate(120deg) translateY(-142%);-ms-transform:rotate(120deg) translateY(-142%);transform:rotate(120deg) translateY(-142%);-webkit-animation-delay:-.6664s;animation-delay:-.6664s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar6{-webkit-transform:rotate(150deg) translateY(-142%);-ms-transform:rotate(150deg) translateY(-142%);transform:rotate(150deg) translateY(-142%);-webkit-animation-delay:-.5831s;animation-delay:-.5831s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar7{-webkit-transform:rotate(180deg) translateY(-142%);-ms-transform:rotate(180deg) translateY(-142%);transform:rotate(180deg) translateY(-142%);-webkit-animation-delay:-.4998s;animation-delay:-.4998s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar8{-webkit-transform:rotate(210deg) translateY(-142%);-ms-transform:rotate(210deg) translateY(-142%);transform:rotate(210deg) translateY(-142%);-webkit-animation-delay:-.4165s;animation-delay:-.4165s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar9{-webkit-transform:rotate(240deg) translateY(-142%);-ms-transform:rotate(240deg) translateY(-142%);transform:rotate(240deg) translateY(-142%);-webkit-animation-delay:-.3332s;animation-delay:-.3332s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar10{-webkit-transform:rotate(270deg) translateY(-142%);-ms-transform:rotate(270deg) translateY(-142%);transform:rotate(270deg) translateY(-142%);-webkit-animation-delay:-.2499s;animation-delay:-.2499s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar11{-webkit-transform:rotate(300deg) translateY(-142%);-ms-transform:rotate(300deg) translateY(-142%);transform:rotate(300deg) translateY(-142%);-webkit-animation-delay:-.1666s;animation-delay:-.1666s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar12{-webkit-transform:rotate(330deg) translateY(-142%);-ms-transform:rotate(330deg) translateY(-142%);transform:rotate(330deg) translateY(-142%);-webkit-animation-delay:-.0833s;animation-delay:-.0833s}@-webkit-keyframes fade{0%{opacity:1}to{opacity:.25}}@keyframes fade{0%{opacity:1}to{opacity:.25}}.xgplayer-skin-default.xgplayer-is-enter .xgplayer-enter{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RequestCssFullIcon from '../assets/requestCssFull.svg'\nimport ExitCssFullIcon from '../assets/exitCssFull.svg'\nimport '../style/controls/cssfullscreen.scss'\n\nlet s_cssFullscreen = function () {\n let player = this\n if (!player.config.cssFullscreen) { return }\n let btn = createDom('xg-cssfullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestCssFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitCssFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-cssfullscreen')\n\n let tipsText = {}\n tipsText.requestfull = player.lang.CSSFULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITCSSFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('cssFullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_cssFullscreen',\n method: s_cssFullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M843.617212 67.898413 175.411567 67.898413c-61.502749 0-111.367437 49.856501-111.367437 111.367437l0 668.205645c0 61.510936 49.864688 111.367437 111.367437 111.367437L843.617212 958.838931c61.510936 0 111.367437-49.856501 111.367437-111.367437L954.984648 179.26585C954.984648 117.754914 905.12917 67.898413 843.617212 67.898413zM398.146441 736.104057c15.380292 0 27.842115 12.461823 27.842115 27.842115 0 15.379269-12.461823 27.841092-27.842115 27.841092L259.725858 791.787264c-7.785314 0-14.781658-3.217275-19.838837-8.365528-5.383614-4.577249-8.791224-11.228739-8.791224-19.475564L231.095797 624.736621c0-15.371082 12.471033-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115l-0.61603 71.426773 133.036969-133.037992 39.378869 39.378869L324.962651 736.113267 398.146441 736.104057zM419.199942 463.611943 286.162974 330.565764l0.61603 71.435982c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.371082 0-27.842115-12.461823-27.842115-27.842115L231.094774 262.791172c0-8.256034 3.40761-14.908548 8.791224-19.476587 5.057179-5.148253 12.053524-8.374738 19.838837-8.374738l138.420583 0.00921c15.380292 0 27.842115 12.461823 27.842115 27.842115s-12.461823 27.842115-27.842115 27.842115l-73.175603-0.00921 133.607974 133.607974L419.199942 463.611943zM787.932981 763.946172c0 8.247848-3.40761 14.899338-8.791224 19.475564-5.057179 5.148253-12.053524 8.365528-19.839861 8.365528L620.881314 791.787264c-15.379269 0-27.841092-12.461823-27.841092-27.841092 0-15.380292 12.461823-27.842115 27.841092-27.842115l73.185836 0.00921L560.449967 602.50427l39.378869-39.378869L732.875015 696.163393l-0.62524-71.426773c0-15.371082 12.462846-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115L787.934005 763.946172zM787.932981 402.000724c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.379269 0-27.842115-12.461823-27.842115-27.842115l0.62524-71.435982L599.828836 463.611943l-39.378869-39.378869 133.617184-133.607974-73.185836 0.00921c-15.379269 0-27.841092-12.461823-27.841092-27.842115s12.461823-27.842115 27.841092-27.842115l138.421606-0.00921c7.785314 0 14.781658 3.226484 19.839861 8.374738 5.383614 4.568039 8.791224 11.219529 8.791224 19.476587L787.934005 402.000724z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M834.56 81.92H189.44c-59.392 0-107.52 48.128-107.52 107.52v645.12c0 59.392 48.128 107.52 107.52 107.52h645.12c59.392 0 107.52-48.128 107.52-107.52V189.44c0-59.392-48.128-107.52-107.52-107.52zM458.24 727.04c0 14.848-12.288 26.624-26.624 26.624S404.48 741.888 404.48 727.04v-69.632L289.28 773.12c-10.752 10.24-27.648 10.24-37.888 0-10.24-10.752-10.24-27.648 0-37.888L366.592 619.52H296.96c-14.848 0-26.624-12.288-26.624-26.624s12.288-26.624 26.624-26.624h134.144c14.848 0 26.624 12.288 26.624 26.624V727.04z m0-295.936c0 14.848-12.288 26.624-26.624 26.624H296.96c-14.848 0-26.624-12.288-26.624-26.624S282.112 404.48 296.96 404.48h69.632L251.392 289.28c-10.24-10.752-10.24-27.648 0-37.888 5.12-5.12 12.288-7.68 18.944-7.68 6.656 0 13.824 2.56 18.944 7.68L404.48 366.592V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v134.144zM773.12 773.12c-10.752 10.24-27.648 10.24-37.888 0L619.52 657.408V727.04c0 14.848-12.288 26.624-26.624 26.624s-26.624-11.776-26.624-26.624v-134.144c0-14.848 12.288-26.624 26.624-26.624H727.04c14.848 0 26.624 12.288 26.624 26.624s-12.288 26.624-26.624 26.624h-69.632l115.2 115.2c10.752 10.752 10.752 27.648 0.512 38.4z m0-483.84L657.408 404.48H727.04c14.848 0 26.624 12.288 26.624 26.624 0 14.848-12.288 26.624-26.624 26.624h-134.144c-14.848 0-26.624-12.288-26.624-26.624V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v69.632L734.72 250.88c5.12-5.12 12.288-7.68 18.944-7.68s13.824 2.56 18.944 7.68c10.752 10.752 10.752 27.648 0.512 38.4z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-cssfullscreen,.xgplayer-skin-default .xgplayer-cssfullscreen-img{position:relative;-webkit-order:12;-moz-box-ordinal-group:13;order:12;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon{width:32px;margin-top:5px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover,.xgplayer-skin-default .xgplayer-cssfullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-47px}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen-img{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen{position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:99999!important}.xgplayer-lang-is-en .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en .xgplayer-cssfullscreen .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-46px}.lang-is-jp .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-120px}.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-60px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport MutedIcon from '../assets/volumeMuted.svg'\nimport SmallIcon from '../assets/volumeSmall.svg'\nimport LargeIcon from '../assets/volumeLarge.svg'\nimport '../style/controls/volume.scss'\n\nlet s_volume = function () {\n let player = this\n let container = createDom('xg-volume', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-large\">${LargeIcon}</div>\n <div class=\"xgplayer-icon-small\">${SmallIcon}</div>\n <div class=\"xgplayer-icon-muted\">${MutedIcon}</div>\n </xg-icon>\n <xg-slider class=\"xgplayer-slider\" tabindex=\"2\">\n <xg-bar class=\"xgplayer-bar\">\n <xg-drag class=\"xgplayer-drag\"></xg-drag>\n </xg-bar>\n </xg-slider>`, {}, 'xgplayer-volume')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let slider = container.querySelector('.xgplayer-slider')\n let bar = container.querySelector('.xgplayer-bar')\n let selected = container.querySelector('.xgplayer-drag')\n let icon = container.querySelector('.xgplayer-icon')\n selected.style.height = `${player.config.volume * 100}%`\n slider.volume = player.config.volume;\n\n bar.addEventListener('mousedown', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeBarClick', e)\n });\n\n ['click', 'touchend'].forEach(item => {\n icon.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconClick')\n })\n })\n\n icon.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconEnter')\n });\n\n ['blur', 'mouseleave'].forEach(item => {\n container.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconLeave')\n })\n })\n}\n\nexport default {\n name: 's_volume',\n method: s_volume\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-volume{outline:none;-webkit-order:4;-moz-box-ordinal-group:5;order:4;width:40px;height:40px;display:block;position:relative;z-index:18}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon{margin-top:8px;cursor:pointer;position:absolute;bottom:-9px}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:none}.xgplayer-skin-default .xgplayer-slider{display:none;position:absolute;width:28px;height:92px;background:rgba(0,0,0,.54);border-radius:1px;bottom:42px;outline:none}.xgplayer-skin-default .xgplayer-slider:after{content:\\\" \\\";display:block;height:15px;width:28px;position:absolute;bottom:-15px;left:0;z-index:20}.xgplayer-skin-default .xgplayer-bar,.xgplayer-skin-default .xgplayer-drag{display:block;position:absolute;bottom:6px;left:12px;background:hsla(0,0%,100%,.3);border-radius:100px;width:4px;height:76px;outline:none;cursor:pointer}.xgplayer-skin-default .xgplayer-drag{bottom:0;left:0;background:#fa1f41;max-height:76px}.xgplayer-skin-default .xgplayer-drag:after{content:\\\" \\\";display:inline-block;width:8px;height:8px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,.26);position:absolute;border-radius:50%;left:-2px;top:-6px}.xgplayer-skin-default.xgplayer-volume-active .xgplayer-slider,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:none}.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:block}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-large,.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:none}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:block}.xgplayer-skin-default.xgplayer-mobile .xgplayer-volume .xgplayer-slider{display:none}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/definition.scss'\n\nlet s_definition = function () {\n let player = this\n let root = player.root\n let paused\n let container = createDom('xg-definition', '', {tabindex: 3}, 'xgplayer-definition')\n if (sniffer.device === 'mobile') {\n player.config.definitionActive = 'click'\n }\n\n function onCanplayResourceReady () {\n let list = player.definitionList\n let tmp = ['<ul>'], src = player.config.url, a = document.createElement('a')\n if (player.switchURL) {\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n a.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n a.href = player[item]._options.url\n } else {\n a.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n a.href = player[item].originUrl || player[item].url\n src = a.href\n }\n src = a.href\n return false\n } else {\n return true\n }\n })\n } else {\n src = player.currentSrc || player.src\n }\n list.forEach(item => {\n a.href = item.url\n if (player.dash) {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.name}</li>`)\n } else {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${a.href === src ? 'selected' : ''}'>${item.name}</li>`)\n }\n })\n let cursrc = list.filter(item => {\n a.href = item.url\n if (player.dash) {\n return item.selected === true\n } else {\n return a.href === src\n }\n })\n tmp.push(`</ul><p class='name'>${(cursrc[0] || {name: ''}).name}</p>`)\n let urlInRoot = root.querySelector('.xgplayer-definition')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n }\n function onResourceReady (list) {\n player.definitionList = list\n if (list && list instanceof Array && list.length > 0) {\n addClass(root, 'xgplayer-is-definition')\n player.once('canplay', onCanplayResourceReady)\n }\n }\n player.on('resourceReady', onResourceReady)\n\n function onPlayingChangeDefinition () {\n player.currentTime = player.curTime\n if (paused) {\n player.pause()\n } else {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n };\n function onTimeupdateChangeDefinition () {\n player.once('timeupdate', onPlayingChangeDefinition)\n };\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let list = player.definitionList\n let li = e.target || e.srcElement, a = document.createElement('a')\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = item.getAttribute('cname')\n removeClass(item, 'selected')\n player.emit('beforeDefinitionChange', item.getAttribute('url'))\n }\n })\n if (player.dash) {\n list.forEach(item => {\n item.selected = false\n if (item.name === li.innerHTML) {\n item.selected = true\n }\n })\n }\n\n addClass(li, 'selected')\n to = li.getAttribute('cname')\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}`\n a.href = li.getAttribute('url')\n paused = player.paused\n if (player.switchURL) {\n let curRUL = document.createElement('a');\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n curRUL.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n curRUL.href = player[item]._options.url\n } else {\n curRUL.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n curRUL.href = player[item].originUrl || player[item].url\n }\n return false\n } else {\n return true\n }\n })\n if (curRUL.href !== a.href && !player.ended) {\n player.switchURL(a.href)\n }\n } else {\n if (player['hls']) {\n let curRUL = document.createElement('a')\n curRUL = player['hls'].url\n }\n if (a.href !== player.currentSrc) {\n player.curTime = player.currentTime\n if (!player.ended) {\n player.src = a.href\n }\n }\n }\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.once('timeupdate', onTimeupdateChangeDefinition)\n } else {\n player.once('loadedmetadata', onPlayingChangeDefinition)\n }\n player.emit('definitionChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-definition-active')\n }\n } else if (player.config.definitionActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-definition-active')\n } else {\n addClass(player.root, 'xgplayer-definition-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(root, 'xgplayer-definition-active')\n })\n\n function onBlur () {\n removeClass(root, 'xgplayer-definition-active')\n }\n player.on('blur', onBlur)\n\n function onDestroy () {\n player.off('resourceReady', onResourceReady)\n player.off('canplay', onCanplayResourceReady)\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.off('timeupdate', onTimeupdateChangeDefinition)\n player.off('timeupdate', onPlayingChangeDefinition)\n } else {\n player.off('loadedmetadata', onPlayingChangeDefinition)\n }\n player.off('blur', onBlur)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCurrentDefinition = function () {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].className && liList[i].className.indexOf('selected') > -1) {\n return {\n name: liList[i].getAttribute('cname'),\n url: liList[i].getAttribute('url')\n }\n }\n }\n return {\n name: liList[0].getAttribute('cname'),\n url: liList[0].getAttribute('url')\n }\n }\n\n player.switchDefinition = function (definitionObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].getAttribute('cname') === definitionObj.name || liList[i].getAttribute('url') === definitionObj.url || i === definitionObj.index) {\n liList[i].click()\n }\n }\n }\n}\n\nexport default {\n name: 's_definition',\n method: s_definition\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-definition{-webkit-order:5;-moz-box-ordinal-group:6;order:5;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-left:10px;margin-top:-119px}.xgplayer-skin-default .xgplayer-definition ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-definition ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-definition ul li.selected,.xgplayer-skin-default .xgplayer-definition ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-definition .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-definition ul,.xgplayer-skin-default.xgplayer-is-definition .xgplayer-definition{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/playbackRate.scss'\n\nlet s_playbackRate = function () {\n let player = this\n let playbackRateList = []\n if (player.config.playbackRate) {\n playbackRateList = [].concat(player.config.playbackRate)\n playbackRateList.sort((a, b) => b - a)\n } else {\n return false\n }\n let unit = player.config.playbackRateUnit !== undefined ? player.config.playbackRateUnit : 'x'\n let container = createDom('xg-playbackrate', \" \", {}, 'xgplayer-playbackrate')\n if (sniffer.device === 'mobile') {\n player.config.playbackRateActive = 'click'\n }\n\n let list = []\n playbackRateList.forEach(item => {\n list.push({name: `${item}`, rate: `${item}${unit}`, selected: false})\n })\n let selectedSpeed = 1\n let tmp = ['<ul>']\n list.forEach(item => {\n if(player.config.defaultPlaybackRate && player.config.defaultPlaybackRate.toString() === item.name) {\n item.selected = true\n selectedSpeed = player.config.defaultPlaybackRate\n player.once('playing', () => { player.video.playbackRate = player.config.defaultPlaybackRate})\n } else if (item.name === '1.0' || item.name === '1') {\n if(!player.config.defaultPlaybackRate || player.config.defaultPlaybackRate === 1) {\n item.selected = true\n }\n }\n tmp.push(`<li cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.rate}</li>`)\n })\n tmp.push(`</ul><p class='name'>${selectedSpeed}${unit}</p>`)\n let playbackDom = player.root.querySelector('.xgplayer-playbackrate')\n if (playbackDom) {\n playbackDom.innerHTML = tmp.join('')\n let cur = playbackDom.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n playbackDom.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n container.focus()\n })\n }\n player.once('ready', () => {\n player.controls.appendChild(container)\n })\n }\n\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n container.addEventListener(item, e => {\n e.stopPropagation()\n e.preventDefault()\n let li = e.target\n if(li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n list.forEach(item => {\n item.selected = false\n if (li.textContent.replace(/\\s+/g,\"\") === item.rate) {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = Number(item.getAttribute('cname'))\n removeClass(item, 'selected')\n }\n })\n item.selected = true\n player.video.playbackRate = item.name * 1\n selectedSpeed = item.name * 1\n }\n })\n addClass(li, 'selected')\n to = Number(li.getAttribute('cname'))\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}${unit}`\n player.emit('playbackrateChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n } else if (player.config.playbackRateActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'span')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-playbackrate-active')\n } else {\n addClass(player.root, 'xgplayer-playbackrate-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n container.addEventListener('mouseleave', (e) => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-playbackrate-active')\n })\n\n function onBlur () {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n player.on('blur', onBlur)\n\n player.on('play', () => {\n if(player.video.playbackRate.toFixed(1) !== selectedSpeed.toFixed(1) ) {\n player.video.playbackRate = selectedSpeed\n }\n })\n\n player.switchPlaybackRate = function (playbackRateObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-playbackrate ul li')\n for(let i = 0; i < liList.length; i++) {\n if(!hasClass(liList[i], 'selected') && (liList[i].getAttribute('cname') === `${playbackRateObj.playbackRate}` || i === playbackRateObj.index)) {\n liList[i].click()\n }\n }\n }\n\n player.on('ratechange', () => {\n player.switchPlaybackRate({ playbackRate: player.playbackRate })\n })\n}\n\nexport default {\n name: 's_playbackRate',\n method: s_playbackRate\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playbackrate{-webkit-order:8;-moz-box-ordinal-group:9;order:8;width:60px;height:150px;z-index:18;position:relative;display:inline-block;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-playbackrate ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);text-align:left;white-space:nowrap;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-playbackrate ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);position:relative;padding:4px 0;text-align:center}.xgplayer-skin-default .xgplayer-playbackrate ul li.selected,.xgplayer-skin-default .xgplayer-playbackrate ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-playbackrate ul li:first-child{position:relative;margin-top:12px}.xgplayer-skin-default .xgplayer-playbackrate ul li:last-child{position:relative;margin-bottom:12px}.xgplayer-skin-default .xgplayer-playbackrate .name{width:60px;height:20px;position:absolute;bottom:0;text-align:center;font-family:PingFangSC-Regular;font-size:13px;background:rgba(0,0,0,.38);color:hsla(0,0%,100%,.8);border-radius:10px;line-height:20px}.xgplayer-skin-default .xgplayer-playbackrate span{position:relative;top:19px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.6)}.xgplayer-skin-default .xgplayer-playbackrate:hover{opacity:1}.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-playbackrate ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\n\nlet s_localPreview = function () {\n let player = this\n if (player.config.preview && player.config.preview.uploadEl) {\n let preview = createDom('xg-preview', '<input type=\"file\">', {}, 'xgplayer-preview')\n let upload = preview.querySelector('input')\n player.config.preview.uploadEl.appendChild(preview)\n upload.onchange = function () {\n player.emit('upload', upload)\n }\n }\n}\n\nexport default {\n name: 's_localPreview',\n method: s_localPreview\n}","import { createDom } from '../../utils/util'\nimport DownloadIcon from '../assets/download.svg'\nimport '../style/controls/download.scss'\n\nlet s_download = function () {\n let player = this\n if (!player.config.download) { return }\n let btn = createDom('xg-download', `<xg-icon class=\"xgplayer-icon\">${DownloadIcon}</xg-icon>`, {}, 'xgplayer-download')\n\n let tipsText = player.lang.DOWNLOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-download\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('downloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_download',\n method: s_download\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24px\\\" height=\\\"24px\\\" viewBox=\\\"0 0 24 24\\\">\\n <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g transform=\\\"translate(-488.000000, -340.000000)\\\" fill=\\\"#FFFFFF\\\">\\n <g id=\\\"Group-2\\\">\\n <g id=\\\"volme_big-copy\\\" transform=\\\"translate(488.000000, 340.000000)\\\">\\n <rect id=\\\"Rectangle-18\\\" x=\\\"11\\\" y=\\\"4\\\" width=\\\"2\\\" height=\\\"12\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" x=\\\"3\\\" y=\\\"18\\\" width=\\\"18\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" transform=\\\"translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) \\\" x=\\\"1.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect><rect id=\\\"Rectangle-2-Copy-3\\\" transform=\\\"translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) \\\" x=\\\"17.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <path d=\\\"M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z\\\" id=\\\"Combined-Shape\\\" transform=\\\"translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) \\\"></path>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-download{position:relative;-webkit-order:9;-moz-box-ordinal-group:10;order:9;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-download .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-download .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-download .xgplayer-icon svg{position:relative;top:5px;left:5px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips{margin-left:-20px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips .xgplayer-tip-download{display:block}.xgplayer-skin-default .xgplayer-download:hover{opacity:.85}.xgplayer-skin-default .xgplayer-download:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-download .xgplayer-tips{margin-left:-32px}.xgplayer-lang-is-jp .xgplayer-download .xgplayer-tips{margin-left:-40px}\", \"\"]);\n\n// exports\n","import { createDom, deepCopy, addClass, removeClass } from '../../utils/util'\nimport DanmuJs from 'danmu.js'\nimport PanelIcon from '../assets/panel.svg'\nimport '../style/controls/danmu.scss'\n\nlet s_danmu = function () {\n let player = this\n let root = player.root\n if(!player.config.danmu) { return }\n let container = createDom('xg-danmu', '', {}, 'xgplayer-danmu')\n player.once('ready', () => {\n root.appendChild(container)\n })\n let config = deepCopy({\n container,\n player: player.video,\n comments: [],\n area: {\n start: 0,\n end: 1\n }\n }, player.config.danmu)\n let panelBtn\n if (player.config.danmu.panel) {\n panelBtn = createDom('xg-panel', `<xg-panel-icon class=\"xgplayer-panel-icon\">\n ${PanelIcon}\n </xg-panel-icon>\n <xg-panel-slider class=\"xgplayer-panel-slider\">\n <xg-hidemode class=\"xgplayer-hidemode\">\n <p class=\"xgplayer-hidemode-font\">屏蔽类型</p>\n <ul class=\"xgplayer-hidemode-radio\">\n <li class=\"xgplayer-hidemode-scroll\" id=\"false\">滚动</li><li class=\"xgplayer-hidemode-top\" id=\"false\">顶部</li><li class=\"xgplayer-hidemode-bottom\" id=\"false\">底部</li><li class=\"xgplayer-hidemode-color\" id=\"false\">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class=\"xgplayer-transparency\">\n <span>不透明度</span>\n <input class=\"xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient\" type=\"range\" min=\"0\" max=\"100\" step=\"0.1\" value=\"50\"></input>\n </xg-transparency>\n <xg-showarea class=\"xgplayer-showarea\">\n <div class=\"xgplayer-showarea-name\">显示区域</div>\n <div class=\"xgplayer-showarea-control\">\n <div class=\"xgplayer-showarea-control-up\">\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-onequarters\">1/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color\">1/2</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-threequarters\">3/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-full\">1</span>\n </div>\n <div class=\"xgplayer-showarea-control-down\">\n <div class=\"xgplayer-showarea-control-down-dots\">\n <span class=\"xgplayer-showarea-onequarters-dot\"></span>\n <span class=\"xgplayer-showarea-twoquarters-dot\"></span>\n <span class=\"xgplayer-showarea-threequarters-dot\"></span>\n <span class=\"xgplayer-showarea-full-dot\"></span>\n </div>\n <input class=\"xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient\" type=\"range\" min=\"1\" max=\"4\" step=\"1\" value=\"1\">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class=\"xgplayer-danmuspeed\">\n <div class=\"xgplayer-danmuspeed-name\">弹幕速度</div>\n <div class=\"xgplayer-danmuspeed-control\">\n <div class=\"xgplayer-danmuspeed-control-up\">\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small\">慢</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color\">中</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large\">快</span>\n </div>\n <div class=\"xgplayer-danmuspeed-control-down\">\n <div class=\"xgplayer-danmuspeed-control-down-dots\">\n <span class=\"xgplayer-danmuspeed-small-dot\"></span>\n <span class=\"xgplayer-danmuspeed-middle-dot\"></span>\n <span class=\"xgplayer-danmuspeed-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient\" type=\"range\" min=\"50\" max=\"150\" step=\"50\" value=\"100\">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class=\"xgplayer-danmufont\">\n <div class=\"xgplayer-danmufont-name\">字体大小</div>\n <div class=\"xgplayer-danmufont-control\">\n <div class=\"xgplayer-danmufont-control-up\">\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-small\">小</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-middle\">中</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color\">大</span>\n </div>\n <div class=\"xgplayer-danmufont-control-down\">\n <div class=\"xgplayer-danmufont-control-down-dots\">\n <span class=\"xgplayer-danmufont-small-dot\"></span>\n <span class=\"xgplayer-danmufont-middle-dot\"></span>\n <span class=\"xgplayer-danmufont-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient\" type=\"range\" min=\"20\" max=\"30\" step=\"5\" value=\"25\">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>`, {tabindex: 7}, 'xgplayer-panel')\n player.once('ready', () => {\n player.controls.appendChild(panelBtn)\n })\n }\n player.once('complete', () => {\n let danmujs = new DanmuJs(config)\n player.emit('initDefaultDanmu', danmujs)\n player.danmu = danmujs\n\n if (!player.config.danmu.panel) {\n return\n }\n\n let slider = panelBtn.querySelector('.xgplayer-panel-slider')\n let focusStatus\n let focusarray = ['mouseenter', 'touchend', 'click']\n focusarray.forEach(item => {\n panelBtn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n addClass(slider, 'xgplayer-panel-active')\n panelBtn.focus()\n focusStatus = true\n })\n })\n panelBtn.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n removeClass(slider, 'xgplayer-panel-active')\n focusStatus = false\n })\n slider.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n if (focusStatus === false) {\n removeClass(slider, 'xgplayer-panel-active')\n }\n })\n\n let danmuConfig = player.config.danmu\n let hidemodeScroll = panelBtn.querySelector('.xgplayer-hidemode-scroll')\n let hidemodeTop = panelBtn.querySelector('.xgplayer-hidemode-top')\n let hidemodeBottom = panelBtn.querySelector('.xgplayer-hidemode-bottom')\n let hidemodeColor = panelBtn.querySelector('.xgplayer-hidemode-color')\n let hidemodeArray = {\n 'scroll': hidemodeScroll,\n 'top': hidemodeTop,\n 'bottom': hidemodeBottom,\n 'color': hidemodeColor\n }\n for (let key in hidemodeArray) {\n let keys = key\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n hidemodeArray[keys].addEventListener(item, function (e) {\n if (hidemodeArray[keys].getAttribute('id') !== 'true') {\n hidemodeArray[keys].style.color = '#f85959'\n hidemodeArray[keys].setAttribute('id', 'true')\n player.danmu.hide(keys)\n } else {\n hidemodeArray[keys].style.color = '#aaa'\n hidemodeArray[keys].setAttribute('id', 'false')\n player.danmu.show(keys)\n }\n })\n })\n }\n let transparency = panelBtn.querySelector('.xgplayer-transparency-line')\n let transparencyGradient = panelBtn.querySelector('.xgplayer-transparency-gradient')\n let transparencyValue = 50\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n transparency.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n transparencyValue = e.target.value\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n danmuConfig.comments.forEach(item => {\n item.style.opacity = transparencyValue / 100\n })\n })\n let showarea = panelBtn.querySelector('.xgplayer-showarea-line')\n showarea.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let showareaValue = e.target.value\n player.danmu.config.area.end = showareaValue / 100\n player.config.danmu.area.end = showareaValue / 100\n player.danmu.bulletBtn.main.channel.resize()\n })\n let danmuspeed = panelBtn.querySelector('.xgplayer-danmuspeed-line')\n danmuspeed.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmuspeedValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.duration = (200 - danmuspeedValue) * 100\n })\n })\n let danmufont = panelBtn.querySelector('.xgplayer-danmufont-line')\n danmufont.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmufontValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.style.fontSize = danmufontValue + 'px'\n })\n })\n if(navigator.userAgent.indexOf(\"Firefox\") > -1) {\n for (let i = 0; i < slider.querySelectorAll('input').length; i++) {\n slider.querySelectorAll('input')[i].style.marginTop = '10px'\n }\n }\n })\n}\n\nexport default {\n name: 's_danmu',\n method: s_danmu\n}","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports[\"danmu.js\"]=t():e[\"danmu.js\"]=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=4)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i={createDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",o=document.createElement(e);return o.className=i,o.innerHTML=t,Object.keys(n).forEach((function(t){var i=t,r=n[t];\"video\"===e||\"audio\"===e?r&&o.setAttribute(i,r):o.setAttribute(i,r)})),o},hasClass:function(e,t){return e.classList?Array.prototype.some.call(e.classList,(function(e){return e===t})):!!e.className.match(new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\"))},addClass:function(e,t){e.classList?t.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach((function(t){t&&e.classList.add(t)})):i.hasClass(e,t)||(e.className+=\" \"+t)},removeClass:function(e,t){e.classList?t.split(/\\s+/g).forEach((function(t){e.classList.remove(t)})):i.hasClass(e,t)&&t.split(/\\s+/g).forEach((function(t){var n=new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\");e.className=e.className.replace(n,\" \")}))},toggleClass:function(e,t){t.split(/\\s+/g).forEach((function(t){i.hasClass(e,t)?i.removeClass(e,t):i.addClass(e,t)}))},findDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=arguments[1],n=void 0;try{n=e.querySelector(t)}catch(i){t.startsWith(\"#\")&&(n=e.getElementById(t.slice(1)))}return n},deepCopy:function(e,t){if(\"Object\"===i.typeOf(t)&&\"Object\"===i.typeOf(e))return Object.keys(t).forEach((function(n){\"Object\"!==i.typeOf(t[n])||t[n]instanceof Node?\"Array\"===i.typeOf(t[n])?e[n]=\"Array\"===i.typeOf(e[n])?e[n].concat(t[n]):t[n]:e[n]=t[n]:e[n]?i.deepCopy(e[n],t[n]):e[n]=t[n]})),e},typeOf:function(e){return Object.prototype.toString.call(e).match(/([^\\s.*]+)(?=]$)/g)[0]},copyDom:function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return\"\"},formatTime:function(e){var t=Math.floor(e);return 1e3*t+(e-t)},offInDestroy:function(e,t,n,i){e.once(i,(function o(){e.off(t,n),e.off(i,o)}))},on:function(e,t,n,o){if(o)e.on(t,n),i.offInDestroy(e,t,n,o);else{e.on(t,(function i(o){n(o),e.off(t,i)}))}},style:function(e,t,n){var i=e.style;try{i[t]=n}catch(e){i.setProperty(t,n)}}};t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(26),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}return o(e,[{key:\"setLogger\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";this.logger=new a.default(e+\".js\")}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";var i=n(19)();e.exports=function(e){return e!==i&&null!==e}},function(e,t,n){\"use strict\";e.exports=function(e){return null!=e}},function(e,t,n){e.exports=n(5)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(6),r=(i=o)&&i.__esModule?i:{default:i};n(34),t.default=r.default,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=f(n(7)),r=f(n(1)),a=f(n(27)),s=f(n(31)),l=f(n(0)),u=n(32),c=n(33);function f(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"danmu\"),n.logger&&n.logger.info(\"danmu.js version: \"+u.version);var i=n;if(i.config=l.default.deepCopy({overlap:!1,area:{start:0,end:1},live:!1,comments:[],direction:\"r2l\",needResizeObserver:!1},e),i.hideArr=[],i.domObj=new s.default,(0,o.default)(i),i.config.comments.forEach((function(e){e.duration=e.duration?e.duration:5e3,e.mode||(e.mode=\"scroll\")})),!i.config.container||1!==i.config.container.nodeType)return i.emit(\"error\",\"container id can't be empty\"),!1,h(n,!1);if(i.container=i.config.container,i.config.containerStyle){var r=i.config.containerStyle;Object.keys(r).forEach((function(e){i.container.style[e]=r[e]}))}return i.live=i.config.live,i.player=i.config.player,i.direction=i.config.direction,l.default.addClass(i.container,\"danmu\"),i.bulletBtn=new a.default(i),i.isReady=!0,i.emit(\"ready\"),n.logger&&n.logger.info(\"ready\"),n.addResizeObserver(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"addResizeObserver\",value:function(){var e=this;this.config.needResizeObserver&&(0,c.addObserver)(this.container,(function(){e.logger&&e.logger.info(\"needResizeObserver\"),e.resize()}))}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\"),this.bulletBtn.main.start()}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.bulletBtn.main.pause()}},{key:\"play\",value:function(){this.logger&&this.logger.info(\"play\"),this.bulletBtn.main.play()}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\"),this.bulletBtn.main.stop()}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.bulletBtn.main.clear()}},{key:\"destroy\",value:function(){for(var e in(0,c.unObserver)(this.container),this.logger&&this.logger.info(\"destroy\"),this.stop(),this.bulletBtn.destroy(),this.domObj.destroy(),this)delete this[e];this.emit(\"destroy\")}},{key:\"sendComment\",value:function(e){this.logger&&this.logger.info(\"sendComment: \"+(e.txt||\"[DOM Element]\")),e.duration||(e.duration=15e3),e&&e.id&&e.duration&&(e.el||e.txt)&&(e.duration=e.duration?e.duration:5e3,e.style||(e.style={opacity:void 0,fontSize:void 0}),e.style&&(this.opacity&&this.opacity!==e.style.opacity&&(e.style.opacity=this.opacity),this.fontSize&&this.fontSize!==e.style.fontSize&&(e.style.fontSize=this.fontSize),this.like&&(e.like=e.like?e.like:this.like)),e.prior||e.realTime?(this.bulletBtn.main.data.unshift(e),e.realTime&&(this.bulletBtn.main.readData(),this.bulletBtn.main.dataHandle())):this.bulletBtn.main.data.push(e))}},{key:\"setCommentID\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentID: oldID \"+e+\" newID \"+t);var i=this.container.getBoundingClientRect();e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.id=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.id=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentDuration\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentDuration: id \"+e+\" duration \"+t);var i=this.container.getBoundingClientRect();e&&t&&(t=t||5e3,this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.duration=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.duration=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentLike\",value:function(e,t){this.logger&&this.logger.info(\"setCommentLike: id \"+e+\" like \"+t);var n=this.container.getBoundingClientRect();this.like=t,e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.like=t,!0)})),this.bulletBtn.main.queue.some((function(i){return i.id===e&&(i.pauseMove(n),i.setLikeDom(t.el,t.style),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n),!0)})))}},{key:\"restartComment\",value:function(e){this.logger&&this.logger.info(\"restartComment: id \"+e),this.mouseControl=!1;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(\"paused\"!==n.danmu.bulletBtn.main.status?n.startMove(t,!0):n.status=\"paused\",!0)}))}},{key:\"freezeComment\",value:function(e){this.logger&&this.logger.info(\"freezeComment: id \"+e),this.mouseControl=!0;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(n.status=\"forcedPause\",n.pauseMove(t),n.el&&n.el.style&&l.default.style(n.el,\"zIndex\",10),!0)}))}},{key:\"removeComment\",value:function(e){this.logger&&this.logger.info(\"removeComment: id \"+e),e&&(this.bulletBtn.main.queue.some((function(t){return t.id===e&&(t.remove(),!0)})),this.bulletBtn.main.data=this.bulletBtn.main.data.filter((function(t){return t.id!==e})))}},{key:\"updateComments\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&(this.bulletBtn.main.data=[]),this.bulletBtn.main.data=this.bulletBtn.main.data.concat(e)}},{key:\"setAllDuration\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\",t=arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.logger&&this.logger.info(\"setAllDuration: mode \"+e+\" duration \"+t+\" force \"+n);var i=this.container.getBoundingClientRect();t&&(t=t||5e3,n&&(this.bulletBtn.main.forceDuration=t),this.bulletBtn.main.data.forEach((function(n){e===n.mode&&(n.duration=t)})),this.bulletBtn.main.queue.forEach((function(n){e===n.mode&&(n.duration=t,n.pauseMove(i),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(i))})))}},{key:\"setOpacity\",value:function(e){this.logger&&this.logger.info(\"setOpacity: opacity \"+e),this.container.style.opacity=e}},{key:\"setFontSize\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setFontSize: size \"+e+\" channelSize \"+t),this.fontSize=e+\"px\",e&&(this.bulletBtn.main.data.forEach((function(e){e.style&&(e.style.fontSize=n.fontSize)})),this.bulletBtn.main.queue.forEach((function(e){e.options.style||(e.options.style={}),e.options.style.fontSize=n.fontSize,e.setFontSize(n.fontSize),t&&(e.top=e.channel_id[0]*t,e.topInit())}))),t&&(this.config.channelSize=t,this.bulletBtn.main.channel.resize(!0))}},{key:\"setArea\",value:function(e){this.logger&&this.logger.info(\"setArea: area \"+e),this.config.area=e,this.bulletBtn.main.channel.resize(!0)}},{key:\"hide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"hide: mode \"+e),this.hideArr.indexOf(e)<0&&this.hideArr.push(e);var t=this.bulletBtn.main.queue.filter((function(t){return e===t.mode||\"color\"===e&&t.color}));t.forEach((function(e){return e.remove()}))}},{key:\"show\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"show: mode \"+e);var t=this.hideArr.indexOf(e);t>-1&&this.hideArr.splice(t,1)}},{key:\"setDirection\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"r2l\";this.logger&&this.logger.info(\"setDirection: direction \"+e),this.emit(\"changeDirection\",e)}},{key:\"resize\",value:function(){this.logger&&this.logger.info(\"resize\"),this.emit(\"channel_resize\")}}]),t}(r.default);t.default=d,e.exports=t.default},function(e,t,n){\"use strict\";var i,o,r,a,s,l,u,c=n(8),f=n(25),h=Function.prototype.apply,d=Function.prototype.call,g=Object.create,p=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0};o=function(e,t){var n,o;return f(t),o=this,i.call(this,e,n=function(){r.call(o,e,n),h.call(t,this,arguments)}),n.__eeOnceListener__=t,this},s={on:i=function(e,t){var n;return f(t),v.call(this,\"__ee__\")?n=this.__ee__:(n=b.value=g(null),p(this,\"__ee__\",b),b.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:o,off:r=function(e,t){var n,i,o,r;if(f(t),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[e])return this;if(\"object\"==typeof(i=n[e]))for(r=0;o=i[r];++r)o!==t&&o.__eeOnceListener__!==t||(2===i.length?n[e]=i[r?0:1]:i.splice(r,1));else i!==t&&i.__eeOnceListener__!==t||delete n[e];return this},emit:a=function(e){var t,n,i,o,r;if(v.call(this,\"__ee__\")&&(o=this.__ee__[e]))if(\"object\"==typeof o){for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];for(o=o.slice(),t=0;i=o[t];++t)h.call(i,this,r)}else switch(arguments.length){case 1:d.call(o,this);break;case 2:d.call(o,this,arguments[1]);break;case 3:d.call(o,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];h.call(o,this,r)}}},l={on:c(i),once:c(o),off:c(r),emit:c(a)},u=m({},l),e.exports=t=function(e){return null==e?g(u):m(Object(e),l)},t.methods=s},function(e,t,n){\"use strict\";var i=n(3),o=n(9),r=n(13),a=n(21),s=n(22);(e.exports=function(e,t){var n,o,l,u,c;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],i(e)?(n=s.call(e,\"c\"),o=s.call(e,\"e\"),l=s.call(e,\"w\")):(n=l=!0,o=!1),c={value:t,configurable:n,enumerable:o,writable:l},u?r(a(u),c):c}).gs=function(e,t,n){var l,u,c,f;return\"string\"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],i(t)?o(t)?i(n)?o(n)||(c=n,n=void 0):n=void 0:(c=t,t=n=void 0):t=void 0,i(e)?(l=s.call(e,\"c\"),u=s.call(e,\"e\")):(l=!0,u=!1),f={get:t,set:n,configurable:l,enumerable:u},c?r(a(c),f):f}},function(e,t,n){\"use strict\";var i=n(10),o=/^\\s*class[\\s{/}]/,r=Function.prototype.toString;e.exports=function(e){return!!i(e)&&!o.test(r.call(e))}},function(e,t,n){\"use strict\";var i=n(11);e.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!i(e)}},function(e,t,n){\"use strict\";var i=n(12);e.exports=function(e){if(!i(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(3),o={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!i(e)&&hasOwnProperty.call(o,typeof e)}},function(e,t,n){\"use strict\";e.exports=n(14)()?Object.assign:n(15)},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var i=n(16),o=n(20),r=Math.max;e.exports=function(e,t){var n,a,s,l=r(arguments.length,2);for(e=Object(o(e)),s=function(i){try{e[i]=t[i]}catch(e){n||(n=e)}},a=1;a<l;++a)i(t=arguments[a]).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=n(17)()?Object.keys:n(18)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(2),o=Object.keys;e.exports=function(e){return o(i(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var i=n(2);e.exports=function(e){if(!i(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){\"use strict\";var i=n(2),o=Array.prototype.forEach,r=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=r(null);return o.call(arguments,(function(e){i(e)&&a(Object(e),t)})),t}},function(e,t,n){\"use strict\";e.exports=n(23)()?String.prototype.contains:n(24)},function(e,t,n){\"use strict\";var i=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof i.contains&&(!0===i.contains(\"dwa\")&&!1===i.contains(\"foo\"))}},function(e,t,n){\"use strict\";var i=String.prototype.indexOf;e.exports=function(e){return i.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=\"undefined\"!=typeof window&&window.location.href.indexOf(\"danmu-debug\")>-1,r=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.constructorName=t||\"\"}return i(e,[{key:\"info\",value:function(e){for(var t,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];o&&(t=console).log.apply(t,[\"[Danmu Log][\"+this.constructorName+\"]\",e].concat(i))}}]),e}();t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=s(n(1)),r=s(n(0)),a=s(n(28));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.setLogger(\"control\"),n.danmu=e,n.main=new a.default(e),e.config.defaultOff||n.main.start(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"createSwitch\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.logger&&this.logger.info(\"createSwitch\"),this.switchBtn=r.default.createDom(\"dk-switch\",'<span class=\"txt\">弹</span>',{},\"danmu-switch \"+(e?\"danmu-switch-active\":\"\")),this.switchBtn}},{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),this.main.destroy(),this)delete this[e]}}]),t}(o.default);t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=l(n(1)),r=l(n(29)),a=l(n(30)),s=l(n(0));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"main\"),n.danmu=e,n.container=e.container,n.channel=new r.default(e),n.data=[].concat(e.config.comments),n.playedData=[],n.queue=[],n.timer=null,n.retryTimer=null,n.retryStatus=\"normal\",n.interval=e.config.interval||2e3,n.status=\"idle\",s.default.on(e,\"bullet_remove\",n.updateQueue.bind(n),\"destroy\");var i=n;return s.default.on(n.danmu,\"changeDirection\",(function(e){i.danmu.direction=e}),\"destroy\"),n.nums=0,n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.dataHandleTimer),this.channel.destroy(),this.data=[],this)delete this[e]}},{key:\"updateQueue\",value:function(e){this.logger&&this.logger.info(\"updateQueue\");var t=this;t.queue.some((function(n,i){return n.id===e.bullet.id&&(t.queue.splice(i,1),!0)})),t.data.some((function(t,n){return t.id===e.bullet.id&&(t.hasAttached=!1,!0)}))}},{key:\"init\",value:function(e,t){t.logger&&t.logger.info(\"init\"),t||(t=this),t.retryStatus=\"normal\",t.data.sort((function(e,t){return e.start-t.start}));t.retryTimer||function e(){\"closed\"===t.status&&\"stop\"===t.retryStatus||(\"playing\"===t.status&&(t.readData(),t.dataHandle()),\"stop\"===t.retryStatus&&\"paused\"!==t.status||(t.dataHandleTimer=setTimeout((function(){e()}),t.interval-1e3)))}()}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\");this.status=\"playing\",this.queue=[],this.container.innerHTML=\"\",this.channel.resetWithCb(this.init,this)}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\");this.status=\"closed\",this.retryTimer=null,this.retryStatus=\"stop\",this.channel.reset(),this.queue=[],this.container.innerHTML=\"\"}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.channel.reset(),this.data=[],this.queue=[],this.container.innerHTML=\"\"}},{key:\"play\",value:function(){var e=this;this.logger&&this.logger.info(\"play\"),this.status=\"playing\";var t=this.channel.channels,n=this.danmu.container.getBoundingClientRect();t&&t.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(i){e.queue.forEach((function(e){e.startMove(n),e.resized=!0}));for(var o=0;o<t.length;o++)t[o].queue[i].forEach((function(e){e.resized=!1}))}))}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.status=\"paused\";var e=this.channel.channels,t=this.danmu.container.getBoundingClientRect();e&&e.length>0&&this.queue.forEach((function(e){e.pauseMove(t)}))}},{key:\"dataHandle\",value:function(){var e=this;\"paused\"!==this.status&&\"closed\"!==this.status&&e.queue.length&&e.queue.forEach((function(t){\"waiting\"===t.status&&t.startMove(e.channel.containerPos)}))}},{key:\"readData\",value:function(){var e=this,t=this.danmu;if(t.isReady){var n=0;t.player&&t.player.currentTime&&(n=s.default.formatTime(t.player.currentTime));var i=void 0,o=e.interval,r=e.channel,l=void 0;t.player?(l=e.data.filter((function(t){return!t.start&&e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&(t.start=n),e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&t.start-o<=n&&n<=t.start+o})),t.live&&(e.data=[])):0===(l=e.data.splice(0,1)).length&&(l=e.playedData.splice(0,1)),l.length>0&&l.forEach((function(n){if(e.forceDuration&&e.forceDuration!=n.duration&&(n.duration=e.forceDuration),i=new a.default(t,n),n.hasAttached){for(var o in i.detach(),i)delete i[o];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}else if(i.attach(),n.hasAttached=!0,r.addBullet(i).result)e.queue.push(i),e.nums++,i.topInit();else{for(var s in i.detach(),i)delete i[s];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}}))}}}]),t}(o.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"channel\"),n.danmu=e,n.reset(!0);var i=n;return r.default.on(n.danmu,\"bullet_remove\",(function(e){i.removeBullet(e.bullet)}),\"destroy\"),n.direction=e.direction,r.default.on(n.danmu,\"changeDirection\",(function(e){i.direction=e}),\"destroy\"),n.containerPos=n.danmu.container.getBoundingClientRect(),n.containerWidth=n.containerPos.width,n.containerHeight=n.containerPos.height,n.containerLeft=n.containerPos.left,n.containerRight=n.containerPos.right,r.default.on(n.danmu,\"channel_resize\",(function(){i.containerPos=i.danmu.container.getBoundingClientRect(),i.resizing||(i.containerWidth=i.containerPos.width,i.containerHeight=i.containerPos.height,i.containerLeft=i.containerPos.left,i.containerRight=i.containerPos.right,i.resize(!0))}),\"destroy\"),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.resizeTimer),this.channels=[],this)delete this[e]}},{key:\"resize\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"resize\");var t=this.danmu.container,n=this;n.resizing||(n.resizing=!0,this.resizeTimer=setTimeout((function(){n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.bookChannelId&&(delete e.bookChannelId,n.logger&&n.logger.info(\"resize导致\"+e.id+\"号优先弹幕预定取消\"))})),n.logger&&n.logger.info(\"resize导致所有轨道恢复正常使用\");var i=t.getBoundingClientRect();n.width=i.width,n.height=i.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var o=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),r=void 0;r=\"b2t\"===n.direction?Math.floor(n.width/o):Math.floor(n.height/o);for(var a=[],s=0;s<r;s++)a[s]={id:s,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(n.channels&&n.channels.length<=a.length){for(var l=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(i){n.channels[t].queue[i].forEach((function(o){o.el&&(a[t].queue[i].push(o),o.resized||(o.pauseMove(n.containerPos,e),\"paused\"!==o.danmu.bulletBtn.main.status&&o.startMove(n.containerPos),o.resized=!0))}))})),n.channels[t].queue.bottom.forEach((function(i){if(i.el){if(a[t+a.length-n.channels.length].queue.bottom.push(i),i.channel_id[0]+i.channel_id[1]-1===t){var r=[].concat(i.channel_id);i.channel_id=[r[0]-n.channels.length+a.length,r[1]],i.top=i.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(i.top+=n.containerHeight*n.danmu.config.area.start),i.topInit()}i.resized||(i.pauseMove(n.containerPos,e),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n.containerPos),i.resized=!0)}}))},u=0;u<n.channels.length;u++)l(u);for(var c=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},f=0;f<a.length;f++)c(f);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}else if(n.channels&&n.channels.length>a.length){for(var h=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(i){if(\"top\"===i&&t>Math.floor(a.length/2));else if(\"bottom\"===i&&t<=Math.floor(a.length/2));else{var r=\"bottom\"===i?t-a.length+n.channels.length:t;n.channels[r].queue[i].forEach((function(s,l){if(s.el){if(a[t].queue[i].push(s),\"bottom\"===i&&s.channel_id[0]+s.channel_id[1]-1===r){var u=[].concat(s.channel_id);s.channel_id=[u[0]-n.channels.length+a.length,u[1]],s.top=s.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(s.top+=n.containerHeight*n.danmu.config.area.start),s.topInit()}s.pauseMove(n.containerPos,e),\"paused\"!==s.danmu.bulletBtn.main.status&&s.startMove(n.containerPos),s.resized||(s.resized=!0)}n.channels[r].queue[i].splice(l,1)}))}}))},d=0;d<a.length;d++)h(d);for(var g=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},p=0;p<a.length;p++)g(p);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}n.resizing=!1}),10))}},{key:\"addBullet\",value:function(e){var t=this,n=this.danmu,i=this.channels,o=void 0,r=void 0,a=void 0;if(\"b2t\"===t.direction?(r=this.channelWidth,a=Math.ceil(e.width/r)):(o=this.channelHeight,a=Math.ceil(e.height/o)),a>i.length)return{result:!1,message:\"exceed channels.length, occupy=\"+a+\",channelsSize=\"+i.length};for(var s=!0,l=void 0,u=-1,c=0,f=i.length;c<f;c++)if(i[c].queue[e.mode].some((function(t){return t.id===e.id})))return{result:!1,message:\"exsited, channelOrder=\"+c+\",danmu_id=\"+e.id};if(\"scroll\"===e.mode)for(var h=0,d=i.length-a;h<=d;h++){s=!0;for(var g=h;g<h+a;g++){if((l=i[g]).operating.scroll){s=!1;break}if(l.bookId.scroll&&l.bookId.scroll!==e.id){s=!1;break}l.operating.scroll=!0;var p=l.queue.scroll[0];if(p){var m=p.el.getBoundingClientRect();if(\"b2t\"===t.direction){if(m.bottom>t.containerPos.bottom){s=!1,l.operating.scroll=!1;break}}else if(m.right>t.containerPos.right){s=!1,l.operating.scroll=!1;break}var v,b=void 0,y=void 0,w=void 0,_=void 0;if(\"b2t\"===t.direction?(y=(m.top-t.containerPos.top+m.height)/(b=(t.containerPos.height+m.height)/p.duration),w=t.containerPos.height,_=(t.containerPos.height+e.height)/e.duration):(y=(m.left-t.containerPos.left+m.width)/(b=(t.containerPos.width+m.width)/p.duration),w=t.containerPos.width,_=(t.containerPos.width+e.width)/e.duration),v=w/_,n.config.bOffset||(n.config.bOffset=0),b<_&&y+n.config.bOffset>v){s=!1,l.operating.scroll=!1;break}}l.operating.scroll=!1}if(s){u=h;break}}else if(\"top\"===e.mode)for(var O=0,k=i.length-a;O<=k;O++){s=!0;for(var x=O;x<O+a;x++){if(x>Math.floor(i.length/2)){s=!1;break}if((l=i[x]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=O;break}}else if(\"bottom\"===e.mode)for(var M=i.length-a;M>=0;M--){s=!0;for(var C=M;C<M+a;C++){if(C<=Math.floor(i.length/2)){s=!1;break}if((l=i[C]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=M;break}}if(-1!==u){for(var E=u,j=u+a;E<j;E++)(l=i[E]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&(delete l.bookId[e.mode],t.logger&&t.logger.info(E+\"号轨道恢复正常使用\")),l.operating[e.mode]=!1;if(e.prior)if(t.logger&&t.logger.info(e.id+\"号优先弹幕运行完毕\"),delete e.bookChannelId,n.player)n.bulletBtn.main.data.some((function(t){return t.id===e.id&&(delete t.bookChannelId,!0)}));return e.channel_id=[u,a],\"b2t\"===t.direction?(e.top=u*r,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerWidth*t.danmu.config.area.start)):(e.top=u*o,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start)),{result:e,message:\"success\"}}if(e.options.realTime){var B=0,T=-1,P=null;if(t.danmu.bulletBtn.main.queue.forEach((function(e,n){!e.prior&&!e.options.realTime&&e.el&&e.el.getBoundingClientRect().left>t.containerPos.right&&e.start>=B&&(B=e.start,T=n,P=e)})),P){P.remove(),t.removeBullet(P),t.danmu.bulletBtn.main.queue.splice(T,1),e.channel_id=P.channel_id;for(var z=P.channel_id[0],S=P.channel_id[0]+P.channel_id[1];z<S;z++)(l=i[z]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&delete l.bookId[e.mode],l.operating[e.mode]=!1;return e.top=P.top,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start),{result:e,message:\"success\"}}}if(e.prior)if(e.bookChannelId||t.danmu.live){if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,!0)}))}else{u=-1;for(var L=0,D=i.length-a;L<=D;L++){s=!0;for(var q=L;q<L+a;q++)if(i[q].bookId[e.mode]){s=!1;break}if(s){u=L;break}}if(-1!==u){for(var R=u;R<u+a;R++)i[R].bookId[e.mode]=e.id,t.logger&&t.logger.info(R+\"号轨道被\"+e.id+\"号优先弹幕预定\");if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,n.bookChannelId=[u,a],t.logger&&t.logger.info(e.id+\"号优先弹幕预定了\"+u+\"~\"+(u+a-1)+\"号轨道\"),!0)}))}}return{result:!1,message:\"no surplus will right\"}}},{key:\"removeBullet\",value:function(e){this.logger&&this.logger.info(\"removeBullet \"+(e.options.txt||\"[DOM Element]\"));for(var t=this.channels,n=e.channel_id,i=void 0,o=n[0],r=n[0]+n[1];o<r;o++)if(i=t[o]){i.operating[e.mode]=!0;var a=-1;i.queue[e.mode].some((function(t,n){return t.id===e.id&&(a=n,!0)})),a>-1&&i.queue[e.mode].splice(a,1),i.operating[e.mode]=!1}e.options.loop&&this.danmu.bulletBtn.main.playedData.push(e.options)}},{key:\"resetArea\",value:function(){this.logger&&this.logger.info(\"resetArea\");var e=this.danmu.container,t=this,n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,t.danmu.config.area&&t.danmu.config.area.start>=0&&t.danmu.config.area.end>=t.danmu.config.area.start&&(\"b2t\"===t.direction?t.width=t.width*(t.danmu.config.area.end-t.danmu.config.area.start):t.height=t.height*(t.danmu.config.area.end-t.danmu.config.area.start)),t.container=e;var i=t.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===t.direction?Math.floor(t.width/i):Math.floor(t.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(t.channels&&t.channels.length<=r.length){for(var s=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(n){t.channels[e].queue[n].forEach((function(i){i.el&&(r[e].queue[n].push(i),i.resized||(i.pauseMove(t.containerPos,!1),i.startMove(t.containerPos),i.resized=!0))}))})),t.channels[e].queue.bottom.forEach((function(n){if(n.el){if(r[e+r.length-t.channels.length].queue.bottom.push(n),n.channel_id[0]+n.channel_id[1]-1===e){var o=[].concat(n.channel_id);n.channel_id=[o[0]-t.channels.length+r.length,o[1]],n.top=n.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(n.top+=t.containerHeight*t.danmu.config.area.start),n.topInit()}n.resized||(n.pauseMove(t.containerPos,!1),n.startMove(t.containerPos),n.resized=!0)}}))},l=0;l<t.channels.length;l++)s(l);for(var u=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},c=0;c<r.length;c++)u(c);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}else if(t.channels&&t.channels.length>r.length){for(var f=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(n){if(\"top\"===n&&e>Math.floor(r.length/2));else if(\"bottom\"===n&&e<=Math.floor(r.length/2));else{var o=\"bottom\"===n?e-r.length+t.channels.length:e;t.channels[o].queue[n].forEach((function(a,s){if(a.el){if(r[e].queue[n].push(a),\"bottom\"===n&&a.channel_id[0]+a.channel_id[1]-1===o){var l=[].concat(a.channel_id);a.channel_id=[l[0]-t.channels.length+r.length,l[1]],a.top=a.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(a.top+=t.containerHeight*t.danmu.config.area.start),a.topInit()}a.resized||(a.pauseMove(t.containerPos,!1),a.startMove(t.containerPos),a.resized=!0)}t.channels[o].queue[n].splice(s,1)}))}}))},h=0;h<r.length;h++)f(h);for(var d=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},g=0;g<r.length;g++)d(g);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}}},{key:\"reset\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"reset\");var t=this.danmu.container,n=this;function i(){var e=t.getBoundingClientRect();n.width=e.width,n.height=e.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var i=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===n.direction?Math.floor(n.width/i):Math.floor(n.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};n.channels=r,\"b2t\"===n.direction?n.channelWidth=i:n.channelHeight=i}n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.queue.forEach((function(e){e.pauseMove(n.containerPos),e.remove()})),n.channels&&n.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<n.channels.length;t++)n.channels[t].queue[e].forEach((function(e){e.pauseMove(n.containerPos),e.remove()}))})),n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.hasAttached=!1})),e?this.resetTimer=setTimeout(i,200):i()}},{key:\"resetWithCb\",value:function(e,t){this.logger&&this.logger.info(\"resetWithCb\");var n=this.danmu.container,i=this;i.channels&&i.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<i.channels.length;t++)i.channels[t].queue[e].forEach((function(e){e.pauseMove(i.containerPos),e.remove()}))}));var o=n.getBoundingClientRect();i.width=o.width,i.height=o.height,i.danmu.config.area&&i.danmu.config.area.start>=0&&i.danmu.config.area.end>=i.danmu.config.area.start&&(\"b2t\"===i.direction?i.width=i.width*(i.danmu.config.area.end-i.danmu.config.area.start):i.height=i.height*(i.danmu.config.area.end-i.danmu.config.area.start)),i.container=n;var r=i.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),a=void 0;a=\"b2t\"===i.direction?Math.floor(i.width/r):Math.floor(i.height/r);for(var s=[],l=0;l<a;l++)s[l]={id:l,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};i.channels=s,i.channelHeight=r,e&&e(!0,t)}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));i.setLogger(\"bullet\"),i.danmu=e,i.options=n,i.duration=n.duration,i.moveV=n.moveV,i.id=n.id,i.container=e.container,i.start=n.start,i.prior=n.prior,i.color=n.color,i.bookChannelId=n.bookChannelId,i.direction=e.direction;var o=i;i.onChangeDirection=function(e){o.direction=e},i.danmu.on(\"changeDirection\",i.onChangeDirection);var a=void 0;if(i.domObj=e.domObj,n.el&&1===n.el.nodeType){a=i.domObj.use();var s=r.default.copyDom(n.el);n.eventListeners&&n.eventListeners.length>0&&n.eventListeners.forEach((function(e){s.addEventListener(e.event,e.listener,e.useCapture||!1)})),a.appendChild(s)}else(a=i.domObj.use()).textContent=n.txt;if(n.style){var l=n.style;Object.keys(l).forEach((function(e){r.default.style(a,e,l[e])}))}\"top\"===n.mode||\"bottom\"===n.mode?i.mode=n.mode:i.mode=\"scroll\",i.el=a,n.like&&n.like.el&&i.setLikeDom(n.like.el,n.like.style),i.status=\"waiting\";var u=i.container.getBoundingClientRect(),c=Math.floor(Math.random()*(u.width/10>100?200:u.width/10));n.realTime&&(c=0);var f=u.width+c+\"px\";return r.default.style(i.el,\"left\",f),i.containerPos=u,i}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"attach\",value:function(){if(this.container.appendChild(this.el),this.elPos=this.el.getBoundingClientRect(),\"b2t\"===this.direction?(this.width=this.elPos.height,this.height=this.elPos.width):(this.width=this.elPos.width,this.height=this.elPos.height),this.moveV){var e=this.containerPos;this.duration=(e.width+this.width)/this.moveV*1e3}this.danmu.config&&this.danmu.config.mouseControl&&(this.mouseoverFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseover\",this.mouseoverFunWrapper,!1)),this.danmu.config&&this.danmu.config.mouseEnterControl&&(this.mouseEnterFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1))}},{key:\"mouseoverFun\",value:function(e){this.danmu&&this.danmu.mouseControl&&this.danmu.config.mouseControlPause||\"waiting\"===this.status||\"end\"===this.status||this.danmu&&this.danmu.emit(\"bullet_hover\",{bullet:this,event:e})}},{key:\"detach\",value:function(){this.el&&(this.danmu.config&&this.danmu.config.mouseControl&&this.el.removeEventListener(\"mouseover\",this.mouseoverFunWrapper,!1),this.danmu.config&&this.danmu.config.mouseEnterControl&&this.el.removeEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.domObj.unuse(this.el),this.el=null),this.danmu.off(\"changeDirection\",this.onChangeDirection)}},{key:\"topInit\",value:function(){if(this.logger&&this.logger.info(\"topInit #\"+(this.options.txt||\"[DOM Element]\")+\"#\"),\"b2t\"===this.direction){var e=this.containerPos;r.default.style(this.el,\"transformOrigin\",\"left top\"),r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+e.height+\"px) translateZ(0px) rotate(90deg)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else r.default.style(this.el,\"top\",this.top+\"px\")}},{key:\"pauseMove\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.logger&&this.logger.info(\"pauseMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(\"paused\"!==this.status&&(\"forcedPause\"!==n.status&&(this.status=\"paused\"),clearTimeout(n.removeTimer),this.el))if(r.default.style(this.el,\"willChange\",\"auto\"),\"scroll\"===this.mode){if(t){var i=((new Date).getTime()-n.moveTime)/1e3,o=i*this.moveV,a=0;a=n.moveMoreS-o>=0?\"b2t\"===this.direction?(n.moveMoreS-o)/n.moveContainerHeight*e.height:(n.moveMoreS-o)/n.moveContainerWidth*e.width:n.moveMoreS-o,\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+a+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",a+\"px\")}else\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+(this.el.getBoundingClientRect().top-e.top)+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",this.el.getBoundingClientRect().left-e.left+\"px\");\"b2t\"===this.direction||r.default.style(this.el,\"transform\",\"translateX(0px) translateY(0px) translateZ(0px)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else this.pastDuration&&this.startTime?this.pastDuration=this.pastDuration+(new Date).getTime()-this.startTime:this.pastDuration=1}},{key:\"startMove\",value:function(e,t){this.logger&&this.logger.info(\"startMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(n.hasMove||(n.danmu.emit(\"bullet_start\",n),n.hasMove=!0),(\"forcedPause\"!==n.status||t)&&this.el&&\"start\"!==this.status)if(this.status=\"start\",r.default.style(this.el,\"willChange\",\"transform\"),\"scroll\"===this.mode)if(\"b2t\"===this.direction){this.moveV=(e.height+this.height)/this.duration*1e3;var i=(n.el.getBoundingClientRect().bottom-e.top)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+i+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){n.el&&(r.default.style(n.el,\"transform\",\"translateX(-\"+n.top+\"px) translateY(-\"+n.height+\"px) translateZ(0px) rotate(90deg)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=n.el.getBoundingClientRect().top-e.top,n.moveContainerHeight=e.height,n.removeTimer=setTimeout(l,1e3*i))}),20)}else{var o=this.el.getBoundingClientRect();this.moveV=(e.width+this.width)/this.duration*1e3;var a=(o.right-e.left)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+a+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){if(n.el){var t=n.el.getBoundingClientRect(),i=(t.right-e.left)/a;t.right>e.left&&i>n.moveV-1&&i<n.moveV+1?(r.default.style(n.el,\"transform\",\"translateX(-\"+(t.right-e.left)+\"px) translateY(0px) translateZ(0px)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=t.left-e.left,n.moveContainerWidth=e.width,n.removeTimer=setTimeout(l,1e3*a)):(n.status=\"end\",n.remove())}}),0)}else{r.default.style(this.el,\"left\",\"50%\"),r.default.style(this.el,\"margin\",\"0 0 0 -\"+this.width/2+\"px\"),this.pastDuration||(this.pastDuration=1);var s=this.duration>=this.pastDuration?this.duration-this.pastDuration:0;this.removeTimer=setTimeout(l,s),this.startTime=(new Date).getTime()}function l(){if(n.el)if(\"scroll\"===n.mode){var e=n.containerPos,t=n.el.getBoundingClientRect();\"b2t\"===n.direction?t&&t.bottom<=e.top+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e)):t&&t.right<=e.left+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e))}else n.status=\"end\",n.remove()}}},{key:\"remove\",value:function(){this.logger&&this.logger.info(\"remove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");this.removeTimer&&clearTimeout(this.removeTimer),this.startMoveTimer&&clearTimeout(this.startMoveTimer),this.el&&this.el.parentNode&&(r.default.style(this.el,\"willChange\",\"auto\"),this.detach(),this.danmu.emit(\"bullet_remove\",{bullet:this}))}},{key:\"setFontSize\",value:function(e){this.el&&(this.el.style.fontSize=e)}},{key:\"setLikeDom\",value:function(e,t){if(e){Object.keys(t).forEach((function(n){e.style[n]=t[n]}));if(e.className=\"danmu-like\",this.el){var n=this.el.querySelector(\".danmu-like\");n&&this.el.removeChild(n),this.el.innerHTML=\"\"+this.el.innerHTML+e.outerHTML}}return e}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(0),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),t={initDOM:function(){return document.createElement(\"div\")},initSize:10},this.init(t)}return o(e,[{key:\"init\",value:function(e){this.idleList=[],this.usingList=[],this._id=0,this.options=e,this._expand(e.initSize)}},{key:\"use\",value:function(){this.idleList.length||this._expand(1);var e=this.idleList.shift();return this.usingList.push(e),e}},{key:\"unuse\",value:function(e){var t=this.usingList.indexOf(e);t<0||(this.usingList.splice(t,1),e.innerHTML=\"\",e.textcontent=\"\",this.clearElementStyle(e),this.idleList.push(e))}},{key:\"_expand\",value:function(e){for(var t=0;t<e;t++)this.idleList.push(this.options.initDOM(this._id++))}},{key:\"destroy\",value:function(){for(var e=0;e<this.idleList.length;e++)this.idleList[e].innerHTML=\"\",this.idleList[e].textcontent=\"\",this.clearElementStyle(this.idleList[e]);for(var t=0;t<this.usingList.length;t++)this.usingList[t].innerHTML=\"\",this.usingList[t].textcontent=\"\",this.clearElementStyle(this.usingList[t]);for(var n in this)delete this[n]}},{key:\"clearElementStyle\",value:function(e){var t=\"undefined\"!=typeof window?window.navigator.userAgent:null;t&&(t.indexOf(\"MSIE \")>-1||t.indexOf(\"Trident/\")>-1?a.default.style(e,\"transform\",\"none\"):e.setAttribute(\"style\",\"\"))}}]),e}();t.default=s,e.exports=t.default},function(e){e.exports=JSON.parse('{\"version\":\"0.5.10\"}')},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=new(function(){function e(){var t=this;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.__handlers=[],window.ResizeObserver)try{this.observer=new window.ResizeObserver((function(e){var n=(new Date).getTime();n-t.timeStampe<200||(t.timeStampe=n,t.__trigger(e))})),this.timeStampe=(new Date).getTime()}catch(e){}}return i(e,[{key:\"addObserver\",value:function(e,t){if(this.observer){this.observer&&this.observer.observe(e);for(var n=this.__handlers,i=-1,o=0;o<n.length;o++)n[o]&&e===n[o].target&&(i=o);i>-1?this.__handlers[i].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:\"unObserver\",value:function(e){var t=-1;this.__handlers.map((function(n,i){e===n.target&&(t=i)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(e){for(var t=this.__handlers,n=0;n<t.length;n++)if(t[n]&&e===t[n].target){t[n].handler&&t[n].handler.map((function(e){try{e()}catch(e){console.error(e)}}));break}}},{key:\"__trigger\",value:function(e){var t=this;e.map((function(e){t.__runHandler(e.target)}))}}]),e}());t.addObserver=function(e,t){o.addObserver(e,t)},t.unObserver=function(e,t){o.unObserver(e,t)},t.destroyObserver=function(e,t){o.destroyObserver(e,t)}},function(e,t,n){var i=n(35);\"string\"==typeof i&&(i=[[e.i,i,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(37)(i,o);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(36)(!1)).push([e.i,\".danmu{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#ffffff;-webkit-box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=(a=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),r=i.sources.map((function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"}));return[n].concat(r).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var r=this[o][0];\"number\"==typeof r&&(i[r]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){var i,o,r={},a=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=i.apply(this,arguments)),o}),s=function(e){return document.querySelector(e)},l=function(e){var t={};return function(e){if(\"function\"==typeof e)return e();if(void 0===t[e]){var n=s.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,c=0,f=[],h=n(38);function d(e,t){for(var n=0;n<e.length;n++){var i=e[n],o=r[i.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](i.parts[a]);for(;a<i.parts.length;a++)o.parts.push(y(i.parts[a],t))}else{var s=[];for(a=0;a<i.parts.length;a++)s.push(y(i.parts[a],t));r[i.id]={id:i.id,refs:1,parts:s}}}}function g(e,t){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=t.base?r[0]+t.base:r[0],s={css:r[1],media:r[2],sourceMap:r[3]};i[a]?i[a].parts.push(s):n.push(i[a]={id:a,parts:[s]})}return n}function p(e,t){var n=l(e.insertInto);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var i=f[f.length-1];if(\"top\"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),f.push(t);else if(\"bottom\"===e.insertAt)n.appendChild(t);else{if(\"object\"!=typeof e.insertAt||!e.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var o=l(e.insertInto+\" \"+e.insertAt.before);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=f.indexOf(e);t>=0&&f.splice(t,1)}function v(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),b(t,e.attrs),p(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,i,o,r;if(t.transform&&e.css){if(!(r=t.transform(e.css)))return function(){};e.css=r}if(t.singleton){var a=c++;n=u||(u=v(t)),i=O.bind(null,n,a,!1),o=O.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",b(t,e.attrs),p(e,t),t}(t),i=x.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=k.bind(null,n),o=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=g(e,t);return d(n,t),function(e){for(var i=[],o=0;o<n.length;o++){var a=n[o];(s=r[a.id]).refs--,i.push(s)}e&&d(g(e,t),t);for(o=0;o<i.length;o++){var s;if(0===(s=i[o]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete r[s.id]}}}};var w,_=(w=[],function(e,t){return w[e]=t,w.filter(Boolean).join(\"\\n\")});function O(e,t,n,i){var o=n?\"\":i.css;if(e.styleSheet)e.styleSheet.cssText=_(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function k(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute(\"media\",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function x(e,t,n){var i=n.css,o=n.sourceMap,r=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||r)&&(i=h(i)),o&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([i],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,i=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,(function(e,t){var o,r=t.trim().replace(/^\"(.*)\"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(r)?e:(o=0===r.indexOf(\"//\")?r:0===r.indexOf(\"/\")?n+r:i+r.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\")}))}}])}));\n//# sourceMappingURL=index.js.map","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 40 40\\\" width=\\\"40\\\" height=\\\"40\\\">\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z\\\"/>\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .danmu-switch{-webkit-order:6;-moz-box-ordinal-group:7;order:6;z-index:26}.xgplayer-skin-default .xgplayer-danmu{display:none;position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:9;outline:none}.xgplayer-skin-default .xgplayer-danmu>*{position:absolute;white-space:nowrap;z-index:9}.xgplayer-skin-default .xgplayer-danmu.xgplayer-has-danmu{display:block}.xgplayer-skin-default .xgplayer-panel{outline:none;-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:40px;height:40px;display:inline-block;position:relative;font-family:PingFangSC-Regular;font-size:13px;color:hsla(0,0%,100%,.8);z-index:36}.xgplayer-skin-default .xgplayer-panel .xgplayer-panel-icon{cursor:pointer;position:absolute;margin-left:5px;top:10px}.xgplayer-skin-default .xgplayer-panel-active{display:block!important;bottom:30px}.xgplayer-skin-default .xgplayer-panel-slider{z-index:36;display:none;position:absolute;width:230px;height:230px;background:rgba(0,0,0,.54);border-radius:1px;padding:10px 20px;outline:none;left:-115px;bottom:40px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode{padding-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-radio li{display:inline;list-style:none;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode ul{display:-webkit-flex;display:-moz-box;display:flex;-webkit-justify-content:space-around;justify-content:space-around}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode li{margin:0 12px;font-size:11px;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-font{margin-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency{display:block;margin-top:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-progress{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,#f85959,#f85959 100%,#aaa)}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea{display:block;margin-top:8px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-threequarters,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-twoquarters{margin-left:-6px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-full{margin-right:3px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-full-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-onequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-threequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-twoquarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-zero-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/pip.scss'\n\nlet s_pip = function () {\n let player = this\n if (!player.config.pip || typeof player.video.requestPictureInPicture !== 'function') { return }\n let pip = player.lang.PIP\n let btn = createDom('xg-pip', `<p class=\"name\"><span>${pip}</span></p>`, {tabindex: 9}, 'xgplayer-pip')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('pipBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_pip',\n method: s_pip\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-pip{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-pip .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-pip .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.lang-is-jp .xgplayer-pip .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/miniplayer.scss'\n\nlet s_miniplayer = function () {\n let player = this\n if (!player.config.miniplayer) { return }\n let miniplayer = player.lang.MINIPLAYER\n let btn = createDom('xg-miniplayer', `<p class=\"name\"><span>${miniplayer}</span></p>`, {tabindex: 9}, 'xgplayer-miniplayer')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('miniplayerBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_miniplayer',\n method: s_miniplayer\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-miniplayer{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-miniplayer .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-miniplayer .name span{width:80px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-miniplayer-lay{position:absolute;top:26px;left:0;width:100%;height:100%;z-index:130;cursor:pointer;background-color:transparent;display:none}.xgplayer-skin-default .xgplayer-miniplayer-lay div{width:100%;height:100%}.xgplayer-skin-default .xgplayer-miniplayer-drag{cursor:move;position:absolute;top:0;left:0;width:100%;height:26px;line-height:26px;background-image:linear-gradient(rgba(0,0,0,.3),transparent);z-index:130;display:none}.xgplayer-skin-default .xgplayer-miniplayer-drag .drag-handle{width:100%}.xgplayer-skin-default.xgplayer-miniplayer-active{position:fixed;right:0;bottom:200px;width:320px;height:180px;z-index:110}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-controls,.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-danmu{display:none}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-lay{display:block}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-drag{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default.xgplayer-inactive .xgplayer-miniplayer-drag{display:none}.lang-is-jp .xgplayer-miniplayer .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom, addClass } from '../../utils/util'\nimport PlayNextIcon from '../assets/playNext.svg'\nimport '../style/controls/playNext.scss'\n\nlet s_playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n if (!nextBtn || !nextBtn.urlList) { return }\n let btn = createDom('xg-playnext', `<xg-icon class=\"xgplayer-icon\">${PlayNextIcon}</xg-icon>`, {}, 'xgplayer-playnext')\n let tipsText = player.lang.PLAYNEXT_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-playnext\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-is-enter')\n player.userGestureTrigEvent('playNextBtnClick')\n })\n })\n\n let onUrlListEnd = function () {\n addClass(player.root, 'xgplayer-playnext-inactive')\n }\n player.on('urlListEnd', onUrlListEnd)\n\n function onDestroy () {\n player.off('urlListEnd', onUrlListEnd)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_playNext',\n method: s_playNext\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.038 0.028)\\\" d=\\\"M800 380v768h-128v-352l-320 320v-704l320 320v-352z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playnext{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;cursor:pointer;top:-2px}.xgplayer-skin-default .xgplayer-playnext .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-playnext .xgplayer-tips .xgplayer-tip-playnext{display:block}.xgplayer-skin-default .xgplayer-playnext:hover{opacity:.85}.xgplayer-skin-default .xgplayer-playnext:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-playnext .xgplayer-tips{margin-left:-25px}.xgplayer-lang-is-jp .xgplayer-playnext .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default.xgplayer-playnext-inactive .xgplayer-playnext{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RotateIcon from '../assets/rotate.svg'\nimport '../style/controls/rotate.scss'\n\nlet s_rotate = function () {\n let player = this\n if (!player.config.rotate) { return }\n let btn = createDom('xg-rotate', `<xg-icon class=\"xgplayer-icon\">${RotateIcon}</xg-icon>`, {}, 'xgplayer-rotate')\n\n let tipsText = player.lang.ROTATE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-rotate\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('rotateBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_rotate',\n method: s_rotate\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\">\\n <g clip-path=\\\"url(#clip0)\\\">\\n <path transform=\\\"scale(1.5 1.5)\\\" d=\\\"M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z\\\" fill=\\\"white\\\"/>\\n <path transform=\\\"scale(1.5 1.5)\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z\\\" fill=\\\"white\\\"/>\\n </g>\\n <defs>\\n <clipPath id=\\\"clip0\\\">\\n <rect width=\\\"40\\\" height=\\\"40\\\" fill=\\\"white\\\"/>\\n </clipPath>\\n </defs>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-rotate{position:relative;-webkit-order:10;-moz-box-ordinal-group:11;order:10;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips .xgplayer-tip-rotate{display:block}.xgplayer-skin-default .xgplayer-rotate:hover{opacity:.85}.xgplayer-skin-default .xgplayer-rotate:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-rotate .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-rotate .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReloadIcon from '../assets/reload.svg'\nimport '../style/controls/reload.scss'\n\nlet s_reload = function () {\n let player = this\n if (!player.config.reload) { return }\n let btn = createDom('xg-reload', `<xg-icon class=\"xgplayer-icon\">${ReloadIcon}</xg-icon>`, {}, 'xgplayer-reload')\n\n let tipsText = player.lang.RELOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-reload\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('reloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_reload',\n method: s_reload\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path fill=\\\"#FFF\\\" fill-opacity=\\\"1\\\" fill-rule=\\\"nonzero\\\" d=\\\"M18.17 19.988a7.182 7.182 0 0 1-4.256 1.318 7.806 7.806 0 0 1-.595-.03c-.08-.008-.16-.021-.242-.031a8.004 8.004 0 0 1-.458-.071c-.094-.018-.185-.042-.276-.063a7.743 7.743 0 0 1-.439-.113c-.068-.022-.136-.047-.205-.07a7.03 7.03 0 0 1-.492-.181c-.037-.015-.072-.032-.108-.049a7.295 7.295 0 0 1-.554-.269l-.025-.012a7.347 7.347 0 0 1-2.111-1.753c-.03-.036-.057-.074-.086-.11a7.305 7.305 0 0 1-1.594-4.557h1.686a.123.123 0 0 0 .108-.064.119.119 0 0 0-.006-.125L5.684 9.532a.123.123 0 0 0-.103-.056.123.123 0 0 0-.102.056l-2.834 4.276a.121.121 0 0 0-.005.125c.022.04.064.064.107.064h1.687c0 2.025.627 3.902 1.693 5.454.013.021.022.044.037.066.11.159.233.305.352.455.043.057.085.116.13.171.175.213.36.413.55.61.02.018.036.038.054.055a9.447 9.447 0 0 0 2.91 1.996c.058.026.115.054.175.079.202.084.41.158.619.228.098.034.196.069.296.1.183.054.37.1.558.145.125.029.249.06.376.085.052.01.102.027.155.035.177.032.355.05.533.071.064.007.128.018.19.026.32.03.639.052.956.052a9.46 9.46 0 0 0 5.47-1.746 1.16 1.16 0 0 0 .282-1.608 1.143 1.143 0 0 0-1.6-.283zm5.397-5.991a9.604 9.604 0 0 0-1.685-5.441c-.016-.027-.026-.054-.043-.078-.132-.19-.276-.366-.419-.543-.017-.022-.032-.044-.05-.065a9.467 9.467 0 0 0-3.571-2.7l-.114-.051a11.2 11.2 0 0 0-.673-.248c-.082-.027-.163-.057-.247-.082a9.188 9.188 0 0 0-.6-.156c-.113-.026-.224-.055-.337-.077-.057-.011-.109-.028-.164-.037-.151-.027-.304-.039-.455-.058-.104-.013-.208-.03-.313-.04a10.05 10.05 0 0 0-.759-.039c-.045 0-.09-.007-.136-.007l-.025.003a9.45 9.45 0 0 0-5.46 1.737 1.16 1.16 0 0 0-.284 1.608c.363.523 1.08.65 1.6.284a7.182 7.182 0 0 1 4.222-1.32c.217.002.429.013.639.033.065.007.129.017.193.025.173.021.344.046.513.08.075.014.149.033.221.05.166.037.331.077.494.127l.152.051c.185.061.366.127.545.201l.054.025a7.308 7.308 0 0 1 2.741 2.067l.013.018a7.302 7.302 0 0 1 1.652 4.633h-1.686a.123.123 0 0 0-.108.064.12.12 0 0 0 .006.124l2.834 4.277c.022.033.06.054.103.054.042 0 .08-.021.102-.054l2.833-4.277a.12.12 0 0 0 .005-.124.123.123 0 0 0-.108-.064h-1.685z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-reload{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;width:40px;height:40px;cursor:pointer}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips .xgplayer-tip-reload{display:block}.xgplayer-skin-default .xgplayer-reload:hover{opacity:.85}.xgplayer-skin-default .xgplayer-reload:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-reload .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-reload .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/screenShot.scss'\n\nlet s_screenShot = function () {\n let player = this\n if (!player.config.screenShot || player.config.screenShot.hideButton) {\n return\n }\n let screenShotText = player.lang.SCREENSHOT\n let btn = createDom('xg-screenshot', `<p class=\"name\"><span>${player.config.screenShot.iconText || screenShotText}</span></p>`, {tabindex: 11}, 'xgplayer-screenshot')\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('screenShotBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_screenShot',\n method: s_screenShot\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-screenshot{-webkit-order:11;-moz-box-ordinal-group:12;order:11;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-screenshot .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-screenshot .name span{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0 10px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-lang-is-en .xgplayer-screenshot .name span,.xgplayer-lang-is-jp .xgplayer-screenshot .name span{width:75px;height:20px}\", \"\"]);\n\n// exports\n","import Player from '../../player'\nimport '../style/controls/textTrack.scss'\n\nlet s_nativeTextTrack = function () {\n if (!this.config.nativeTextTrack) {\n return\n }\n let player = this\n let root = player.root\n let util = Player.util\n let container = util.createDom('xg-texttrack', '', {tabindex: 7}, 'xgplayer-texttrack')\n let list = player.config.nativeTextTrack\n if (list && Array.isArray(list) && list.length > 0) {\n util.addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', function () {\n let tmp = ['<ul>']\n tmp.push(`<li class='${this.textTrackShowDefault ? '' : 'selected'}'}'>${player.lang.OFF}</li>`)\n list.forEach(item => {\n tmp.push(`<li class='${item.default && this.textTrackShowDefault ? 'selected' : ''}'>${item.label}</li>`)\n })\n let controlText = player.lang.TEXTTRACK\n tmp.push(`</ul><p class=\"name\">${controlText}</p>`)\n\n let urlInRoot = root.querySelector('.xgplayer-texttrack')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(root, 'xgplayer-texttrack-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n })\n };\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n util.removeClass(item, 'selected')\n })\n util.addClass(li, 'selected')\n let trackDoms = player.root.getElementsByTagName('Track')\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n trackDoms[0].style.display = 'block'\n util.addClass(player.root, 'xgplayer-texttrack-active')\n trackDoms[0].track.mode = 'showing'\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n player.emit('textTrackChange', li.innerHTML)\n }\n } else if (player.config.textTrackActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n }\n }, false)\n })\n\n player.on('play', () => {\n let ul = root.querySelector('.xgplayer-texttrack ul')\n let trackDoms = root.getElementsByTagName('Track')\n if (!player['hls'] || !ul || !trackDoms) return\n trackDoms[0].src = ''\n Array.prototype.forEach.call(ul.childNodes, li => {\n if (util.hasClass(li, 'selected')) {\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n } else {\n trackDoms[0].track.mode = 'hidden'\n\n list.some(item => {\n if (item.label !== li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n setTimeout(() => {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n trackDoms[0].track.mode = 'showing'\n })\n return true\n }\n })\n }\n }\n })\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n}\n\nexport default {\n name: 's_nativeTextTrack',\n method: s_nativeTextTrack\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-texttrack{-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-texttrack ul{display:none;list-style:none;min-width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;text-align:center;white-space:nowrap;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-texttrack ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;padding:6px 13px}.xgplayer-skin-default .xgplayer-texttrack ul li.selected,.xgplayer-skin-default .xgplayer-texttrack ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-texttrack .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-texttrack.xgplayer-texttrack-hide{display:none}xg-text-track{transition:bottom .3s ease}.xgplayer-skin-default.xgplayer-is-texttrack .xgplayer-texttrack,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-texttrack ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass } from '../../utils/util'\nimport '../style/controls/textTrack.scss'\n\nfunction renderList (root, textTrack, offText, isDefaultShow) {\n if (textTrack.length === 0) {\n root.innerHTML = ''\n return\n }\n let tmp = []\n tmp.push(`<li data-type=\"off\" class=\"${isDefaultShow ? '' : 'selected'}\">${offText}</li>`)\n textTrack.forEach(item => {\n tmp.push(`<li data-id=${item.id} data-language=${item.language} class=\"${item.isDefault && isDefaultShow ? 'selected' : ''}\">${item.label}</li>`)\n })\n root.innerHTML = tmp.join('')\n}\n\n// eslint-disable-next-line camelcase\nlet s_textTrack = function () {\n let player = this\n if (!this.config.textTrack) {\n return\n }\n let textTrack = this.config.textTrack\n let controlText = player.lang.TEXTTRACK\n const container = createDom('xg-texttrack', `<ul></ul><p class=\"name\">${controlText}</p>`, {tabindex: 7}, 'xgplayer-texttrack')\n\n function onCanPlay () {\n const urlInRoot = player.root.querySelector('.xgplayer-texttrack')\n if (!urlInRoot) {\n player.controls.appendChild(container)\n const cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-texttrack-active')\n })\n } else {\n cur.addEventListener('click', e => {\n e.preventDefault()\n e.stopPropagation()\n if (hasClass(player.root, 'xgplayer-texttrack-active')) {\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n })\n }\n }\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n const id = li.getAttribute('data-id')\n const type = li.getAttribute('data-type')\n const language = li.getAttribute('data-language')\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n removeClass(item, 'selected')\n })\n addClass(li, 'selected')\n if (type === 'off') {\n player.switchOffSubtile()\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n player.switchSubTitle({id, language})\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n }\n })\n })\n\n const ul = container.getElementsByTagName('ul')[0]\n renderList(ul, textTrack, player.lang.OFF, player.textTrackShowDefault)\n if (textTrack.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n const onListUpdate = function (data) {\n if (!data.isListUpdate) return\n const ul = container.getElementsByTagName('ul')[0]\n textTrack = data.list\n renderList(ul, data.list, player.lang.OFF, player.textTrackShowDefault)\n data.list.length > 0 ? addClass(player.root, 'xgplayer-is-texttrack') : removeClass(player.root, 'xgplayer-is-texttrack')\n if (data.list.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n if (textTrack && Array.isArray(textTrack)) {\n textTrack.length > 0 && addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', onCanPlay)\n player.on('subtitle_change', onListUpdate)\n }\n}\n\nexport default {\n name: 's_textTrack',\n method: s_textTrack\n}\n","import { addClass, removeClass, createDom } from '../../utils/util'\nimport '../style/controls/error.scss'\n\nlet s_error = function () {\n let player = this\n let root = player.root\n\n let error = createDom('xg-error', '<span class=\"xgplayer-error-text\">请<span class=\"xgplayer-error-refresh\">刷新</span>试试</span>', {}, 'xgplayer-error')\n player.once('ready', () => {\n root.appendChild(error)\n });\n\n let text = error.querySelector('.xgplayer-error-text')\n if (player.config.lang && player.config.lang === 'zh-cn') {\n text.innerHTML = player.config.errorTips || `请<span class=\"xgplayer-error-refresh\">刷新</span>试试`\n } else {\n text.innerHTML = player.config.errorTips || `please try to <span class=\"xgplayer-error-refresh\">refresh</span>`\n }\n let refresh = null\n\n function onError () {\n // player.controls.style.display = 'none'\n // if (player.error) {\n // text.innerHTML = player.error\n // } else {\n \n // }\n addClass(player.root, 'xgplayer-is-error')\n refresh = error.querySelector('.xgplayer-error-refresh')\n if (refresh) {\n ['touchend', 'click'].forEach(item => {\n refresh.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.autoplay = true\n let currentTime = player.currentTime\n player.once('playing', () => {\n player.currentTime = currentTime\n removeClass(player.root, 'xgplayer-is-error')\n })\n player.src = player.config.url\n })\n })\n }\n }\n player.on('error', onError)\n function onDestroy () {\n player.off('error', onError)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_error',\n method: s_error\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-error{background:#000;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:125;font-family:PingFangSC-Regular;font-size:14px;color:#fff;text-align:center;line-height:100%;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}.xgplayer-skin-default .xgplayer-error .xgplayer-error-refresh{color:#fa1f41;padding:0 3px;cursor:pointer}.xgplayer-skin-default .xgplayer-error .xgplayer-error-text{line-height:18px;margin:auto 6px}.xgplayer-skin-default.xgplayer-is-error .xgplayer-error{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/memoryPlay.scss'\n\nlet s_memoryPlay = function () {\n let player = this\n let lastPlayTime = player.config.lastPlayTime || 0\n let lastPlayTimeHideDelay = player.config.lastPlayTimeHideDelay || 0\n let dom = null\n if (lastPlayTime <= 0) {\n return\n }\n dom = createDom('xg-memoryplay', `<div class=\"xgplayer-memoryplay-spot\"><div class=\"xgplayer-progress-tip\">您上次观看到 <span class=\"xgplayer-lasttime\">${format(lastPlayTime)}</span> ,为您自动续播 <span class=\"btn-close\"><svg viewBox=\"64 64 896 896\" focusable=\"false\" class=\"\" data-icon=\"close\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg></span></div></div>`, {}, 'xgplayer-memoryplay');\n dom.addEventListener('mouseover', (e) => {\n e.stopPropagation();\n });\n const removeFunc = () => {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n dom = null\n }\n dom.querySelector('.xgplayer-progress-tip .btn-close').addEventListener('click', removeFunc)\n const handlePlay = () => {\n if(lastPlayTimeHideDelay > 0) {\n player.root.appendChild(dom);\n }\n player.emit('memoryPlayStart', lastPlayTime);\n if (lastPlayTimeHideDelay > 0) {\n setTimeout(() => {\n removeFunc()\n }, lastPlayTimeHideDelay * 1000)\n }\n }\n player.once('playing', handlePlay)\n player.once('ended', removeFunc)\n}\n\nexport default {\n name: 's_memoryPlay',\n method: s_memoryPlay\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-memoryplay-spot{position:absolute;height:32px;left:10px;bottom:46px;background:rgba(0,0,0,.5);border-radius:32px;line-height:32px;color:#ddd;z-index:15;padding:0 32px 0 16px}.xgplayer-skin-default .xgplayer-memoryplay-spot .xgplayer-lasttime{color:red;font-weight:700}.xgplayer-skin-default .xgplayer-memoryplay-spot .btn-close{position:absolute;width:16px;height:16px;right:10px;top:2px;cursor:pointer;color:#fff;font-size:16px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport AirplayIcon from '../assets/airplay.svg'\nimport '../style/controls/airplay.scss'\n\nlet s_airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n let btn = createDom('xg-airplay', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-airplay\">${AirplayIcon}</div>\n </xg-icon>`, {}, 'xgplayer-airplay')\n\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-airplay\">${player.lang.AIRPLAY_TIPS}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n player.video.addEventListener('webkitplaybacktargetavailabilitychanged',\n event => {\n switch (event.availability) {\n case \"available\":\n btn.hidden = false;\n btn.disabled = false;\n break;\n case \"not-available\":\n btn.hidden = true;\n btn.disabled = true;\n break;\n }\n });\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('airplayBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_airplay',\n method: s_airplay\n}","export default \"<svg t=\\\"1600422191774\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"3100\\\" width=\\\"28\\\" height=\\\"28\\\"><path d=\\\"M256 938.666667h512L512 597.333333 256 938.666667z m170.666667-85.333334l85.333333-113.781333L597.333333 853.333333H426.666667zM853.333333 85.333333H170.666667C99.946667 85.333333 42.666667 142.613333 42.666667 213.333333v426.666667c0 70.72 57.28 128 128 128h106.666666l64-85.333333H170.666667c-23.573333 0-42.666667-19.093333-42.666667-42.666667V213.333333c0-23.573333 19.093333-42.666667 42.666667-42.666666h682.666666c23.573333 0 42.666667 19.093333 42.666667 42.666666v426.666667c0 23.573333-19.093333 42.666667-42.666667 42.666667H682.666667l64 85.333333h106.666666c70.72 0 128-57.28 128-128V213.333333c0-70.72-57.28-128-128-128z\\\" p-id=\\\"3101\\\" fill=\\\"#ffffff\\\"></path></svg>\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-airplay{position:relative;-webkit-order:11;-moz-box-ordinal-group:12;order:11;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon{margin-top:6px;margin-left:6px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon .xgplayer-icon-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips .xgplayer-tip-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay:hover{opacity:.85}.xgplayer-skin-default .xgplayer-airplay:hover .xgplayer-tips{display:block}\", \"\"]);\n\n// exports\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://xgplayer/webpack/universalModuleDefinition","webpack://xgplayer/webpack/bootstrap","webpack://xgplayer/./src/utils/util.js","webpack://xgplayer/./node_modules/css-loader/lib/css-base.js","webpack://xgplayer/./node_modules/style-loader/lib/addStyles.js","webpack://xgplayer/./node_modules/es5-ext/object/is-value.js","webpack://xgplayer/./src/error.js","webpack://xgplayer/./src/utils/sniffer.js","webpack://xgplayer/./node_modules/type/value/is.js","webpack://xgplayer/./src/utils/xgplayerTimeRange.js","webpack://xgplayer/./src/player.js","webpack://xgplayer/./src/skin/controls/i18n.js","webpack://xgplayer/./src/proxy.js","webpack://xgplayer/./node_modules/event-emitter/index.js","webpack://xgplayer/./node_modules/d/index.js","webpack://xgplayer/./node_modules/type/plain-function/is.js","webpack://xgplayer/./node_modules/type/function/is.js","webpack://xgplayer/./node_modules/type/prototype/is.js","webpack://xgplayer/./node_modules/type/object/is.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/index.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/assign/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/index.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/object/keys/shim.js","webpack://xgplayer/./node_modules/es5-ext/function/noop.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-value.js","webpack://xgplayer/./node_modules/es5-ext/object/normalize-options.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/index.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack://xgplayer/./node_modules/es5-ext/string/#/contains/shim.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-callable.js","webpack://xgplayer/./node_modules/event-emitter/all-off.js","webpack://xgplayer/./node_modules/es5-ext/object/valid-object.js","webpack://xgplayer/./node_modules/es5-ext/object/is-object.js","webpack://xgplayer/./src/skin/style/index.scss?a7b1","webpack://xgplayer/./src/skin/style/index.scss","webpack://xgplayer/./node_modules/style-loader/lib/urls.js","webpack://xgplayer/./src/controls/mobile.js","webpack://xgplayer/./src/controls/pc.js","webpack://xgplayer/./src/controls/start.js","webpack://xgplayer/./src/skin/controls/start.js","webpack://xgplayer/./src/skin/assets/startPlay.svg","webpack://xgplayer/./src/skin/assets/startPause.svg","webpack://xgplayer/./src/skin/style/controls/start.scss?7bb8","webpack://xgplayer/./src/skin/style/controls/start.scss","webpack://xgplayer/./src/controls/fullscreen.js","webpack://xgplayer/./src/controls/play.js","webpack://xgplayer/./src/controls/replay.js","webpack://xgplayer/./src/skin/controls/play.js","webpack://xgplayer/./src/skin/assets/play.svg","webpack://xgplayer/./src/skin/assets/pause.svg","webpack://xgplayer/./src/skin/style/controls/play.scss?9632","webpack://xgplayer/./src/skin/style/controls/play.scss","webpack://xgplayer/./src/skin/controls/poster.js","webpack://xgplayer/./src/skin/style/controls/poster.scss?e9aa","webpack://xgplayer/./src/skin/style/controls/poster.scss","webpack://xgplayer/./src/skin/controls/flex.js","webpack://xgplayer/./src/skin/style/controls/placeholder.scss?a4f4","webpack://xgplayer/./src/skin/style/controls/placeholder.scss","webpack://xgplayer/./src/skin/controls/fullscreen.js","webpack://xgplayer/./src/skin/assets/requestFull.svg","webpack://xgplayer/./src/skin/assets/exitFull.svg","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss?1042","webpack://xgplayer/./src/skin/style/controls/fullscreen.scss","webpack://xgplayer/./src/skin/controls/loading.js","webpack://xgplayer/./src/skin/assets/loading.svg","webpack://xgplayer/./src/skin/style/controls/loading.scss?ad0a","webpack://xgplayer/./src/skin/style/controls/loading.scss","webpack://xgplayer/./src/skin/controls/progress.js","webpack://xgplayer/./src/skin/style/controls/progress.scss?de9d","webpack://xgplayer/./src/skin/style/controls/progress.scss","webpack://xgplayer/./src/skin/controls/time.js","webpack://xgplayer/./src/skin/style/controls/time.scss?a7a6","webpack://xgplayer/./src/skin/style/controls/time.scss","webpack://xgplayer/./src/skin/controls/replay.js","webpack://xgplayer/./src/skin/assets/replay.svg","webpack://xgplayer/./src/skin/style/controls/replay.scss?446b","webpack://xgplayer/./src/skin/style/controls/replay.scss","webpack://xgplayer/./src/skin/style/controls/textTrack.scss?c6ad","webpack://xgplayer/./src/index.js","webpack://xgplayer/./src/controls/airplay.js","webpack://xgplayer/./src/controls/cssFullscreen.js","webpack://xgplayer/./src/controls/danmu.js","webpack://xgplayer/./src/controls/definition.js","webpack://xgplayer/./src/controls/download.js","webpack://xgplayer/./node_modules/downloadjs/download.js","webpack://xgplayer/./src/utils/url.js","webpack://xgplayer/./src/controls/errorRetry.js","webpack://xgplayer/./src/controls/keyboard.js","webpack://xgplayer/./src/controls/localPreview.js","webpack://xgplayer/./src/controls/memoryPlay.js","webpack://xgplayer/./src/controls/miniplayer.js","webpack://xgplayer/./node_modules/draggabilly/draggabilly.js","webpack://xgplayer/./node_modules/get-size/get-size.js","webpack://xgplayer/./node_modules/unidragger/unidragger.js","webpack://xgplayer/./node_modules/unipointer/unipointer.js","webpack://xgplayer/./node_modules/ev-emitter/ev-emitter.js","webpack://xgplayer/./src/controls/pip.js","webpack://xgplayer/./src/controls/playNext.js","webpack://xgplayer/./src/controls/reload.js","webpack://xgplayer/./src/controls/rotate.js","webpack://xgplayer/./src/controls/screenShot.js","webpack://xgplayer/./src/controls/stallCheck.js","webpack://xgplayer/./src/controls/volume.js","webpack://xgplayer/./src/controls/textTrack.js","webpack://xgplayer/./node_modules/xgplayer-subtitles/dist/index.min.js","webpack://xgplayer/./src/skin/index.js","webpack://xgplayer/./src/skin/controls/enter.js","webpack://xgplayer/./src/skin/style/controls/enter.scss?879b","webpack://xgplayer/./src/skin/style/controls/enter.scss","webpack://xgplayer/./src/skin/controls/cssFullscreen.js","webpack://xgplayer/./src/skin/assets/requestCssFull.svg","webpack://xgplayer/./src/skin/assets/exitCssFull.svg","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss?540d","webpack://xgplayer/./src/skin/style/controls/cssfullscreen.scss","webpack://xgplayer/./src/skin/controls/volume.js","webpack://xgplayer/./src/skin/assets/volumeMuted.svg","webpack://xgplayer/./src/skin/assets/volumeSmall.svg","webpack://xgplayer/./src/skin/assets/volumeLarge.svg","webpack://xgplayer/./src/skin/style/controls/volume.scss?4ba7","webpack://xgplayer/./src/skin/style/controls/volume.scss","webpack://xgplayer/./src/skin/controls/definition.js","webpack://xgplayer/./src/skin/style/controls/definition.scss?ee15","webpack://xgplayer/./src/skin/style/controls/definition.scss","webpack://xgplayer/./src/skin/controls/playbackRate.js","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss?114f","webpack://xgplayer/./src/skin/style/controls/playbackRate.scss","webpack://xgplayer/./src/skin/controls/localPreview.js","webpack://xgplayer/./src/skin/controls/download.js","webpack://xgplayer/./src/skin/assets/download.svg","webpack://xgplayer/./src/skin/style/controls/download.scss?9645","webpack://xgplayer/./src/skin/style/controls/download.scss","webpack://xgplayer/./src/skin/controls/danmu.js","webpack://xgplayer/./node_modules/danmu.js/dist/index.js","webpack://xgplayer/(webpack)/buildin/module.js","webpack://xgplayer/./src/skin/assets/panel.svg","webpack://xgplayer/./src/skin/style/controls/danmu.scss?4216","webpack://xgplayer/./src/skin/style/controls/danmu.scss","webpack://xgplayer/./src/skin/controls/pip.js","webpack://xgplayer/./src/skin/style/controls/pip.scss?444d","webpack://xgplayer/./src/skin/style/controls/pip.scss","webpack://xgplayer/./src/skin/controls/miniplayer.js","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss?61c3","webpack://xgplayer/./src/skin/style/controls/miniplayer.scss","webpack://xgplayer/./src/skin/controls/playNext.js","webpack://xgplayer/./src/skin/assets/playNext.svg","webpack://xgplayer/./src/skin/style/controls/playNext.scss?f11a","webpack://xgplayer/./src/skin/style/controls/playNext.scss","webpack://xgplayer/./src/skin/controls/rotate.js","webpack://xgplayer/./src/skin/assets/rotate.svg","webpack://xgplayer/./src/skin/style/controls/rotate.scss?2dec","webpack://xgplayer/./src/skin/style/controls/rotate.scss","webpack://xgplayer/./src/skin/controls/reload.js","webpack://xgplayer/./src/skin/assets/reload.svg","webpack://xgplayer/./src/skin/style/controls/reload.scss?8b15","webpack://xgplayer/./src/skin/style/controls/reload.scss","webpack://xgplayer/./src/skin/controls/screenShot.js","webpack://xgplayer/./src/skin/style/controls/screenShot.scss?ac1c","webpack://xgplayer/./src/skin/style/controls/screenShot.scss","webpack://xgplayer/./src/skin/controls/nativeTextTrack.js","webpack://xgplayer/./src/skin/style/controls/textTrack.scss","webpack://xgplayer/./src/skin/controls/textTrack.js","webpack://xgplayer/./src/skin/controls/error.js","webpack://xgplayer/./src/skin/style/controls/error.scss?0329","webpack://xgplayer/./src/skin/style/controls/error.scss","webpack://xgplayer/./src/skin/controls/memoryPlay.js","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss?0c39","webpack://xgplayer/./src/skin/style/controls/memoryPlay.scss","webpack://xgplayer/./src/skin/controls/airplay.js","webpack://xgplayer/./src/skin/assets/airplay.svg","webpack://xgplayer/./src/skin/style/controls/airplay.scss?643b","webpack://xgplayer/./src/skin/style/controls/airplay.scss"],"names":["createDom","hasClass","addClass","removeClass","toggleClass","findDom","padStart","format","event","typeOf","deepCopy","getBgImage","copyDom","_setInterval","_clearInterval","createImgBtn","isWeiXin","isUc","computeWatchDur","offInDestroy","on","once","getBuffered2","checkIsBrowser","setStyle","checkWebkitSetPresentationMode","el","tpl","attrs","cname","dom","document","Object","key","value","item","className","reg","sel","charstr","String","len","length","maxlen","Math","chars","r","window","hour","time","minute","second","e","touch","src","dst","url","a","back","Array","node","context","setInterval","intervalFunc","clearInterval","btn","width","w","h","unit","height","Number","name","ua","played","arr","i","begin","end","j","b","watch_dur","object","_fn","fn","maxHoleDuration","buffered","vbuffered","start","diff","buffered_2","buf2len","buf2end","XgplayerTimeRange","style","elem","PresentationMode","PIP","INLINE","FULLSCREEN","video","util","module","exports","useSourceMap","list","toString","map","content","cssWithMappingToString","join","modules","mediaQuery","alreadyImportedModules","id","push","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","source","sourceRoot","concat","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","_undefined","require","val","ErrorTypes","network","code","msg","remark","mse","parse","decoder","runtime","timeout","other","Errors","errd","line","handle","version","errorCode","mediaError","arguments","arg","sniffer","get","navigator","ie","firfox","chrome","opera","safari","isWindowsPhone","isSymbian","isAndroid","isFireFox","isTablet","isPhone","isPc","index","Player","ignores","whitelist","lang","inactive","volume","controls","controlsList","unselectable","onselectstart","type","vid","console","s_i18n","self","fetch","method","headers","Accept","res","obj","evName","evFunc","player","containerSize","setTimeout","playPromise","isDelDom","clearTimeout","classNameList","destroyFunc","_replay","param","defaultUserGestureEventHandler","descriptor","k","controlLst","control","Proxy","HAVE_NOTHING","HAVE_METADATA","HAVE_CURRENT_DATA","HAVE_FUTURE_DATA","HAVE_ENOUGH_DATA","NETWORK_EMPTY","NETWORK_IDLE","NETWORK_LOADING","NETWORK_NO_SOURCE","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","REPLAY","ERROR","PLAY_TIPS","PAUSE_TIPS","PLAYNEXT_TIPS","DOWNLOAD_TIPS","ROTATE_TIPS","RELOAD_TIPS","FULLSCREEN_TIPS","EXITFULLSCREEN_TIPS","CSSFULLSCREEN_TIPS","EXITCSSFULLSCREEN_TIPS","TEXTTRACK","MINIPLAYER","SCREENSHOT","LIVE","OFF","MINIPLAYER_DRAG","AIRPLAY_TIPS","set","options","autoplay","playsinline","airplay","tabindex","mediaType","textTrackDom","track","styleStr","wrap","XgVideoProxy","trackDoms","lastBuffer","defaultVideoEventHandler","curBuffer","videoEventHandler","range","currentTime","bool","isTrue","isFinite","err","status","en","cn","rate","posterUrl","poster","vol","d","callable","apply","Function","prototype","call","create","defineProperty","defineProperties","hasOwnProperty","configurable","enumerable","writable","off","emit","methods","descriptors","base","listener","__ee__","__eeOnceListener__","listeners","candidate","splice","l","args","slice","o","isValue","isPlainFunction","assign","normalizeOpts","contains","dscr","c","desc","gs","undefined","isFunction","classRe","functionToString","test","isPrototype","error","isObject","constructor","possibleTypes","foo","bar","trzy","keys","max","dest","forEach","TypeError","process","opts1","result","str","indexOf","searchString","emitter","function","css","location","Error","baseUrl","protocol","host","currentDir","pathname","replace","fixedCss","fullMatch","origUrl","unquotedOrigUrl","trim","$1","newUrl","mobile","root","clk","_click_","clickedTime","first","onTouch","pc","fullscreen","onCanPlay","s_start","StartPlayIcon","StartPauseIcon","onPlayerReady","fullscreenEl","mode","fullscreenPromise","play","replay","s_play","playBtn","PlayIcon","PauseIcon","tipsText","tips","s_poster","s_flex","playceholder","s_fullscreen","fullscreenBtn","RequestFullIcon","ExitFullIcon","s_loading","container","Loading","isRotateFullscreen","s_progress","containerWidth","progress","outer","cache","point","thumbnail","dotItem","dot","dotEvent","text","duration","tnailPicNum","tnailWidth","tnailHeight","tnailCol","tnailRow","interval","tnailUrls","coverPreviewContainer","coverPreviewPoint","coverPreviewOuter","onLoadedmetadata","events","isRotate","left","move","now","indexInPage","tnaiRowIndex","tnaiColIndex","up","passive","containerLeft","compute","pointWidth","leave","onTimeupdate","precent","prevPrecent","onCurrentTimeChange","onSrcChange","onCacheUpdate","cacheUpdateEvents","s_time","onTimeChange","s_replay","replayText","ReplayIcon","path","transform","svg","Airplay","CssFullscreen","Danmu","Definition","Download","ErrorRetryControl","Fullscreen","Keyboard","LocalPreview","MemoryPlay","Miniplayer","Mobile","Pc","Pip","Play","PlayNext","Reload","Replay","Rotate","ScreenShot","StallCheck","Start","Volume","TextTrack","cssFullscreen","danmu","danmujs","definition","download","factory","define","strFileName","strMimeType","defaultMime","mimeType","payload","anchor","createElement","myBlob","Blob","MozBlob","WebKitBlob","fileName","blob","reader","bind","split","pop","href","ajax","XMLHttpRequest","open","responseType","onload","target","response","send","dataUrlToBlob","msSaveBlob","saver","tempUiArr","Uint8Array","mx","charCodeAt","strUrl","parts","atob","decodeURIComponent","binData","uiArr","winMode","setAttribute","innerHTML","display","body","appendChild","click","removeChild","URL","revokeObjectURL","userAgent","confirm","f","createObjectURL","y","FileReader","readAsDataURL","getAbsoluteURL","div","defaultConfig","maxCount","backupUrl","isFetch","fetchTimeout","errorConfig","_inConfig","count","errfTimer","isFetchReturn","resolveFun","resolve","xhr","statusText","_originErrorEmit","errorCount","errorfetch","networkState","readyState","currentSrc","ended","httpCode","httpMsg","retryCanPlay","errorRetry","playbackRate","isRepeat","keyCode","repeat","isBody","config","state","isLonePress","isBack","isLongPress","keyShortcutStep","currentTimeStep","show","isup","volumeStep","keyboard","localPreview","upload","memoryPlay","miniplayer","dragLay","dragHandle","draggie","Draggabilly","getSize","Unidragger","extend","prop","noop","jQuery","element","querySelector","$element","defaults","option","_create","proto","opts","positionValues","relative","absolute","fixed","position","_getPosition","startPoint","x","dragPoint","startPosition","getComputedStyle","onPointerMove","onPointerUp","enable","setHandles","handles","querySelectorAll","bindHandles","dispatchEvent","emitArgs","emitEvent","dispatchJQueryEvent","jquery","$event","Event","trigger","_getPositionCoord","top","isNaN","_addTransformPosition","styleSide","measure","parentSize","parentNode","parseFloat","parseInt","matrixValues","xIndex","translateX","translateY","onPointerDown","pointer","classList","add","pointerDown","isOkay","okayPointerDown","isEnabled","_pointerReset","pointerDownPointer","pageX","pageY","preventDefault","pointerDownBlur","_bindPostStartEvents","dragStart","measureContainment","setLeftTop","animate","getContainer","elemSize","elemRect","getBoundingClientRect","containerRect","borderSizeX","borderLeftWidth","borderRightWidth","borderSizeY","borderTopWidth","borderBottomWidth","relativeStartPosition","containSize","containment","isElement","HTMLElement","moveVector","dragMove","dragX","dragY","grid","gridX","gridY","applyGrid","containDrag","axis","drag","rel","min","remove","dragEnd","isDragging","positionDrag","_this","requestAnimationFrame","animateFrame","staticClick","setPosition","disable","destroy","unbindHandles","removeData","_init","bridget","getStyleSize","num","isValid","logError","message","measurements","measurementsLength","getZeroSize","size","innerWidth","innerHeight","outerWidth","outerHeight","measurement","getStyle","isSetup","isBoxSizeOuter","setup","padding","borderStyle","borderWidth","boxSizing","documentElement","round","nodeType","offsetWidth","offsetHeight","isBorderBox","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginTop","marginBottom","borderHeight","isBorderBoxSizeOuter","styleWidth","styleHeight","Unipointer","_bindHandles","isAdd","bindMethod","touchAction","_touchActionValue","_bindStartEvent","PointerEvent","cursorNodes","TEXTAREA","INPUT","SELECT","OPTION","clickTypes","radio","checkbox","button","submit","image","file","isCursorNode","nodeName","isClickType","focused","activeElement","canBlur","blur","pointerMove","_dragPointerMove","_dragMove","hasDragStarted","_dragStart","abs","pointerUp","_dragPointerUp","_dragEnd","_staticClick","isPreventingClicks","onclick","isIgnoringMouseUp","getPointerPoint","EvEmitter","bindStartEvent","unbindStartEvent","startEvent","handleEvent","getTouch","touches","identifier","pointerIdentifier","onmousedown","_pointerDown","ontouchstart","changedTouches","onpointerdown","isPointerDown","pointerId","postStartEvents","mousedown","touchstart","pointerdown","eventName","addEventListener","_boundPointerEvents","_unbindPostStartEvents","removeEventListener","onmousemove","_pointerMove","onpointermove","ontouchmove","onmouseup","_pointerUp","onpointerup","ontouchend","_pointerDone","pointerDone","onpointercancel","_pointerCancel","ontouchcancel","pointerCancel","global","_events","onceEvents","_onceEvents","onceListeners","isOnce","allOff","pip","onWebkitpresentationmodechanged","playNext","nextBtn","reload","reloadConfig","rotate","rotateConfig","targetWidth","targetHeight","scale","videoWidth","videoHeight","clockwise","innerRotate","times","factor","screenShot","screenShotOptions","callBack","encoderOptions","canvas","canvasCtx","img","saveScreenShot","saveLink","save","screenShotImg","saveFileName","lastCurrentTime","stallFlag","stallCheckTimer","progressTimer","stallCheck","slider","selected","onVolumeChange","barRect","pos","isMove","onMove","onUp","_changeTimer","containerHeight","defaultStyle","follow","followBottom","fitVideo","offsetBottom","baseSizeX","baseSizeY","minSize","minMobileSize","fontColor","XgSubtitles","subtitle","vBottom","textTrack","defaultOpen","subTitles","SubTitles","subtitles","showDefault","isNeedMove","bottom","textTrackStyle","needRemove","isListUpdate","language","t","__esModule","default","n","promise","F","reject","s","some","Je","getAttribute","match","RegExp","u","kr","p","v","head","getElementsByTagName","styleSheet","cssText","disabled","createTextNode","Ir","Lr","addObserver","g","unObserver","m","Fr","_","styles","xr","json","Nr","parseJson","stringContent","Tr","then","catch","T","S","O","__e","E","__g","P","copyright","M","random","A","C","R","N","L","I","getPrototypeOf","z","B","D","H","V","W","G","U","$","K","valueOf","J","Y","X","q","Z","virtual","Q","tt","et","nt","rt","it","ceil","ot","floor","st","at","ut","ct","lt","ft","propertyIsEnumerable","ht","dt","pt","vt","yt","gt","mt","_t","xt","bt","kt","wt","Tt","St","Ot","Et","Pt","contentWindow","write","close","jt","Mt","Symbol","store","At","Ct","Rt","Nt","Lt","next","It","Ft","zt","Bt","entries","values","Dt","charAt","_i","done","Ht","_k","Arguments","Vt","Wt","Gt","Ut","$t","Kt","Jt","Yt","Xt","qt","isExtensible","preventExtensions","NEED","KEY","fastKey","getWeak","onFreeze","Zt","Qt","te","getOwnPropertySymbols","ee","ne","re","isArray","oe","getOwnPropertyNames","se","ae","ue","ce","le","fe","getOwnPropertyDescriptor","he","de","pe","ve","ye","ge","me","_e","xe","be","ke","we","Te","Se","Oe","Ee","Pe","QObject","je","findChild","Me","Ae","Ce","iterator","Re","Ne","Le","Ie","Fe","ze","Be","De","He","Ve","We","for","keyFor","useSetter","useSimple","Ge","Ue","$e","Ke","Ye","ReferenceError","Xe","qe","Ze","Qe","tn","setPrototypeOf","__proto__","check","nn","rn","sn","an","un","ln","hn","dn","pn","vn","callee","yn","gn","return","mn","_n","xn","bn","kn","getIteratorMethod","wn","BREAK","RETURN","Tn","Sn","On","En","Pn","setImmediate","jn","clearImmediate","Mn","MessageChannel","An","Dispatch","Cn","Rn","Nn","Ln","nextTick","port2","port1","onmessage","postMessage","importScripts","onreadystatechange","In","clear","Fn","zn","MutationObserver","WebKitMutationObserver","Bn","Dn","Promise","Hn","Vn","Wn","Gn","Un","$n","Kn","Jn","Yn","Xn","from","qn","Zn","Qn","tr","er","nr","domain","exit","enter","standalone","observe","characterData","rr","ir","or","versions","sr","v8","ar","ur","cr","lr","fr","PromiseRejectionEvent","hr","dr","_c","_v","_s","ok","fail","_h","yr","pr","vr","onunhandledrejection","reason","_a","onrejectionhandled","gr","_d","_w","mr","all","race","finally","try","_r","br","wr","_eventsCount","eventNames","listenerCount","removeListener","removeAllListeners","addListener","prefixed","EventEmitter","toUpperCase","onerror","ontimeout","onabort","setRequestHeader","Sr","Or","Er","Pr","jr","Mr","Ar","Cr","Rr","checkFormat","parseASS","parseVTT","textTag","toLocaleLowerCase","parseASSItem","exec","checkIsTime","parseVttTime","parseVttText","tag","__handlers","ResizeObserver","observer","__trigger","handler","unobserve","disconnect","contentRect","__runHandler","insertAt","firstChild","insertBefore","zr","RESIZE","Br","currentText","_cid","_gid","_cids","_iId","_iC","_ctime","_loadingTrack","_isOpen","_videoMeta","lwidth","lheight","vWidth","vHeight","vLeft","attachPlayer","setSubTitles","innerRoot","switchOff","isDefault","addStyles","switch","detachPlayer","color","__onTimeupdate","_onResize","_updateCurrent","trace","hide","__remove","_update","includes","getDelCid","getNewCid","__render","Element","__startResize","fontSize","right","resize","children","I18n","Enter","Poster","Flex","Progress","Time","PlaybackRate","NativeTextTrack","ErrorControl","s_enter","barStr","s_cssFullscreen","RequestCssFullIcon","ExitCssFullIcon","s_volume","LargeIcon","SmallIcon","MutedIcon","icon","s_definition","paused","tmp","cursrc","urlInRoot","cur","li","to","curRUL","liList","definitionObj","s_playbackRate","playbackRateList","selectedSpeed","playbackDom","ev","playbackRateObj","s_localPreview","preview","s_download","DownloadIcon","s_danmu","comments","area","panelBtn","PanelIcon","DanmuJs","focusStatus","focusarray","danmuConfig","hidemodeScroll","hidemodeTop","hidemodeBottom","hidemodeColor","hidemodeArray","transparency","transparencyGradient","transparencyValue","showarea","showareaValue","danmuspeed","danmuspeedValue","danmufont","danmufontValue","toStringTag","startsWith","getElementById","Node","tagName","attributes","formatTime","setProperty","logger","setLogger","info","overlap","live","direction","needResizeObserver","hideArr","domObj","containerStyle","bulletBtn","isReady","addResizeObserver","main","pause","stop","txt","opacity","like","prior","realTime","unshift","readData","dataHandle","queue","pauseMove","startMove","setLikeDom","mouseControl","filter","forceDuration","setFontSize","channel_id","topInit","channelSize","channel","constructorName","log","defaultOff","switchBtn","playedData","timer","retryTimer","retryStatus","updateQueue","nums","dataHandleTimer","bullet","hasAttached","sort","resetWithCb","init","reset","channels","resized","containerPos","detach","noDiscard","attach","addBullet","removeBullet","containerRight","resizing","resizeTimer","bookChannelId","scroll","operating","bookId","channelWidth","channelHeight","bOffset","loop","resetTimer","moveV","onChangeDirection","use","eventListeners","useCapture","textContent","elPos","mouseoverFunWrapper","mouseoverFun","mouseEnterControl","mouseEnterFunWrapper","mouseControlPause","unuse","removeTimer","Date","getTime","moveTime","moveMoreS","moveContainerHeight","moveContainerWidth","pastDuration","startTime","hasMove","startMoveTimer","outerHTML","initDOM","initSize","idleList","usingList","_id","_expand","shift","textcontent","clearElementStyle","timeStampe","destroyObserver","hmr","insertInto","locals","HTMLIFrameElement","contentDocument","refs","media","nextSibling","before","singleton","DEBUG","Boolean","childNodes","convertToAbsoluteUrls","webpackPolyfill","deprecate","paths","s_pip","s_miniplayer","s_playNext","PlayNextIcon","onUrlListEnd","s_rotate","RotateIcon","s_reload","ReloadIcon","s_screenShot","screenShotText","s_nativeTextTrack","controlText","ul","isDefaultShow","s_textTrack","renderList","onListUpdate","s_error","refresh","s_memoryPlay","lastPlayTime","lastPlayTimeHideDelay","removeFunc","handlePlay","s_airplay","AirplayIcon"],"mappings":"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C;;;;;;AC3ED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,EAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"xgplayer\"] = factory();\n\telse\n\t\troot[\"xgplayer\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","import XgplayerTimeRange from './xgplayerTimeRange'\n\nexport function createDom(el = 'div', tpl = '', attrs = {}, cname = '') {\n let dom = document.createElement(el)\n dom.className = cname\n dom.innerHTML = tpl\n Object.keys(attrs).forEach(item => {\n let key = item\n let value = attrs[item]\n if (el === 'video' || el === 'audio') {\n if (value) {\n dom.setAttribute(key, value)\n }\n } else {\n dom.setAttribute(key, value)\n }\n })\n return dom\n}\n\nexport function hasClass(el, className) {\n if (!el) {\n return false;\n }\n\n if (el.classList) {\n return Array.prototype.some.call(el.classList, item => item === className)\n } else if (el.className) {\n return !!el.className.match(new RegExp('(\\\\s|^)' + className + '(\\\\s|$)'))\n } else {\n return false;\n }\n}\n\nexport function addClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.replace(/(^\\s+|\\s+$)/g, '').split(/\\s+/g).forEach(item => {\n item && el.classList.add(item)\n })\n } else if (!hasClass(el, className)) {\n el.className += ' ' + className\n }\n}\n\nexport function removeClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n className.split(/\\s+/g).forEach(item => {\n el.classList.remove(item)\n })\n } else if (hasClass(el, className)) {\n className.split(/\\s+/g).forEach(item => {\n let reg = new RegExp('(\\\\s|^)' + item + '(\\\\s|$)')\n el.className = el.className.replace(reg, ' ')\n })\n }\n}\n\nexport function toggleClass(el, className) {\n if (!el) {\n return;\n }\n\n className.split(/\\s+/g).forEach(item => {\n if (hasClass(el, item)) {\n removeClass(el, item)\n } else {\n addClass(el, item)\n }\n })\n}\n\nexport function findDom(el = document, sel) {\n let dom\n // fix querySelector IDs that start with a digit\n // https://stackoverflow.com/questions/37270787/uncaught-syntaxerror-failed-to-execute-queryselector-on-document\n try {\n dom = el.querySelector(sel)\n } catch (e) {\n if (sel.indexOf('#') === 0) {\n dom = el.getElementById(sel.slice(1))\n }\n }\n return dom\n}\n\nexport function padStart(str, length, pad) {\n let charstr = String(pad)\n let len = length >> 0\n let maxlen = Math.ceil(len / charstr.length)\n let chars = []\n let r = String(str)\n while (maxlen--) {\n chars.push(charstr)\n }\n return chars.join('').substring(0, len - r.length) + r\n}\n\nexport function format(time) {\n if (window.isNaN(time)) {\n return ''\n }\n let hour = padStart(Math.floor(time / 3600), 2, 0)\n let minute = padStart(Math.floor((time - hour * 3600) / 60), 2, 0)\n let second = padStart(Math.floor((time - hour * 3600 - minute * 60)), 2, 0)\n return (hour === '00' ? [minute, second] : [hour, minute, second]).join(':')\n}\n\nexport function event(e) {\n if (e.touches) {\n let touch = e.touches[0] || e.changedTouches[0]\n e.clientX = touch.clientX || 0\n e.clientY = touch.clientY || 0\n e.offsetX = touch.pageX - touch.target.offsetLeft\n e.offsetY = touch.pageY - touch.target.offsetTop\n }\n e._target = e.target || e.srcElement\n}\n\nexport function typeOf(obj) {\n return Object.prototype.toString.call(obj).match(/([^\\s.*]+)(?=]$)/g)[0]\n}\n\nexport function deepCopy(dst, src) {\n if (typeOf(src) === 'Object' && typeOf(dst) === 'Object') {\n Object.keys(src).forEach(key => {\n if (typeOf(src[key]) === 'Object' && !(src[key] instanceof Node)) {\n if (!dst[key]) {\n dst[key] = src[key]\n } else {\n deepCopy(dst[key], src[key])\n }\n } else if (typeOf(src[key]) === 'Array') {\n dst[key] = typeOf(dst[key]) === 'Array' ? dst[key].concat(src[key]) : src[key]\n } else {\n dst[key] = src[key]\n }\n })\n return dst\n }\n}\nexport function getBgImage(el) {\n // fix: return current page url when url is none\n let url = (el.currentStyle || window.getComputedStyle(el, null)).backgroundImage\n if (!url || url === 'none') {\n return ''\n }\n let a = document.createElement('a')\n a.href = url.replace(/url\\(\"|\"\\)/g, '')\n return a.href\n}\n\nexport function copyDom(dom) {\n if (dom && dom.nodeType === 1) {\n let back = document.createElement(dom.tagName)\n Array.prototype.forEach.call(dom.attributes, (node) => {\n back.setAttribute(node.name, node.value)\n })\n if (dom.innerHTML) {\n back.innerHTML = dom.innerHTML\n }\n return back\n } else {\n return ''\n }\n}\n\nexport function _setInterval(context, eventName, intervalFunc, frequency) {\n if (!context._interval[eventName]) {\n context._interval[eventName] = setInterval(intervalFunc.bind(context), frequency)\n }\n}\n\nexport function _clearInterval(context, eventName) {\n clearInterval(context._interval[eventName])\n context._interval[eventName] = null\n}\n\nexport function createImgBtn(name, imgUrl, width, height) {\n let btn = createDom(`xg-${name}`, '', {}, `xgplayer-${name}-img`)\n btn.style.backgroundImage = `url(\"${imgUrl}\")`\n if (width && height) {\n let w, h, unit\n ['px', 'rem', 'em', 'pt', 'dp', 'vw', 'vh', 'vm', '%'].every((item) => {\n if (width.indexOf(item) > -1 && height.indexOf(item) > -1) {\n w = Number(width.slice(0, width.indexOf(item)).trim())\n h = Number(height.slice(0, height.indexOf(item)).trim())\n unit = item\n return false\n } else {\n return true\n }\n })\n btn.style.width = `${w}${unit}`\n btn.style.height = `${h}${unit}`\n btn.style.backgroundSize = `${w}${unit} ${h}${unit}`\n if (name === 'start') {\n btn.style.margin = `-${h / 2}${unit} auto auto -${w / 2}${unit}`\n } else {\n btn.style.margin = 'auto 5px auto 5px'\n }\n }\n return btn\n}\n\nexport function isWeiXin() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('micromessenger') > -1\n}\n\nexport function isUc() {\n let ua = window.navigator.userAgent.toLowerCase()\n return ua.indexOf('ucbrowser') > -1\n}\n\nexport function computeWatchDur(played = []) {\n let arr = []\n for (let i = 0; i < played.length; i++) {\n if(!played[i].end || played[i].begin < 0 || played[i].end < 0 || played[i].end < played[i].begin) {\n continue\n }\n if(arr.length < 1) {\n arr.push({begin: played[i].begin, end: played[i].end})\n } else {\n for (let j = 0; j < arr.length; j++) {\n let begin = played[i].begin\n let end = played[i].end\n if(end < arr[j].begin) {\n arr.splice(j, 0, {begin, end})\n break\n } else if(begin > arr[j].end) {\n if(j > arr.length - 2) {\n arr.push({begin, end})\n break\n }\n } else {\n let b = arr[j].begin\n let e = arr[j].end\n arr[j].begin = Math.min(begin, b)\n arr[j].end = Math.max(end, e)\n break\n }\n }\n }\n }\n let watch_dur = 0\n for (let i = 0; i < arr.length; i++) {\n watch_dur += arr[i].end - arr[i].begin\n }\n return watch_dur\n}\n\nexport function offInDestroy(object, event, fn, offEvent) {\n function onDestroy () {\n object.off(event, fn)\n object.off(offEvent, onDestroy)\n }\n object.once(offEvent, onDestroy)\n}\n\nexport function on(object, event, fn, offEvent) {\n if (offEvent) {\n object.on(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.on(event, _fn)\n }\n}\n\nexport function once(object, event, fn, offEvent) {\n if (offEvent) {\n object.once(event, fn)\n offInDestroy(object, event, fn, offEvent)\n } else {\n let _fn = data => {\n fn(data)\n object.off(event, _fn)\n }\n object.once(event, _fn)\n }\n}\n\nexport function getBuffered2(vbuffered, maxHoleDuration = 0.5) { //ref: hls.js\n let buffered = []\n for (let i = 0; i < vbuffered.length; i++) {\n buffered.push({ start: vbuffered.start(i) < 0.5 ? 0 : vbuffered.start(i), end: vbuffered.end(i) });\n }\n buffered.sort(function (a, b) {\n let diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n let buffered_2 = []\n if (maxHoleDuration) {\n for (let i = 0; i < buffered.length; i++) {\n let buf2len = buffered_2.length\n if (buf2len) {\n let buf2end = buffered_2[buf2len - 1].end\n if ((buffered[i].start - buf2end) < maxHoleDuration) {\n if (buffered[i].end > buf2end) {\n buffered_2[buf2len - 1].end = buffered[i].end\n }\n } else {\n buffered_2.push(buffered[i])\n }\n } else {\n buffered_2.push(buffered[i])\n }\n }\n } else {\n buffered_2 = buffered\n }\n return new XgplayerTimeRange(buffered_2)\n}\n\nexport function checkIsBrowser() {\n return !(typeof(window) === 'undefined' || typeof(window.document) === 'undefined' || typeof(window.document.createElement) === 'undefined')\n}\n\nexport function setStyle(elem, name, value) {\n let style = elem.style;\n try {\n style[name] = value;\n } catch (error) {\n style.setProperty( name, value );\n }\n}\n\nexport const PresentationMode = {\n PIP: 'picture-in-picture',\n INLINE: 'inline',\n FULLSCREEN: 'fullscreen'\n}\n\nexport function checkWebkitSetPresentationMode (video) {\n return typeof video.webkitSetPresentationMode === 'function'\n}\n\nexport const util = {\n createDom, hasClass, addClass, removeClass, toggleClass, findDom, padStart, format, event, typeOf, \n deepCopy, getBgImage, copyDom, setInterval: _setInterval, clearInterval: _clearInterval, createImgBtn, isWeiXin, isUc, computeWatchDur,\n offInDestroy, on, once, getBuffered2, checkIsBrowser, setStyle\n}\n\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","import {version} from '../version.json'\nconst ErrorTypes = {\n network: {\n code: 1,\n msg: '视频下载错误',\n remark: '只要视频下载错误就使用此类型,无论是video本身的超时还是xhr的分段请求超时或者资源不存在'\n },\n mse: {\n code: 2,\n msg: '流追加错误',\n remark: '追加流的时候如果类型不对、无法被正确解码则会触发此类错误'\n },\n parse: {\n code: 3,\n msg: '解析错误',\n remark: 'mp4、hls、flv我们都是使用js进行格式解析,如果解析失败则会触发此类错误'\n },\n format: {\n code: 4,\n msg: '格式错误',\n remark: '如果浏览器不支持的格式导致播放错误'\n },\n decoder: {\n code: 5,\n msg: '解码错误',\n remark: '浏览器解码异常会抛出此类型错误'\n },\n runtime: {\n code: 6,\n msg: '语法错误',\n remark: '播放器语法错误'\n },\n timeout: {\n code: 7,\n msg: '播放超时',\n remark: '播放过程中无法正常请求下一个分段导致播放中断'\n },\n other: {\n code: 8,\n msg: '其他错误',\n remark: '不可知的错误或被忽略的错误类型'\n }\n}\n\nclass Errors {\n constructor (type, currentTime, duration, networkState, readyState, src, currentSrc,\n ended, errd = {line: '', handle: '', msg: '', version: ''}, errorCode, mediaError) {\n let r = {}\n if (arguments.length > 1) {\n r.playerVersion = version // 播放器版本\n r.errorType = type\n r.domain = document.domain // domain\n r.duration = duration // 视频时长\n r.currentTime = currentTime\n r.networkState = networkState\n r.readyState = readyState\n r.currentSrc = currentSrc\n r.src = src\n r.ended = ended\n r.errd = errd // 错误详情\n r.ex = (ErrorTypes[type] || {}).msg // 补充信息\n r.errorCode = errorCode\n r.mediaError = mediaError\n } else {\n const arg = arguments[0]\n Object.keys(arg).map(key => {\n r[key] = arg[key]\n })\n r.ex = ((arg.type && ErrorTypes[arg.type]) || {}).msg\n }\n return r\n }\n}\nexport default Errors\n","let sniffer = {}\n\nObject.defineProperty(sniffer, 'device', {\n get: function () {\n let r = sniffer.os\n return r.isPc ? 'pc' : 'mobile'\n // return r.isPc ? 'pc' : r.isTablet ? 'tablet' : 'mobile'\n }\n})\n\nObject.defineProperty(sniffer, 'browser', {\n get: function () {\n let ua = navigator.userAgent.toLowerCase()\n let reg = {\n ie: /rv:([\\d.]+)\\) like gecko/,\n firfox: /firefox\\/([\\d.]+)/,\n chrome: /chrome\\/([\\d.]+)/,\n opera: /opera.([\\d.]+)/,\n safari: /version\\/([\\d.]+).*safari/\n }\n return [].concat(Object.keys(reg).filter(key => reg[key].test(ua)))[0] || ''\n }\n})\n\nObject.defineProperty(sniffer, 'os', {\n get: function () {\n let ua = navigator.userAgent\n let isWindowsPhone = /(?:Windows Phone)/.test(ua)\n let isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone\n let isAndroid = /(?:Android)/.test(ua)\n let isFireFox = /(?:Firefox)/.test(ua)\n let isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua))\n let isPhone = /(?:iPhone)/.test(ua) && !isTablet\n let isPc = !isPhone && !isAndroid && !isSymbian && !isTablet\n return {\n isTablet,\n isPhone,\n isAndroid,\n isPc,\n isSymbian,\n isWindowsPhone,\n isFireFox\n }\n }\n})\n\nexport default sniffer\n","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","export default class XgplayerTimeRange {\n constructor(bufferedList) {\n this.bufferedList = bufferedList\n }\n\n start (index) {\n return this.bufferedList[index].start\n }\n\n end (index) {\n return this.bufferedList[index].end\n }\n\n get length () {\n return this.bufferedList.length\n }\n}\n","import Proxy from './proxy'\nimport { util, deepCopy, findDom, createDom, addClass, typeOf, hasClass, removeClass, checkIsBrowser } from './utils/util'\nimport sniffer from './utils/sniffer'\nimport XgplayerTimeRange from './utils/xgplayerTimeRange'\nimport Errors from './error'\nimport allOff from 'event-emitter/all-off'\nimport s_i18n from './skin/controls/i18n.js'\nimport './skin/style/index.scss'\n\nimport {\n version\n} from '../version.json'\nclass Player extends Proxy {\n constructor (options) {\n super(options)\n this.config = deepCopy({\n width: 600,\n height: 337.5,\n ignores: [],\n whitelist: [],\n lang: (document.documentElement.getAttribute('lang') || navigator.language || 'zh-cn').toLocaleLowerCase(),\n inactive: 3000,\n volume: 0.6,\n controls: true,\n controlsList: ['nodownload']\n }, options)\n this.version = version\n this.userTimer = null\n this.waitTimer = null\n this.history = []\n this.isProgressMoving = false\n this.root = findDom(document, `#${this.config.id}`)\n this.controls = createDom('xg-controls', '', {\n unselectable: 'on',\n onselectstart: 'return false'\n }, 'xgplayer-controls')\n if (this.config.isShowControl) {\n this.controls.style.display = 'none'\n }\n if (!this.root) {\n let el = this.config.el\n if (el && el.nodeType === 1) {\n this.root = el\n } else {\n this.emit('error', new Errors({\n type: 'use',\n errd: {\n line: 45,\n handle: 'Constructor',\n msg: 'container id can\\'t be empty'\n },\n vid: this.config.vid\n }))\n console.error('container id can\\'t be empty')\n return false\n }\n }\n // this.rootBackup = copyDom(this.root)\n addClass(this.root, `xgplayer xgplayer-${sniffer.device} xgplayer-nostart xgplayer-pause ${this.config.controls ? '' : 'xgplayer-no-controls'}`)\n this.root.appendChild(this.controls)\n if (this.config.fluid) {\n this.root.style['max-width'] = '100%'\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n\n this.video.style['position'] = 'absolute'\n this.video.style['top'] = '0'\n this.video.style['left'] = '0'\n } else {\n // this.root.style.width = `${this.config.width}px`\n // this.root.style.height = `${this.config.height}px`\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n if (this.config.execBeforePluginsCall) {\n this.config.execBeforePluginsCall.forEach(item => {\n item.call(this, this)\n })\n }\n if(!this.config.closeI18n) {\n Player.install(s_i18n.name, s_i18n.method)\n }\n if (this.config.controlStyle && typeOf(this.config.controlStyle) === 'String') {\n let self = this\n fetch(self.config.controlStyle, {\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(function (res) {\n if (res.ok) {\n res.json().then(function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n self.config[prop] = obj[prop]\n }\n }\n self.pluginsCall()\n })\n }\n }).catch(function (err) {\n console.log('Fetch错误:' + err)\n })\n } else {\n this.pluginsCall()\n }\n if(this.config.controlPlugins) {\n Player.controlsRun(this.config.controlPlugins, this)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.on(evName, evFunc)\n }\n });\n\n ['focus', 'blur'].forEach(item => {\n this.on(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n let player = this\n this.mousemoveFunc = function () {\n player.emit('focus')\n if (!player.config.closeFocusVideoFocus) {\n player.video.focus()\n }\n }\n this.root.addEventListener('mousemove', this.mousemoveFunc)\n this.playFunc = function () {\n player.emit('focus')\n if (!player.config.closePlayVideoFocus) {\n player.video.focus()\n }\n }\n player.once('play', this.playFunc)\n\n this.getVideoSize = function () {\n if (this.video.videoWidth && this.video.videoHeight) {\n let containerSize = player.root.getBoundingClientRect()\n if (player.config.fitVideoSize === 'auto') {\n if (containerSize.width / containerSize.height > this.video.videoWidth / this.video.videoHeight) {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n } else if (player.config.fitVideoSize === 'fixWidth') {\n player.root.style.height = `${this.video.videoHeight / this.video.videoWidth * containerSize.width}px`\n } else if (player.config.fitVideoSize === 'fixHeight') {\n player.root.style.width = `${this.video.videoWidth / this.video.videoHeight * containerSize.height}px`\n }\n }\n }\n player.once('loadeddata', this.getVideoSize)\n\n setTimeout(() => {\n this.emit('ready')\n this.isReady = true\n }, 0)\n\n if (this.config.videoInit) {\n if (hasClass(this.root, 'xgplayer-nostart')) {\n this.start()\n }\n }\n if (player.config.rotate) {\n player.on('requestFullscreen', this.updateRotateDeg)\n player.on('exitFullscreen', this.updateRotateDeg)\n }\n\n function onDestroy () {\n player.root.removeEventListener('mousemove', player.mousemoveFunc)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n\n attachVideo () {\n if(this.video && this.video.nodeType === 1) {\n this.root.insertBefore(this.video, this.root.firstChild)\n }\n setTimeout(() => {\n this.emit('complete')\n if(this.danmu && typeof this.danmu.resize === 'function') {\n this.danmu.resize()\n }\n }, 1)\n }\n\n start (url = this.config.url) {\n if(!this.video) return\n let player = this\n if (!url || url === '') {\n this.emit('urlNull')\n return\n }\n this.canPlayFunc = function () {\n player.off('canplay', player.canPlayFunc)\n let playPromise = player.video.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.then(function () {\n player.emit('autoplay started')\n }).catch(function () {\n player.emit('autoplay was prevented')\n addClass(player.root, 'xgplayer-is-autoplay')\n })\n }\n }\n if (typeOf(url) !== 'Array') {\n if (typeOf(url) === 'String' && url.indexOf('blob:') > -1 && url === this.video.src) {\n // 在Chromium环境下用mse url给video二次赋值会导致错误\n } else {\n this.video.src = url\n }\n } else {\n url.forEach(item => {\n this.video.appendChild(createDom('source', '', {\n src: `${item.src}`,\n type: `${item.type || ''}`\n }))\n })\n }\n if (this.config.autoplay) {\n if (sniffer.os.isPhone) {\n this.canPlayFunc()\n } else {\n this.on('canplay', this.canPlayFunc)\n }\n }\n if(!this.config.disableStartLoad) {\n this.video.load()\n }\n this.attachVideo()\n }\n\n reload () {\n this.video.load()\n this.reloadFunc = function () {\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n this.once('loadeddata', this.reloadFunc)\n }\n\n destroy (isDelDom = true) {\n let player = this\n clearInterval(this.bulletResizeTimer)\n for (let k in this._interval) {\n clearInterval(this._interval[k])\n this._interval[k] = null\n }\n if (this.checkTimer) {\n clearInterval(this.checkTimer)\n }\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n this.ev.forEach((item) => {\n let evName = Object.keys(item)[0]\n let evFunc = this[item[evName]]\n if (evFunc) {\n this.off(evName, evFunc)\n }\n });\n if (this.loadeddataFunc) {\n this.off('loadeddata', this.loadeddataFunc)\n }\n if (this.reloadFunc) {\n this.off('loadeddata', this.reloadFunc)\n }\n if (this.replayFunc) {\n this.off('play', this.replayFunc)\n }\n if (this.playFunc) {\n this.off('play', this.playFunc)\n }\n if (this.getVideoSize) {\n this.off('loadeddata', this.getVideoSize)\n };\n ['focus', 'blur'].forEach(item => {\n this.off(item, this['on' + item.charAt(0).toUpperCase() + item.slice(1)])\n })\n if (!this.config.keyShortcut || this.config.keyShortcut === 'on') {\n ['video', 'controls'].forEach(item => {\n if (this[item]) {\n this[item].removeEventListener('keydown', function (e) { player.onKeydown(e, player) })\n }\n })\n }\n\n function destroyFunc () {\n this.emit('destroy')\n // this.root.id = this.root.id + '_del'\n // parentNode.insertBefore(this.rootBackup, this.root)\n\n // fix video destroy https://stackoverflow.com/questions/3258587/how-to-properly-unload-destroy-a-video-element\n this.video.removeAttribute('src') // empty source\n this.video.load()\n if (isDelDom) {\n // parentNode.removeChild(this.root)\n this.root.innerHTML = ''\n let classNameList = this.root.className.split(' ')\n if (classNameList.length > 0) {\n this.root.className = classNameList.filter(name => name.indexOf('xgplayer') < 0).join(' ')\n } else {\n this.root.className = ''\n }\n }\n\n for (let k in this) {\n // if (k !== 'config') {\n delete this[k]\n // }\n }\n allOff(this)\n }\n\n // destroy immediately\n // Don't use the paused property detection, it doesn't use MediaElement.paused, \n // so it's not accurate enough. Destroy after waiting for pause event, this \n // changes the synchronous behavior of destroy api\n destroyFunc.call(this)\n\n super.destroy()\n }\n\n replay () {\n let self = this\n let _replay = this._replay\n // ie9 bugfix\n removeClass(this.root, 'xgplayer-ended')\n if(sniffer.browser.indexOf('ie') > -1) {\n this.emit('play')\n this.emit('playing')\n }\n \n if (_replay && _replay instanceof Function) {\n _replay()\n } else {\n this.currentTime = 0\n // eslint-disable-next-line handle-callback-err\n let playPromise = this.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n\n userGestureTrigEvent (name, param) {\n const defaultUserGestureEventHandler = (name, param) => {\n this.emit(name, param)\n }\n if(this.config.userGestureEventMiddleware && typeof this.config.userGestureEventMiddleware[name] === 'function') {\n this.config.userGestureEventMiddleware[name].call(this, this, name, param, defaultUserGestureEventHandler)\n } else {\n defaultUserGestureEventHandler.call(this, name, param);\n }\n }\n\n pluginsCall () {\n if(Player.plugins['s_i18n']) {\n Player.plugins['s_i18n'].call(this, this)\n }\n let self = this\n if (Player.plugins) {\n let ignores = this.config.ignores\n Object.keys(Player.plugins).forEach(name => {\n let descriptor = Player.plugins[name]\n if(!descriptor || typeof descriptor !== 'function'){\n console.warn('plugin name', name , 'is invalid')\n } else {\n if (!ignores.some(item => name === item || name === 's_' + item) && name !== 's_i18n') {\n if (['pc', 'tablet', 'mobile'].some(type => type === name)) {\n if (name === sniffer.device) {\n setTimeout(() => {\n // if destroyed, skip\n if (!self.video) return;\n descriptor.call(self, self)\n }, 0)\n }\n } else {\n descriptor.call(this, this)\n }\n }\n }\n })\n }\n }\n\n onFocus () {\n let player = this\n if(hasClass(this.root, 'xgplayer-inactive')) {\n player.emit('controlShow')\n }\n removeClass(this.root, 'xgplayer-inactive')\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n player.userTimer = setTimeout(function () {\n player.emit('blur')\n }, player.config.inactive)\n }\n\n onBlur () {\n // this.video.blur()\n if ((this.config.enablePausedInactive || !this.paused) && !this.ended && !this.config.closeInactive) {\n if(!hasClass(this.root, 'xgplayer-inactive')) {\n this.emit('controlHide')\n }\n addClass(this.root, 'xgplayer-inactive')\n }\n }\n\n onPlay () {\n addClass(this.root, 'xgplayer-isloading')\n addClass(this.root, 'xgplayer-playing')\n removeClass(this.root, 'xgplayer-pause')\n }\n\n onPause () {\n addClass(this.root, 'xgplayer-pause')\n if (this.userTimer) {\n clearTimeout(this.userTimer)\n }\n this.emit('focus')\n }\n\n onEnded () {\n addClass(this.root, 'xgplayer-ended')\n removeClass(this.root, 'xgplayer-playing')\n }\n\n onSeeking () {\n this.isSeeking = true\n // 兼容IE下无法触发waiting事件的问题 seeking的时候直接出发waiting\n this.onWaiting()\n // addClass(this.root, 'seeking');\n }\n\n // onTimeupdate () {\n // // for ie,playing fired before waiting\n // if (this.waitTimer) {\n // clearTimeout(this.waitTimer)\n // }\n // removeClass(this.root, 'xgplayer-isloading')\n\n // }\n\n onSeeked () {\n // for ie,playing fired before waiting\n this.once('timeupdate', () => {\n this.isSeeking = false\n })\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading')\n }\n\n onWaiting () {\n let self = this\n if (self.waitTimer) {\n clearTimeout(self.waitTimer)\n }\n if (self.checkTimer) {\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n let time = self.currentTime\n self.waitTimer = setTimeout(function () {\n addClass(self.root, 'xgplayer-isloading')\n self.checkTimer = setInterval(function () {\n if (self.currentTime !== time) {\n removeClass(self.root, 'xgplayer-isloading')\n clearInterval(self.checkTimer)\n self.checkTimer = null\n }\n }, 1000)\n }, 500)\n }\n\n onPlaying () {\n // 兼容safari下无法自动播放会触发该事件的场景\n if (this.paused) {\n return\n }\n this.isSeeking = false\n if (this.waitTimer) {\n clearTimeout(this.waitTimer)\n }\n removeClass(this.root, 'xgplayer-isloading xgplayer-nostart xgplayer-pause xgplayer-ended xgplayer-is-error xgplayer-replay')\n addClass(this.root, 'xgplayer-playing')\n }\n\n static install (name, descriptor) {\n if (!checkIsBrowser()) {\n return\n }\n if (!Player.plugins) {\n Player.plugins = {}\n }\n if (!Player.plugins[name]) {\n Player.plugins[name] = descriptor\n }\n }\n\n static installAll (list) {\n for(let k = 0; k < list.length; k++){\n Player.install(list[k].name, list[k].method)\n }\n }\n\n static use (name, descriptor) {\n if (!Player.plugins) {\n Player.plugins = {}\n }\n Player.plugins[name] = descriptor\n }\n\n static useAll (list) {\n for (let k in list) {\n Player.use(list[k].name, list[k].method)\n }\n }\n\n static controlsRun (controlLst, context) {\n controlLst.forEach(function(control) {\n control.method.call(context)\n })\n }\n}\n\nPlayer.util = util\nPlayer.sniffer = sniffer\nPlayer.Errors = Errors\nPlayer.XgplayerTimeRange = XgplayerTimeRange\n\nexport default Player\n","import { typeOf } from '../../utils/util'\n\nlet s_i18n = function () {\n let player = this; let lang = {};\n lang.en = {\n HAVE_NOTHING: 'There is no information on whether audio/video is ready',\n HAVE_METADATA: 'Audio/video metadata is ready ',\n HAVE_CURRENT_DATA: 'Data about the current play location is available, but there is not enough data to play the next frame/millisecond',\n HAVE_FUTURE_DATA: 'Current and at least one frame of data is available',\n HAVE_ENOUGH_DATA: 'The available data is sufficient to start playing',\n NETWORK_EMPTY: 'Audio/video has not been initialized',\n NETWORK_IDLE: 'Audio/video is active and has been selected for resources, but no network is used',\n NETWORK_LOADING: 'The browser is downloading the data',\n NETWORK_NO_SOURCE: 'No audio/video source was found',\n MEDIA_ERR_ABORTED: 'The fetch process is aborted by the user',\n MEDIA_ERR_NETWORK: 'An error occurred while downloading',\n MEDIA_ERR_DECODE: 'An error occurred while decoding',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'Audio/video is not supported',\n REPLAY: 'Replay',\n ERROR: 'Network is offline',\n PLAY_TIPS: 'Play',\n PAUSE_TIPS: 'Pause',\n PLAYNEXT_TIPS: 'Play next',\n DOWNLOAD_TIPS: 'Download',\n ROTATE_TIPS: 'Rotate',\n RELOAD_TIPS: 'Reload',\n FULLSCREEN_TIPS: \"Fullscreen\",\n EXITFULLSCREEN_TIPS: 'Exit fullscreen',\n CSSFULLSCREEN_TIPS: 'Cssfullscreen',\n EXITCSSFULLSCREEN_TIPS: 'Exit cssfullscreen',\n TEXTTRACK: 'Caption',\n PIP: 'Pip',\n MINIPLAYER: 'Miniplayer',\n SCREENSHOT: 'Screenshot',\n LIVE: 'LIVE',\n OFF: 'Off',\n MINIPLAYER_DRAG: 'Click and hold to drag',\n AIRPLAY_TIPS: 'Airplay',\n }\n lang['zh-cn'] = {\n HAVE_NOTHING: '没有关于音频/视频是否就绪的信息',\n HAVE_METADATA: '音频/视频的元数据已就绪',\n HAVE_CURRENT_DATA: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒',\n HAVE_FUTURE_DATA: '当前及至少下一帧的数据是可用的',\n HAVE_ENOUGH_DATA: '可用数据足以开始播放',\n NETWORK_EMPTY: '音频/视频尚未初始化',\n NETWORK_IDLE: '音频/视频是活动的且已选取资源,但并未使用网络',\n NETWORK_LOADING: '浏览器正在下载数据',\n NETWORK_NO_SOURCE: '未找到音频/视频来源',\n MEDIA_ERR_ABORTED: '取回过程被用户中止',\n MEDIA_ERR_NETWORK: '当下载时发生错误',\n MEDIA_ERR_DECODE: '当解码时发生错误',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音频/视频格式',\n REPLAY: '重播',\n ERROR: '网络连接似乎出现了问题',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暂停',\n PLAYNEXT_TIPS: '下一集',\n DOWNLOAD_TIPS: '下载',\n ROTATE_TIPS: '旋转',\n RELOAD_TIPS: '重新载入',\n FULLSCREEN_TIPS: \"进入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '进入样式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出样式全屏',\n TEXTTRACK: '字幕',\n PIP: '画中画',\n MINIPLAYER: '迷你播放器',\n SCREENSHOT: '截图',\n LIVE: '正在直播',\n OFF: '关闭',\n MINIPLAYER_DRAG: '点击按住可拖动视频',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['zh-hk'] = {\n HAVE_NOTHING: '沒有關於音頻/視頻是否就緒的信息',\n HAVE_METADATA: '音頻/視頻的元數據已就緒',\n HAVE_CURRENT_DATA: '關於當前播放位置的數據是可用的,但沒有足夠的數據來播放下壹幀/毫秒',\n HAVE_FUTURE_DATA: '當前及至少下壹幀的數據是可用的',\n HAVE_ENOUGH_DATA: '可用數據足以開始播放',\n NETWORK_EMPTY: '音頻/視頻尚未初始化',\n NETWORK_IDLE: '音頻/視頻是活動的且已選取資源,但並未使用網絡',\n NETWORK_LOADING: '瀏覽器正在下載數據',\n NETWORK_NO_SOURCE: '未找到音頻/視頻來源',\n MEDIA_ERR_ABORTED: '取回過程被用戶中止',\n MEDIA_ERR_NETWORK: '當下載時發生錯誤',\n MEDIA_ERR_DECODE: '當解碼時發生錯誤',\n MEDIA_ERR_SRC_NOT_SUPPORTED: '不支持的音頻/視頻格式',\n REPLAY: '重播',\n ERROR: '網絡連接似乎出現了問題',\n PLAY_TIPS: '播放',\n PAUSE_TIPS: '暫停',\n PLAYNEXT_TIPS: '下壹集',\n DOWNLOAD_TIPS: '下載',\n ROTATE_TIPS: '旋轉',\n RELOAD_TIPS: '重新載入',\n FULLSCREEN_TIPS: \"進入全屏\",\n EXITFULLSCREEN_TIPS: '退出全屏',\n CSSFULLSCREEN_TIPS: '進入樣式全屏',\n EXITCSSFULLSCREEN_TIPS: '退出樣式全屏',\n TEXTTRACK: '字幕',\n PIP: '畫中畫',\n MINIPLAYER: '迷妳播放器',\n SCREENSHOT: '截圖',\n LIVE: '正在直播',\n OFF: '關閉',\n MINIPLAYER_DRAG: '點擊按住可拖動視頻',\n AIRPLAY_TIPS: '隔空播放',\n }\n lang['jp'] = {\n HAVE_NOTHING: 'オーディオ/ビデオが準備できているか情報がありません',\n HAVE_METADATA: 'オーディオ/ビデオのメタデータは準備できています',\n HAVE_CURRENT_DATA: '現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません',\n HAVE_FUTURE_DATA: '現在、少なくとも次のフレームのデータが利用可能です',\n HAVE_ENOUGH_DATA: '利用可能なデータは再生を開始するのに十分です',\n NETWORK_EMPTY: 'オーディオ/ビデオが初期化されていません',\n NETWORK_IDLE: 'オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません',\n NETWORK_LOADING: 'ブラウザーはデータをダウンロードしています',\n NETWORK_NO_SOURCE: 'オーディオ/ビデオ のソースが見つかりません',\n MEDIA_ERR_ABORTED: 'ユーザーによってフェッチプロセスが中止されました',\n MEDIA_ERR_NETWORK: 'ダウンロード中にエラーが発生しました',\n MEDIA_ERR_DECODE: 'デコード中にエラーが発生しました',\n MEDIA_ERR_SRC_NOT_SUPPORTED: 'オーディオ/ビデオ の形式がサポートされていません',\n REPLAY: 'リプレイ',\n ERROR: 'ネットワークの接続に問題が発生しました',\n PLAY_TIPS: 'プレイ',\n PAUSE_TIPS: '一時停止',\n PLAYNEXT_TIPS: '次をプレイ',\n DOWNLOAD_TIPS: 'ダウンロード',\n ROTATE_TIPS: '回転',\n RELOAD_TIPS: '再読み込み',\n FULLSCREEN_TIPS: \"フルスクリーン\",\n EXITFULLSCREEN_TIPS: 'フルスクリーンを終了',\n CSSFULLSCREEN_TIPS: 'シアターモード',\n EXITCSSFULLSCREEN_TIPS: 'シアターモードを終了',\n TEXTTRACK: '字幕',\n PIP: 'ミニプレーヤー',\n MINIPLAYER: 'ミニプレーヤー',\n SCREENSHOT: 'スクリーンショット',\n LIVE: '生放送',\n OFF: 'オフ',\n MINIPLAYER_DRAG: 'ボタンを押して働画をドラッグする',\n AIRPLAY_TIPS: '隔空放送',\n }\n\n Object.defineProperty(player, 'lang', {\n get: function () {\n if (player.config) {\n return lang[player.config.lang] || lang['en']\n } else {\n return lang['en']\n }\n },\n set: function (value) {\n if (typeOf(value) === 'Object') {\n Object.keys(value).forEach(key => {\n lang[key] = value[key]\n })\n }\n }\n })\n\n}\n\nexport default {\n name: 's_i18n',\n method: s_i18n\n}","import EventEmitter from 'event-emitter'\nimport { findDom, createDom, hasClass, removeClass, _clearInterval, _setInterval, on, once, getBuffered2, setStyle } from './utils/util'\nimport Errors from './error'\n\nclass Proxy {\n constructor (options) {\n this._hasStart = false\n this.videoConfig = {\n controls: !!options.isShowControl,\n autoplay: options.autoplay,\n playsinline: options.playsinline,\n 'webkit-playsinline': options.playsinline,\n 'x5-playsinline': options.playsinline,\n 'x5-video-player-type': options['x5-video-player-type'] || options['x5VideoPlayerType'],\n 'x5-video-player-fullscreen': options['x5-video-player-fullscreen'] || options['x5VideoPlayerFullscreen'],\n 'x5-video-orientation': options['x5-video-orientation'] || options['x5VideoOrientation'],\n airplay: options['airplay'],\n 'webkit-airplay': options['airplay'],\n tabindex: 2,\n mediaType: options.mediaType || 'video'\n }\n if (options.muted) {\n this.videoConfig.muted = 'muted'\n }\n if (options.loop) {\n this.videoConfig.loop = 'loop'\n }\n let textTrackDom = ''\n this.textTrackShowDefault = true\n if (options.nativeTextTrack && Array.isArray(options.nativeTextTrack)) {\n if (options.nativeTextTrack.length > 0 && !options.nativeTextTrack.some(track => { return track.default })) {\n options.nativeTextTrack[0].default = true\n this.textTrackShowDefault = false\n }\n options.nativeTextTrack.some(track => {\n if (track.src && track.label && track.default) {\n textTrackDom += `<track src=\"${track.src}\" `\n if (track.kind) {\n textTrackDom += `kind=\"${track.kind}\" `\n }\n textTrackDom += `label=\"${track.label}\" `\n if (track.srclang) {\n textTrackDom += `srclang=\"${track.srclang}\" `\n }\n textTrackDom += `${track.default ? 'default' : ''}>`\n return true\n }\n })\n this.videoConfig.crossorigin = 'anonymous'\n }\n if (options.textTrackStyle) {\n let style = document.createElement('style')\n this.textTrackStyle = style\n document.head.appendChild(style)\n let styleStr = ''\n for (let index in options.textTrackStyle) {\n styleStr += `${index}: ${options.textTrackStyle[index]};`\n }\n let wrap = options.id ? `#${options.id}` : (options.el.id ? `#${options.el.id}` : `.${options.el.className}`)\n if (style.sheet.insertRule) {\n style.sheet.insertRule(`${wrap} video::cue { ${styleStr} }`, 0)\n } else if (style.sheet.addRule) {\n style.sheet.addRule(`${wrap} video::cue`, styleStr)\n }\n }\n let el = options.el ? options.el : findDom(document, `#${options.id}`)\n const XgVideoProxy = this.constructor.XgVideoProxy\n if(XgVideoProxy && this.videoConfig.mediaType === XgVideoProxy.mediaType) {\n this.video = new XgVideoProxy(el, options)\n } else {\n this.video = createDom(this.videoConfig.mediaType, textTrackDom, this.videoConfig, '')\n }\n if (options.videoStyle) {\n Object.keys(options.videoStyle).forEach(key => {\n setStyle(this.video, key, options.videoStyle[key])\n })\n }\n if (!this.textTrackShowDefault && textTrackDom) {\n let trackDoms = this.video.getElementsByTagName('Track')\n trackDoms[0].track.mode = 'hidden'\n }\n if (options.autoplay) {\n this.video.autoplay = true\n if (options.autoplayMuted) {\n this.video.muted = true\n }\n }\n\n this.ev = ['play', 'playing', 'pause', 'ended', 'error', 'seeking', 'seeked', 'progress', \n 'timeupdate', 'waiting', 'canplay', 'canplaythrough', 'durationchange', 'volumechange', 'ratechange', 'loadedmetadata', 'loadeddata', 'loadstart'\n ].map((item) => {\n return {\n [item]: `on${item.charAt(0).toUpperCase()}${item.slice(1)}`\n }\n })\n EventEmitter(this)\n\n this._interval = {}\n let lastBuffer = '0,0'\n let self = this\n\n const defaultVideoEventHandler = name => {\n // fix when video destroy called and video reload\n if (!this) {\n return\n }\n if (name === 'play') {\n this.hasStart = true\n } else if (name === 'canplay') {\n removeClass(this.root, 'xgplayer-is-enter')\n } else if (name === 'waiting') {\n this.inWaitingStart = new Date().getTime()\n } else if (name === 'playing') {\n removeClass(this.root, 'xgplayer-is-enter')\n if (this.inWaitingStart) {\n this.inWaitingStart = undefined\n }\n }\n if (name === 'error') {\n // process the error\n this._onError(name)\n } else {\n this.emit(name, this)\n }\n\n if (this.hasOwnProperty('_interval')) {\n if (['ended', 'error', 'timeupdate'].indexOf(name) < 0) {\n _clearInterval(this, 'bufferedChange')\n _setInterval(this, 'bufferedChange', function () {\n if (this.video && this.video.buffered) {\n let curBuffer = []\n for (let i = 0, len = this.video.buffered.length; i < len; i++) {\n curBuffer.push([this.video.buffered.start(i), this.video.buffered.end(i)])\n }\n if (curBuffer.toString() !== lastBuffer) {\n lastBuffer = curBuffer.toString()\n this.emit('bufferedChange', curBuffer)\n }\n }\n }, 200)\n } else {\n if (name !== 'timeupdate') {\n _clearInterval(this, 'bufferedChange')\n }\n }\n }\n }\n\n const videoEventHandler = name => {\n if(options.videoEventMiddleware && typeof options.videoEventMiddleware[name] === 'function') {\n options.videoEventMiddleware[name].call(this, this, name, defaultVideoEventHandler)\n } else {\n defaultVideoEventHandler.call(this, name);\n }\n }\n\n this.ev.forEach(item => {\n self.evItem = Object.keys(item)[0]\n let name = Object.keys(item)[0]\n self.video.addEventListener(Object.keys(item)[0], videoEventHandler.bind(self, name))\n })\n }\n /**\n * 错误监听处理逻辑抽离\n */\n _onError (name) {\n if (this.video && this.video.error) {\n this.emit(name, new Errors('other', this.currentTime, this.duration, this.networkState, this.readyState, this.currentSrc, this.src,\n this.ended, {\n line: 162,\n msg: this.error,\n handle: 'Constructor'\n }, this.video.error.code, this.video.error))\n }\n }\n\n get hasStart () {\n return this._hasStart\n }\n set hasStart (bool) {\n if (typeof bool === 'boolean' && bool === true && !this._hasStart) {\n this._hasStart = true\n this.emit('hasstart')\n }\n }\n destroy () {\n if (this.textTrackStyle) {\n this.textTrackStyle.parentNode.removeChild(this.textTrackStyle)\n }\n }\n play () {\n return this.video.play()\n }\n pause () {\n this.video.pause()\n }\n canPlayType (type) {\n return this.video.canPlayType(type)\n }\n getBufferedRange (buffered) {\n let range = [0, 0]\n let video = this.video\n if(!buffered) buffered = video.buffered\n let currentTime = video.currentTime\n if (buffered) {\n for (let i = 0, len = buffered.length; i < len; i++) {\n range[0] = buffered.start(i)\n range[1] = buffered.end(i)\n if (range[0] <= currentTime && currentTime <= range[1]) {\n break\n }\n }\n }\n if (range[0] - currentTime <= 0 && currentTime - range[1] <= 0) {\n return range\n } else {\n return [0, 0]\n }\n }\n proxyOn (event, fn) {\n on(this, event, fn, 'destroy')\n }\n proxyOnce (event, fn) {\n once(this, event, fn, 'destroy')\n }\n set autoplay (isTrue) {\n if(this.video) {\n this.video.autoplay = isTrue\n }\n }\n get autoplay () {\n if(this.video) {\n return this.video.autoplay\n } else {\n return false\n }\n }\n get buffered () {\n if(this.video) {\n return this.video.buffered\n } else {\n return undefined\n }\n }\n get buffered2 () {\n return getBuffered2(this.video.buffered)\n }\n get crossOrigin () {\n if(this.video) {\n return this.video.crossOrigin\n } else {\n return false\n }\n }\n set crossOrigin (isTrue) {\n if(this.video) {\n this.video.crossOrigin = isTrue\n }\n }\n get currentSrc () {\n if(this.video) {\n return this.video.currentSrc\n } else {\n return undefined\n }\n }\n get currentTime () {\n if(this.video) {\n return this.video.currentTime || 0\n } else {\n return 0\n }\n }\n set currentTime (time) {\n if (typeof isFinite === 'function' && !isFinite(time)) return\n if (hasClass(this.root, 'xgplayer-ended')) {\n this.once('playing', () => { this.video.currentTime = time })\n this.replay()\n } else {\n this.video.currentTime = time\n }\n this.emit('currentTimeChange', time)\n }\n get defaultMuted () {\n if(this.video) {\n return this.video.defaultMuted\n } else {\n return false\n }\n }\n set defaultMuted (isTrue) {\n if(this.video) {\n this.video.defaultMuted = isTrue\n }\n }\n get duration () {\n if(this.config.duration) {\n if(this.video) return Math.min(this.config.duration, this.video.duration)\n else return this.config.duration\n }\n if (!this.video) return null\n return this.video.duration\n }\n get ended () {\n if(this.video) {\n return this.video.ended || false\n } else {\n return true\n }\n }\n get error () {\n let err = this.video.error\n if (!err) {\n return null\n }\n let status = [{\n en: 'MEDIA_ERR_ABORTED',\n cn: '取回过程被用户中止'\n }, {\n en: 'MEDIA_ERR_NETWORK',\n cn: '当下载时发生错误'\n }, {\n en: 'MEDIA_ERR_DECODE',\n cn: '当解码时发生错误'\n }, {\n en: 'MEDIA_ERR_SRC_NOT_SUPPORTED',\n cn: '不支持音频/视频'\n }]\n return this.lang ? this.lang[status[err.code - 1].en] : status[err.code - 1].en\n }\n get loop () {\n if(this.video) {\n return this.video.loop\n } else {\n return false\n }\n }\n set loop (isTrue) {\n if(this.video) {\n this.video.loop = isTrue\n }\n }\n get muted () {\n if(this.video) {\n return this.video.muted\n } else {\n return false\n }\n }\n set muted (isTrue) {\n if(this.video) {\n this.video.muted = isTrue\n }\n }\n get networkState () {\n let status = [{\n en: 'NETWORK_EMPTY',\n cn: '音频/视频尚未初始化'\n }, {\n en: 'NETWORK_IDLE',\n cn: '音频/视频是活动的且已选取资源,但并未使用网络'\n }, {\n en: 'NETWORK_LOADING',\n cn: '浏览器正在下载数据'\n }, {\n en: 'NETWORK_NO_SOURCE',\n cn: '未找到音频/视频来源'\n }]\n return this.lang ? this.lang[status[this.video.networkState].en] : status[this.video.networkState].en\n }\n get paused () {\n // if(this.video) {\n // return this.video.paused\n // } else {\n // return false\n // }\n return hasClass(this.root, 'xgplayer-pause')\n }\n get playbackRate () {\n if(this.video) {\n return this.video.playbackRate\n } else {\n return 1\n }\n }\n set playbackRate (rate) {\n if(this.video) {\n this.video.playbackRate = rate\n }\n }\n get played () {\n if(this.video) {\n return this.video.played\n } else {\n return undefined\n }\n }\n get preload () {\n if(this.video) {\n return this.video.preload\n } else {\n return false\n }\n }\n set preload (isTrue) {\n if(this.video) {\n this.video.preload = isTrue\n }\n }\n get readyState () {\n let status = [{\n en: 'HAVE_NOTHING',\n cn: '没有关于音频/视频是否就绪的信息'\n }, {\n en: 'HAVE_METADATA',\n cn: '关于音频/视频就绪的元数据'\n }, {\n en: 'HAVE_CURRENT_DATA',\n cn: '关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒'\n }, {\n en: 'HAVE_FUTURE_DATA',\n cn: '当前及至少下一帧的数据是可用的'\n }, {\n en: 'HAVE_ENOUGH_DATA',\n cn: '可用数据足以开始播放'\n }]\n return this.lang ? this.lang[status[this.video.readyState].en] : status[this.video.readyState]\n }\n get seekable () {\n if(this.video) {\n return this.video.seekable\n } else {\n return false\n }\n }\n get seeking () {\n if(this.video) {\n return this.video.seeking\n } else {\n return false\n }\n }\n get src () {\n if(this.video) {\n return this.video.src\n } else {\n return undefined\n }\n }\n set src (url) {\n if (!hasClass(this.root, 'xgplayer-ended')) {\n this.emit('urlchange', this.video.src)\n }\n removeClass(this.root, 'xgplayer-ended xgplayer-is-replay xgplayer-is-error')\n this.video.pause()\n this.emit('pause')\n this.video.src = url\n this.emit('srcChange')\n }\n set poster (posterUrl) {\n let poster = findDom(this.root, '.xgplayer-poster')\n if (poster) {\n poster.style.backgroundImage = `url(${posterUrl})`\n }\n }\n get volume () {\n if(this.video) {\n return this.video.volume\n } else {\n return 1\n }\n }\n set volume (vol) {\n if(this.video) {\n this.video.volume = vol\n }\n }\n get fullscreen () {\n return hasClass(this.root, 'xgplayer-is-fullscreen') || hasClass(this.root, 'xgplayer-fullscreen-active')\n }\n get bullet () {\n return findDom(this.root, 'xg-danmu') ? hasClass(findDom(this.root, 'xg-danmu'), 'xgplayer-has-danmu') : false\n }\n get textTrack () {\n return hasClass(this.root, 'xgplayer-is-textTrack')\n }\n get pip () {\n return hasClass(this.root, 'xgplayer-pip-active')\n }\n get isMiniPlayer () {\n return hasClass(this.root, 'xgplayer-miniplayer-active')\n }\n}\n\nexport default Proxy\n","'use strict';\n\nvar d = require('d')\n , callable = require('es5-ext/object/valid-callable')\n\n , apply = Function.prototype.apply, call = Function.prototype.call\n , create = Object.create, defineProperty = Object.defineProperty\n , defineProperties = Object.defineProperties\n , hasOwnProperty = Object.prototype.hasOwnProperty\n , descriptor = { configurable: true, enumerable: false, writable: true }\n\n , on, once, off, emit, methods, descriptors, base;\n\non = function (type, listener) {\n\tvar data;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) {\n\t\tdata = descriptor.value = create(null);\n\t\tdefineProperty(this, '__ee__', descriptor);\n\t\tdescriptor.value = null;\n\t} else {\n\t\tdata = this.__ee__;\n\t}\n\tif (!data[type]) data[type] = listener;\n\telse if (typeof data[type] === 'object') data[type].push(listener);\n\telse data[type] = [data[type], listener];\n\n\treturn this;\n};\n\nonce = function (type, listener) {\n\tvar once, self;\n\n\tcallable(listener);\n\tself = this;\n\ton.call(this, type, once = function () {\n\t\toff.call(self, type, once);\n\t\tapply.call(listener, this, arguments);\n\t});\n\n\tonce.__eeOnceListener__ = listener;\n\treturn this;\n};\n\noff = function (type, listener) {\n\tvar data, listeners, candidate, i;\n\n\tcallable(listener);\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return this;\n\tdata = this.__ee__;\n\tif (!data[type]) return this;\n\tlisteners = data[type];\n\n\tif (typeof listeners === 'object') {\n\t\tfor (i = 0; (candidate = listeners[i]); ++i) {\n\t\t\tif ((candidate === listener) ||\n\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n\t\t\t\tif (listeners.length === 2) data[type] = listeners[i ? 0 : 1];\n\t\t\t\telse listeners.splice(i, 1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif ((listeners === listener) ||\n\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n\t\t\tdelete data[type];\n\t\t}\n\t}\n\n\treturn this;\n};\n\nemit = function (type) {\n\tvar i, l, listener, listeners, args;\n\n\tif (!hasOwnProperty.call(this, '__ee__')) return;\n\tlisteners = this.__ee__[type];\n\tif (!listeners) return;\n\n\tif (typeof listeners === 'object') {\n\t\tl = arguments.length;\n\t\targs = new Array(l - 1);\n\t\tfor (i = 1; i < l; ++i) args[i - 1] = arguments[i];\n\n\t\tlisteners = listeners.slice();\n\t\tfor (i = 0; (listener = listeners[i]); ++i) {\n\t\t\tapply.call(listener, this, args);\n\t\t}\n\t} else {\n\t\tswitch (arguments.length) {\n\t\tcase 1:\n\t\t\tcall.call(listeners, this);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tcall.call(listeners, this, arguments[1]);\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tcall.call(listeners, this, arguments[1], arguments[2]);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tl = arguments.length;\n\t\t\targs = new Array(l - 1);\n\t\t\tfor (i = 1; i < l; ++i) {\n\t\t\t\targs[i - 1] = arguments[i];\n\t\t\t}\n\t\t\tapply.call(listeners, this, args);\n\t\t}\n\t}\n};\n\nmethods = {\n\ton: on,\n\tonce: once,\n\toff: off,\n\temit: emit\n};\n\ndescriptors = {\n\ton: d(on),\n\tonce: d(once),\n\toff: d(off),\n\temit: d(emit)\n};\n\nbase = defineProperties({}, descriptors);\n\nmodule.exports = exports = function (o) {\n\treturn (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n};\nexports.methods = methods;\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src /*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1 /*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString /*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n","'use strict';\n\nvar value = require('es5-ext/object/valid-object')\n\n , hasOwnProperty = Object.prototype.hasOwnProperty;\n\nmodule.exports = function (emitter/*, type*/) {\n\tvar type = arguments[1], data;\n\n\tvalue(emitter);\n\n\tif (type !== undefined) {\n\t\tdata = hasOwnProperty.call(emitter, '__ee__') && emitter.__ee__;\n\t\tif (!data) return;\n\t\tif (data[type]) delete data[type];\n\t\treturn;\n\t}\n\tif (hasOwnProperty.call(emitter, '__ee__')) delete emitter.__ee__;\n};\n","\"use strict\";\n\nvar isObject = require(\"./is-object\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/lib/index.js!../../../node_modules/sass-loader/lib/loader.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default{background:#000;width:100%;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.xgplayer-skin-default *{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.xgplayer-skin-default.xgplayer-rotate-fullscreen{position:absolute;top:0;left:100%;bottom:0;right:0;height:100vw!important;width:100vh!important;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.xgplayer-skin-default.xgplayer-is-fullscreen{width:100%!important;height:100%!important;padding-top:0!important;z-index:9999}.xgplayer-skin-default.xgplayer-is-fullscreen.xgplayer-inactive{cursor:none}.xgplayer-skin-default video{width:100%;height:100%;outline:none}.xgplayer-skin-default .xgplayer-none{display:none}@-webkit-keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingRotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}@keyframes loadingDashOffset{0%{stroke-dashoffset:236}to{stroke-dashoffset:0}}.xgplayer-skin-default .xgplayer-controls{display:-webkit-flex;display:-moz-box;display:flex;position:absolute;bottom:0;left:0;right:0;height:40px;background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.37),rgba(0,0,0,.75),rgba(0,0,0,.75));z-index:10}.xgplayer-skin-default.xgplayer-inactive .xgplayer-controls,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-progress,.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-time,.xgplayer-skin-default.xgplayer-no-controls .xgplayer-controls,.xgplayer-skin-default.xgplayer-nostart .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer-is-live .xgplayer-controls .xgplayer-live{display:block}.xgplayer-skin-default .xgplayer-live{display:block;font-size:12px;color:#fff;line-height:40px;-webkit-order:1;-moz-box-ordinal-group:2;order:1}.xgplayer-skin-default .xgplayer-icon{display:block;width:40px;height:40px;overflow:hidden;fill:#fff}.xgplayer-skin-default .xgplayer-icon svg{position:absolute}.xgplayer-skin-default .xgplayer-tips{background:rgba(0,0,0,.54);border-radius:1px;display:none;position:absolute;font-family:PingFangSC-Regular;font-size:11px;color:#fff;padding:2px 4px;text-align:center;top:-30px;left:50%;margin-left:-16px;width:auto;white-space:nowrap}.xgplayer-skin-default.xgplayer-mobile .xgplayer-tips{display:none!important}.xgplayer-skin-default .xgplayer-screen-container{display:block;width:100%}\", \"\"]);\n\n// exports\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","import { hasClass } from '../utils/util'\n\nlet mobile = function () {\n let player = this\n let root = player.root\n let clk = 0; let _click_\n let clickedTime = {\n first: '',\n second: ''\n }\n\n player.onElementTouchend = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (hasClass(root, 'xgplayer-inactive')) {\n player.emit('focus')\n } else {\n player.emit('blur')\n }\n if (!player.config.closeVideoTouch && !player.isTouchMove) {\n function onTouch() {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n }\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.first = new Date()\n } else {\n onTouch()\n }\n } else if (clk === 2) {\n if(player.config.enableVideoDbltouch) {\n clickedTime.second = new Date()\n if (Math.abs(clickedTime.first - clickedTime.second) < 400) {\n // 双击\n onTouch()\n } else {\n clickedTime.first = new Date()\n clk = 1\n }\n } else {\n clk = 0\n }\n } else {\n clk = 0\n }\n }\n }\n }\n\n function onReady (e) {\n player.video.addEventListener('touchend', function (e) {\n player.onElementTouchend(e, player.video)\n })\n player.video.addEventListener('touchstart', () => {\n player.isTouchMove = false\n })\n player.video.addEventListener('touchmove', () => {\n player.isTouchMove = true\n })\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'mobile',\n method: mobile\n}","import { hasClass } from '../utils/util'\n\nlet pc = function () {\n let player = this\n if(!player.controls || !player.video) return\n let controls = player.controls; let root = player.root\n let clk = 0; let _click_\n\n player.onElementClick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoClick) {\n clk++\n if (_click_) {\n clearTimeout(_click_)\n }\n if (clk === 1) {\n _click_ = setTimeout(function () {\n if (hasClass(player.root, 'xgplayer-nostart')) {\n return false\n } else if (!player.ended) {\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n clk = 0\n }, 200)\n } else {\n clk = 0\n }\n }\n }\n player.video.addEventListener('click', function (e) { player.onElementClick(e, player.video) }, false)\n\n player.onElementDblclick = function (e, element) {\n if(!this.config.closeVideoPreventDefault) {\n e.preventDefault()\n }\n if(!this.config.closeVideoStopPropagation) {\n e.stopPropagation()\n }\n let player = this\n if (!player.config.closeVideoDblclick) {\n let fullscreen = controls.querySelector('.xgplayer-fullscreen')\n if (fullscreen) {\n let clk\n if (document.createEvent) {\n clk = document.createEvent('Event')\n clk.initEvent('click', true, true)\n } else {\n clk = new Event('click')\n }\n fullscreen.dispatchEvent(clk)\n }\n }\n }\n player.video.addEventListener('dblclick', function (e) { player.onElementDblclick(e, player.video) }, false)\n\n function onMouseEnter () {\n clearTimeout(player.leavePlayerTimer)\n player.emit('focus', player)\n }\n root.addEventListener('mouseenter', onMouseEnter)\n\n function onMouseLeave () {\n if(!player.config.closePlayerBlur) {\n player.leavePlayerTimer = setTimeout(function () {\n player.emit('blur', player)\n }, player.config.leavePlayerTime || 0)\n }\n }\n root.addEventListener('mouseleave', onMouseLeave)\n\n function onControlMouseEnter (e) {\n if (player.userTimer) {\n clearTimeout(player.userTimer)\n }\n }\n controls.addEventListener('mouseenter', onControlMouseEnter)\n\n function onControlMouseLeave (e) {\n if(!player.config.closeControlsBlur) {\n player.emit('focus', player)\n }\n }\n controls.addEventListener('mouseleave', onControlMouseLeave)\n\n function onControlClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n controls.addEventListener('click', onControlClick)\n\n function onReady (e) {\n if (player.config.autoplay) {\n player.start()\n }\n }\n player.once('ready', onReady)\n\n function onDestroy () {\n root.removeEventListener('mouseenter', onMouseEnter)\n root.removeEventListener('mouseleave', onMouseLeave)\n player.off('ready', onReady)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pc',\n method: pc\n}","import { addClass, hasClass, removeClass } from '../utils/util'\n\nlet start = function () {\n let player = this\n let root = player.root\n\n function onCanPlay () {\n player.off('canplay', onCanPlay)\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n\n function onStartBtnClick () {\n if (hasClass(root, 'xgplayer-nostart')) {\n removeClass(root, 'xgplayer-nostart') // for ie quick switch\n addClass(root, 'xgplayer-is-enter')\n\n if(typeof root.contains === 'function') {\n if((player.video && player.video.nodeType === 1 && !root.contains(player.video)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n } else {\n if((player.video && player.video.nodeType === 1 && !root.querySelector(this.videoConfig.mediaType)) || (player.video && player.video.nodeType !== 1 && player.video.mediaSource === undefined)) {\n player.once('canplay', onCanPlay)\n player.start()\n } else {\n onCanPlay()\n }\n }\n } else {\n if (player.paused) {\n removeClass(root, 'xgplayer-nostart xgplayer-isloading')\n setTimeout(() => {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }, 10)\n }\n }\n }\n player.on('startBtnClick', onStartBtnClick)\n\n function onDestroy () {\n player.off('startBtnClick', onStartBtnClick)\n player.off('canplay', onCanPlay)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'start',\n method: start\n}","import { createDom, addClass, removeClass, isWeiXin, isUc } from '../../utils/util'\nimport StartPlayIcon from '../assets/startPlay.svg'\nimport StartPauseIcon from '../assets/startPause.svg'\nimport '../style/controls/start.scss'\n\nlet s_start = function () {\n let player = this\n let root = player.root\n let btn = createDom('xg-start', `<div class=\"xgplayer-icon-play\">${StartPlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${StartPauseIcon}</div>`, {}, 'xgplayer-start')\n function onPlayerReady(player) {\n addClass(player.root, 'xgplayer-skin-default')\n if (player.config) {\n player.config.autoplay && !isWeiXin() && !isUc() && addClass(player.root, 'xgplayer-is-enter')\n if (player.config.lang && player.config.lang === 'en') {\n addClass(player.root, 'xgplayer-lang-is-en')\n } else if (player.config.lang === 'jp') {\n addClass(player.root, 'xgplayer-lang-is-jp')\n }\n if(!player.config.enableContextmenu) {\n player.video.addEventListener('contextmenu', e => {\n e.preventDefault()\n e.stopPropagation()\n })\n }\n }\n }\n\n if(player.config && player.config.hideStartBtn) {\n addClass(root, 'xgplayer-start-hide')\n }\n\n if (player.isReady) {\n root.appendChild(btn)\n onPlayerReady(player)\n } else {\n player.once('ready', () => {\n root.appendChild(btn)\n onPlayerReady(player)\n });\n }\n\n player.once('autoplay was prevented', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n addClass(player.root, 'xgplayer-nostart')\n })\n\n player.once('canplay', () => {\n removeClass(player.root, 'xgplayer-is-enter')\n })\n\n btn.onclick = e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('startBtnClick')\n }\n}\n\nexport default {\n name: 's_start',\n method: s_start\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04,0.04)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"70\\\" height=\\\"70\\\" viewBox=\\\"0 0 70 70\\\">\\n <path transform=\\\"translate(15,15) scale(0.04 0.04)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./start.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-start{border-radius:50%;display:inline-block;width:70px;height:70px;background:rgba(0,0,0,.38);overflow:hidden;text-align:center;line-height:70px;vertical-align:middle;position:absolute;left:50%;top:50%;z-index:115;margin:-35px auto auto -35px;cursor:pointer}.xgplayer-skin-default .xgplayer-start div{position:absolute}.xgplayer-skin-default .xgplayer-start div svg{fill:hsla(0,0%,100%,.7)}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-start:hover{opacity:.85}.xgplayer-skin-default.xgplayer-pause.xgplayer-start-hide .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start,.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-start-hide .xgplayer-start{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-start .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start{display:inline-block}.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start,.xgplayer-skin-default.xgplayer-pause .xgplayer-start .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-play{display:block}.xgplayer-skin-default.xgplayer-is-replay .xgplayer-start .xgplayer-icon-pause{display:none}\", \"\"]);\n\n// exports\n","import { hasClass, addClass, removeClass, PresentationMode, checkWebkitSetPresentationMode } from '../utils/util'\n\nlet fullscreen = function () {\n let player = this\n let root = player.root\n\n function onFullscreenBtnClick () {\n if (player.config.rotateFullscreen) {\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n player.exitRotateFullscreen()\n } else {\n player.getRotateFullscreen()\n }\n } else {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n player.exitFullscreen(root)\n } else {\n player.getFullscreen(root)\n }\n }\n }\n player.on('fullscreenBtnClick', onFullscreenBtnClick)\n\n function onFullscreenChange () {\n let fullscreenEl = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement\n if (fullscreenEl && fullscreenEl === root) {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n } else if (hasClass(root, 'xgplayer-is-fullscreen')) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n if (player.danmu && typeof player.danmu.resize === 'function') {\n player.danmu.resize()\n }\n };\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.addEventListener(item, onFullscreenChange)\n })\n\n player.video.addEventListener('webkitbeginfullscreen', function () {\n addClass(root, 'xgplayer-is-fullscreen')\n player.emit('requestFullscreen')\n })\n\n player.video.addEventListener('webkitendfullscreen', function () {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n })\n\n function onWebkitpresentationmodechanged (e) {\n const mode = player.video.webkitPresentationMode\n // 非全屏模式 退出全屏\n if (mode !== PresentationMode.FULLSCREEN) {\n removeClass(root, 'xgplayer-is-fullscreen')\n player.emit('exitFullscreen')\n }\n }\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('fullscreenBtnClick', onFullscreenBtnClick);\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'].forEach(item => {\n document.removeEventListener(item, onFullscreenChange)\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getFullscreen = function (el) {\n let player = this\n if (el.requestFullscreen) {\n let fullscreenPromise = el.requestFullscreen()\n if (fullscreenPromise) {\n fullscreenPromise.catch(function () {\n player.emit('fullscreen error')\n })\n }\n } else if (el.mozRequestFullScreen) {\n el.mozRequestFullScreen()\n } else if (el.webkitRequestFullscreen) {\n el.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT)\n } else if (player.video.webkitSupportsFullscreen) {\n player.video.webkitEnterFullscreen()\n } else if (el.msRequestFullscreen) {\n el.msRequestFullscreen()\n } else {\n addClass(el, 'xgplayer-is-cssfullscreen')\n }\n }\n\n player.exitFullscreen = function (el) {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n removeClass(el, 'xgplayer-is-cssfullscreen')\n }\n\n player.getRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = '100%'\n document.documentElement.style.height = '100%'\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n player.root.style['max-width'] = 'unset'\n }\n if (player.root && !hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n addClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('getRotateFullscreen')\n }\n\n player.exitRotateFullscreen = function () {\n let player = this\n document.documentElement.style.width = 'unset'\n document.documentElement.style.height = 'unset'\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n player.root.style['max-width'] = '100%'\n }\n if (player.root && hasClass(player.root, 'xgplayer-rotate-fullscreen')) {\n removeClass(player.root, 'xgplayer-rotate-fullscreen')\n }\n player.emit('exitRotateFullscreen')\n }\n}\n\nexport default {\n name: 'fullscreen',\n method: fullscreen\n}\n","import { hasClass } from '../utils/util'\n\nlet play = function () {\n let player = this\n\n function onPlayBtnClick () {\n if (!player.config.allowPlayAfterEnded && player.ended) {\n return\n }\n if(hasClass(player.root, 'xgplayer-nostart')) {\n player.start()\n }\n if (player.paused) {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n } else {\n player.pause()\n }\n }\n player.on('playBtnClick', onPlayBtnClick)\n\n function onDestroy () {\n player.off('playBtnClick', onPlayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'play',\n method: play\n}","import { addClass, removeClass } from '../utils/util'\n\nlet replay = function () {\n let player = this\n let root = player.root\n\n function onReplayBtnClick () {\n removeClass(root, 'xgplayer-is-replay')\n player.replay()\n }\n player.on('replayBtnClick', onReplayBtnClick)\n\n function onEnded () {\n if (!player.config.loop) {\n addClass(root, 'xgplayer-is-replay')\n }\n }\n player.on('ended', onEnded)\n\n function onDestroy () {\n player.off('replayBtnClick', onReplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'replay',\n method: replay\n}","import { createDom, createImgBtn } from '../../utils/util'\nimport PlayIcon from '../assets/play.svg'\nimport PauseIcon from '../assets/pause.svg'\nimport '../style/controls/play.scss'\n\nlet s_play = function () {\n let player = this\n let playBtn = player.config.playBtn ? player.config.playBtn : {}\n let btn\n if (playBtn.type === 'img') {\n btn = createImgBtn('play', playBtn.url.play, playBtn.width, playBtn.height)\n } else {\n btn = createDom('xg-play', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-play\">${PlayIcon}</div>\n <div class=\"xgplayer-icon-pause\">${PauseIcon}</div>\n </xg-icon>`, {}, 'xgplayer-play')\n }\n\n let tipsText = {}\n tipsText.play = player.lang.PLAY_TIPS\n tipsText.pause = player.lang.PAUSE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-play\">${tipsText.play}</span>\n <span class=\"xgplayer-tip-pause\">${tipsText.pause}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('playBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_play',\n method: s_play\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"translate(2,2) scale(0.0320625 0.0320625)\\\" d=\\\"M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./play.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-play,.xgplayer-skin-default .xgplayer-play-img{width:40px;position:relative;-webkit-order:0;-moz-box-ordinal-group:1;order:0;display:block;cursor:pointer;margin-left:3px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-play .xgplayer-icon{margin-top:3px;width:32px}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-play .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}.xgplayer-skin-default .xgplayer-play-img:hover,.xgplayer-skin-default .xgplayer-play:hover{opacity:.85}.xgplayer-skin-default .xgplayer-play-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-play:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-play{display:none}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:block}.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-play,.xgplayer-skin-default.xgplayer-playing .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-playing .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-icon .xgplayer-icon-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-icon .xgplayer-icon-pause{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-play,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-play{display:block}.xgplayer-skin-default.xgplayer-pause .xgplayer-play-img .xgplayer-tips .xgplayer-tip-pause,.xgplayer-skin-default.xgplayer-pause .xgplayer-play .xgplayer-tips .xgplayer-tip-pause{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/poster.scss'\n\nlet s_poster = function () {\n let player = this\n let root = player.root\n if (!player.config.poster) {\n return\n }\n let poster = createDom('xg-poster', '', {}, 'xgplayer-poster')\n poster.style.backgroundImage = `url(${player.config.poster})`\n root.appendChild(poster)\n}\n\nexport default {\n name: 's_poster',\n method: s_poster\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./poster.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-poster{display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;background-size:cover;background-position:50%}.xgplayer-skin-default.xgplayer-nostart .xgplayer-poster{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/placeholder.scss'\n\nlet s_flex = function () {\n let player = this\n let playceholder = createDom('xg-placeholder', '', {}, 'xgplayer-placeholder')\n player.controls.appendChild(playceholder)\n}\n\nexport default {\n name: 's_flex',\n method: s_flex\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./placeholder.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-placeholder{-webkit-flex:1;-moz-box-flex:1;flex:1;-webkit-order:3;-moz-box-ordinal-group:4;order:3;display:block}\", \"\"]);\n\n// exports\n","import { createDom, createImgBtn } from '../../utils/util'\nimport RequestFullIcon from '../assets/requestFull.svg'\nimport ExitFullIcon from '../assets/exitFull.svg'\nimport '../style/controls/fullscreen.scss'\n\nlet s_fullscreen = function () {\n let player = this\n let fullscreenBtn = player.config.fullscreenBtn ? player.config.fullscreenBtn : {}\n let btn\n if (fullscreenBtn.type === 'img') {\n btn = createImgBtn('fullscreen', fullscreenBtn.url.request, fullscreenBtn.width, fullscreenBtn.height)\n } else {\n btn = createDom('xg-fullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-fullscreen')\n }\n\n let tipsText = {}\n tipsText.requestfull = player.lang.FULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(btn)\n }\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('fullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_fullscreen',\n method: s_fullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.0320625 0.0320625)\\\" d=\\\"M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./fullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-fullscreen,.xgplayer-skin-default .xgplayer-fullscreen-img{position:relative;-webkit-order:13;-moz-box-ordinal-group:14;order:13;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-fullscreen-img:hover,.xgplayer-skin-default .xgplayer-fullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-fullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-fullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-rotate-fullscreen .xgplayer-fullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport Loading from '../assets/loading.svg'\nimport '../style/controls/loading.scss'\n\nlet s_loading = function () {\n let player = this\n let root = player.root\n let container = createDom('xg-loading', `${Loading}`, {}, 'xgplayer-loading')\n player.once('ready', () => {\n root.appendChild(container)\n })\n}\n\nexport default {\n name: 's_loading',\n method: s_loading\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"100\\\" height=\\\"100\\\" viewbox=\\\"0 0 100 100\\\">\\n <path d=\\\"M100,50A50,50,0,1,1,50,0\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./loading.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-loading{display:none;width:100px;height:100px;overflow:hidden;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7);position:absolute;left:50%;top:50%;margin:-50px auto auto -50px}.xgplayer-skin-default .xgplayer-loading svg{border-radius:50%;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:loadingRotate 1s linear infinite;animation:loadingRotate 1s linear infinite}.xgplayer-skin-default .xgplayer-loading svg path{stroke:#ddd;stroke-dasharray:236;-webkit-animation:loadingDashOffset 2s linear infinite;animation:loadingDashOffset 2s linear infinite;animation-direction:alternate-reverse;fill:none;stroke-width:12px}.xgplayer-skin-default.xgplayer-nostart .xgplayer-loading{display:none}.xgplayer-skin-default.xgplayer-pause .xgplayer-loading{display:none!important}.xgplayer-skin-default.xgplayer-isloading .xgplayer-loading{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass, typeOf, event, format, findDom } from '../../utils/util'\r\nimport sniffer from '../../utils/sniffer'\r\nimport '../style/controls/progress.scss'\r\n\r\nconst isRotateFullscreen = (player) => {\r\n return hasClass(player.root, 'xgplayer-rotate-fullscreen')\r\n}\r\n\r\nlet s_progress = function () {\r\n let player = this\r\n let container = createDom('xg-progress', `<xg-outer class=\"xgplayer-progress-outer\">\r\n <xg-cache class=\"xgplayer-progress-cache\"></xg-cache>\r\n <xg-played class=\"xgplayer-progress-played\">\r\n <xg-progress-btn class=\"xgplayer-progress-btn\"></xg-progress-btn>\r\n <xg-point class=\"xgplayer-progress-point xgplayer-tips\"></xg-point>\r\n <xg-thumbnail class=\"xgplayer-progress-thumbnail xgplayer-tips\"></xg-thumbnail>\r\n </xg-played>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-progress')\r\n let containerWidth\r\n player.controls.appendChild(container)\r\n let progress = container.querySelector('.xgplayer-progress-played')\r\n let outer = container.querySelector('.xgplayer-progress-outer')\r\n let cache = container.querySelector('.xgplayer-progress-cache')\r\n let point = container.querySelector('.xgplayer-progress-point')\r\n let thumbnail = container.querySelector('.xgplayer-progress-thumbnail')\r\n player.dotArr = {}\r\n function dotEvent (dotItem, text) {\r\n dotItem.addEventListener('mouseenter', function (e) {\r\n if (text) {\r\n addClass(dotItem, 'xgplayer-progress-dot-show')\r\n addClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('mouseleave', function (e) {\r\n if (text) {\r\n removeClass(dotItem, 'xgplayer-progress-dot-show')\r\n removeClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n dotItem.addEventListener('touchend', function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n if (text) {\r\n if (!hasClass(dotItem, 'xgplayer-progress-dot-show')) {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n removeClass(player.dotArr[key], 'xgplayer-progress-dot-show')\r\n }\r\n })\r\n }\r\n toggleClass(dotItem, 'xgplayer-progress-dot-show')\r\n toggleClass(container, 'xgplayer-progress-dot-active')\r\n }\r\n })\r\n }\r\n function onCanplay () {\r\n if (player.config.progressDot && typeOf(player.config.progressDot) === 'Array') {\r\n player.config.progressDot.forEach(item => {\r\n if (item.time >= 0 && item.time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', item.text ? `<span class=\"xgplayer-progress-tip\">${item.text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (item.time / player.duration) * 100 + '%'\r\n if (item.duration >= 0) {\r\n dot.style.width = (Math.min(item.duration, player.duration - item.time) / player.duration) * 100 + '%'\r\n }\r\n if(item.style) {\r\n for(let k in item.style) {\r\n dot.style[k] = item.style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[item.time] = dot\r\n dotEvent(dot, item.text)\r\n }\r\n })\r\n }\r\n }\r\n player.once('canplay', onCanplay)\r\n player.addProgressDot = function (time, text, duration, style) {\r\n if (player.dotArr[time]) {\r\n return\r\n }\r\n if (time >= 0 && time <= player.duration) {\r\n let dot = createDom('xg-progress-dot', text ? `<span class=\"xgplayer-progress-tip\">${text}</span>` : '', {}, 'xgplayer-progress-dot')\r\n dot.style.left = (time / player.duration) * 100 + '%'\r\n if (duration >= 0) {\r\n dot.style.width = (Math.min(duration, player.duration - time) / player.duration) * 100 + '%'\r\n }\r\n if(style) {\r\n for(let k in style) {\r\n dot.style[k] = style[k]\r\n }\r\n }\r\n outer.appendChild(dot)\r\n player.dotArr[time] = dot\r\n dotEvent(dot, text)\r\n }\r\n }\r\n player.removeProgressDot = function (time) {\r\n if (time >= 0 && time <= player.duration && player.dotArr[time]) {\r\n let dot = player.dotArr[time]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[time] = null\r\n }\r\n }\r\n player.removeAllProgressDot = function () {\r\n Object.keys(player.dotArr).forEach(function (key) {\r\n if (player.dotArr[key]) {\r\n let dot = player.dotArr[key]\r\n dot.parentNode.removeChild(dot)\r\n dot = null\r\n player.dotArr[key] = null\r\n }\r\n })\r\n }\r\n let tnailPicNum = 0\r\n let tnailWidth = 0\r\n let tnailHeight = 0\r\n let tnailCol = 0\r\n let tnailRow = 0\r\n let interval = 0\r\n let tnailUrls = []\r\n let coverPreviewContainer, coverPreviewPoint, coverPreviewOuter\r\n let onLoadedmetadata = function() {\r\n if (player.config.thumbnail) {\r\n if(player.config.thumbnail.isShowCoverPreview && !coverPreviewContainer) {\r\n progress.removeChild(thumbnail)\r\n coverPreviewContainer = createDom('xg-coverpreview', `<xg-outer class=\"xgplayer-coverpreview-outer\">\r\n <xg-thumbnail class=\"xgplayer-coverpreview-thumbnail\"></xg-thumbnail>\r\n <xg-point class=\"xgplayer-coverpreview-point\"></xg-point>\r\n </xg-outer>`, {tabindex: 1}, 'xgplayer-coverpreview')\r\n coverPreviewOuter = coverPreviewContainer.querySelector('.xgplayer-coverpreview-outer')\r\n coverPreviewPoint = coverPreviewContainer.querySelector('.xgplayer-coverpreview-point')\r\n thumbnail = coverPreviewContainer.querySelector('.xgplayer-coverpreview-thumbnail')\r\n player.root.appendChild(coverPreviewContainer)\r\n }\r\n tnailPicNum = player.config.thumbnail.pic_num\r\n tnailWidth = player.config.thumbnail.width\r\n tnailHeight = player.config.thumbnail.height\r\n tnailCol = player.config.thumbnail.col\r\n tnailRow = player.config.thumbnail.row\r\n tnailUrls = player.config.thumbnail.urls\r\n thumbnail.style.width = `${tnailWidth}px`\r\n thumbnail.style.height = `${tnailHeight}px`\r\n };\r\n };\r\n player.on('loadedmetadata', onLoadedmetadata);\r\n\r\n if (typeof player.config.disableSwipeHandler === 'function' && typeof player.config.enableSwipeHandler === 'function') {\r\n player.root.addEventListener('touchmove', e => {\r\n e.preventDefault();\r\n // e.stopPropagation();\r\n if (!player.disableSwipe) {\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n }\r\n });\r\n player.root.addEventListener('touchstart', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = true\r\n player.config.disableSwipeHandler.call(player);\r\n });\r\n player.root.addEventListener('touchend', e => {\r\n // e.preventDefault();\r\n player.disableSwipe = false\r\n player.config.enableSwipeHandler.call(player);\r\n });\r\n };\r\n let events = ['touchstart', 'mousedown'];\r\n if (sniffer.device === 'mobile') {\r\n // 解决在移动端触发多次seeking问题\r\n events.pop()\r\n }\r\n events.forEach(item => {\r\n container.addEventListener(item, function (e) {\r\n if (player.config.disableProgress) return;\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n if (e._target === point || (!player.config.allowSeekAfterEnded && player.ended)) {\r\n return true\r\n }\r\n\r\n container.focus()\r\n let {left} = progress.getBoundingClientRect()\r\n\r\n const isRotate = isRotateFullscreen(player)\r\n if (isRotate) {\r\n left = progress.getBoundingClientRect().top\r\n containerWidth = container.getBoundingClientRect().height\r\n } else {\r\n containerWidth = container.getBoundingClientRect().width\r\n left = progress.getBoundingClientRect().left\r\n }\r\n\r\n let move = function (e) {\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n player.isProgressMoving = true\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n\r\n if (player.videoConfig.mediaType === 'video' && !player.dash && !player.config.closeMoveSeek) {\r\n console.log('trigger touchmove')\r\n player.currentTime = Number(now).toFixed(1)\r\n } else {\r\n let time = findDom(player.controls, '.xgplayer-time')\r\n if (time) {\r\n time.innerHTML = `<span class=\"xgplayer-time-current\">${format(now || 0)}</span><span>${format(player.duration)}</span>`\r\n }\r\n }\r\n }\r\n\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewPoint.innerHTML = `<span>${format(now)}</span> / ${format(player.duration || 0)}`\r\n\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n coverPreviewContainer.style.display = 'block'\r\n }\r\n \r\n player.emit('focus')\r\n }\r\n let up = function (e) {\r\n console.log('up event', e)\r\n // e.preventDefault()\r\n e.stopPropagation()\r\n event(e)\r\n window.removeEventListener('mousemove', move)\r\n window.removeEventListener('touchmove', move, { passive: false })\r\n window.removeEventListener('mouseup', up)\r\n window.removeEventListener('touchend', up)\r\n if(sniffer.browser.indexOf('ie') < 0) {\r\n container.blur()\r\n }\r\n if (!player.isProgressMoving || (player.videoConfig && player.videoConfig.mediaType === 'audio') || player.dash || player.config.closeMoveSeek) {\r\n let w = (isRotate ? e.clientY : e.clientX) - left\r\n if (w > containerWidth) {\r\n w = containerWidth\r\n }\r\n let now = w / containerWidth * player.duration\r\n if(now < 0) now = 0\r\n if(player.config.allowSeekPlayed && (Number(now).toFixed(1) > player.maxPlayedTime)) {}\r\n else {\r\n progress.style.width = `${w * 100 / containerWidth}%`\r\n console.warn('trigger touchup')\r\n player.currentTime = Number(now).toFixed(1)\r\n }\r\n }\r\n if(player.config.thumbnail && player.config.thumbnail.isShowCoverPreview) {\r\n coverPreviewContainer.style.display = 'none'\r\n }\r\n player.emit('focus')\r\n player.isProgressMoving = false\r\n }\r\n // if (item === 'touchstart') {\r\n window.addEventListener('touchmove', move, { passive: false })\r\n window.addEventListener('touchend', up)\r\n // } else {\r\n window.addEventListener('mousemove', move)\r\n // console.warn('add envent mouseup')\r\n window.addEventListener('mouseup', up)\r\n // }\r\n return true\r\n })\r\n })\r\n\r\n container.addEventListener('mouseenter', function (e) {\r\n if (!player.config.allowSeekAfterEnded && player.ended) {\r\n return true\r\n }\r\n const isRotate = isRotateFullscreen(player)\r\n let containerLeft = isRotate ? container.getBoundingClientRect().top : container.getBoundingClientRect().left\r\n let containerWidth = isRotate ? container.getBoundingClientRect().height : container.getBoundingClientRect().width\r\n\r\n let compute = function (e) {\r\n let now = ((isRotate ? e.clientY : e.clientX) - containerLeft) / containerWidth * player.duration\r\n now = now < 0 ? 0 : now\r\n point.textContent = format(now)\r\n let pointWidth = point.getBoundingClientRect().width\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n interval = player.duration / tnailPicNum\r\n let index = Math.floor(now / interval)\r\n thumbnail.style.backgroundImage = `url(${tnailUrls[Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1]})`\r\n let indexInPage = index + 1 - (tnailCol * tnailRow) * (Math.ceil((index + 1) / (tnailCol * tnailRow)) - 1)\r\n let tnaiRowIndex = Math.ceil(indexInPage / tnailRow) - 1\r\n let tnaiColIndex = indexInPage - tnaiRowIndex * tnailRow - 1\r\n thumbnail.style['background-position'] = `-${tnaiColIndex * tnailWidth}px -${tnaiRowIndex * tnailHeight}px`\r\n let left = (isRotate ? e.clientY : e.clientX) - containerLeft - tnailWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left < containerWidth - tnailWidth ? left : containerWidth - tnailWidth\r\n thumbnail.style.left = `${left}px`\r\n thumbnail.style.top = `${-10 - tnailHeight}px`\r\n thumbnail.style.display = 'block'\r\n point.style.left = `${left + tnailWidth / 2 - pointWidth / 2}px`\r\n } else {\r\n let left = e.clientX - containerLeft - pointWidth / 2\r\n left = left > 0 ? left : 0\r\n left = left > containerWidth - pointWidth ? containerWidth - pointWidth : left\r\n point.style.left = `${left}px`\r\n }\r\n if (hasClass(container, 'xgplayer-progress-dot-active')) {\r\n point.style.display = 'none'\r\n } else {\r\n point.style.display = 'block'\r\n }\r\n }\r\n let move = function (e) {\r\n compute(e)\r\n }\r\n let leave = function (e) {\r\n container.removeEventListener('mousemove', move, false)\r\n container.removeEventListener('mouseleave', leave, false)\r\n compute(e)\r\n point.style.display = 'none'\r\n if (player.config.thumbnail && !player.config.thumbnail.isShowCoverPreview) {\r\n thumbnail.style.display = 'none'\r\n }\r\n }\r\n container.addEventListener('mousemove', move, false)\r\n container.addEventListener('mouseleave', leave, false)\r\n compute(e)\r\n }, false)\r\n\r\n // let lastBtnLeft = false\r\n let onTimeupdate = function () {\r\n if(player.maxPlayedTime === undefined) player.maxPlayedTime = 0\r\n if(player.maxPlayedTime < player.currentTime) player.maxPlayedTime = player.currentTime\r\n if (!containerWidth && container) {\r\n containerWidth = container.getBoundingClientRect().width\r\n }\r\n if (!player.isProgressMoving && !player.isSeeking && !player.seeking) {\r\n const precent = player.currentTime / player.duration\r\n const prevPrecent = Number(progress.style.width.replace('%', '') || '0') / Number(container.style.width || '100');\r\n if (Math.abs(precent - prevPrecent) <= 1) {\r\n progress.style.width = `${player.currentTime * 100 / player.duration}%`\r\n }\r\n }\r\n }\r\n player.on('timeupdate', onTimeupdate)\r\n\r\n let onCurrentTimeChange = function (time) {\r\n progress.style.width = `${time * 100 / player.duration}%`\r\n }\r\n player.on('currentTimeChange', onCurrentTimeChange)\r\n\r\n let onSrcChange = function () {\r\n progress.style.width = '0%'\r\n }\r\n player.on('srcChange', onSrcChange)\r\n\r\n let onCacheUpdate = function () {\r\n let buffered = player.buffered\r\n if (buffered && buffered.length > 0) {\r\n let end = buffered.end(buffered.length - 1)\r\n for (let i = 0, len = buffered.length; i < len; i++) {\r\n if (player.currentTime >= buffered.start(i) && player.currentTime <= buffered.end(i)) {\r\n end = buffered.end(i)\r\n for (let j = i + 1; j < buffered.length; j++) {\r\n if (buffered.start(j) - buffered.end(j - 1) >= 2) {\r\n end = buffered.end(j - 1)\r\n break\r\n }\r\n }\r\n break\r\n }\r\n }\r\n cache.style.width = `${end / player.duration * 100}%`\r\n }\r\n }\r\n const cacheUpdateEvents = ['bufferedChange', 'cacheupdate', 'ended', 'timeupdate']\r\n cacheUpdateEvents.forEach(item => {\r\n player.on(item, onCacheUpdate)\r\n })\r\n\r\n function destroyFunc () {\r\n player.removeAllProgressDot()\r\n player.off('canplay', onCanplay)\r\n player.off('timeupdate', onTimeupdate)\r\n player.off('currentTimeChange', onCurrentTimeChange)\r\n player.off('srcChange', onSrcChange)\r\n player.off('loadedmetadata', onLoadedmetadata);\r\n cacheUpdateEvents.forEach(item => {\r\n player.off(item, onCacheUpdate)\r\n })\r\n player.off('destroy', destroyFunc)\r\n }\r\n player.once('destroy', destroyFunc)\r\n}\r\n\r\nexport default {\r\n name: 's_progress',\r\n method: s_progress\r\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./progress.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-progress{display:block;position:absolute;height:20px;line-height:20px;left:12px;right:12px;outline:none;top:-15px;z-index:35}.xgplayer-skin-default .xgplayer-progress-outer{background:hsla(0,0%,100%,.3);display:block;height:3px;line-height:3px;margin-top:8.5px;width:100%;position:relative;cursor:pointer}.xgplayer-skin-default .xgplayer-progress-cache,.xgplayer-skin-default .xgplayer-progress-played{display:block;height:100%;line-height:1;position:absolute;left:0;top:0}.xgplayer-skin-default .xgplayer-progress-cache{width:0;background:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-progress-played{display:block;width:0;background-image:linear-gradient(-90deg,#fa1f41,#e31106);border-radius:0 1.5px 1.5px 0}.xgplayer-skin-default .xgplayer-progress-btn{display:none;position:absolute;left:0;top:-5px;width:13px;height:13px;border-radius:30px;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.26);left:100%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);z-index:36}.xgplayer-skin-default .xgplayer-progress-point{position:absolute}.xgplayer-skin-default .xgplayer-progress-point.xgplayer-tips{margin-left:0;top:-25px;display:none;z-index:100}.xgplayer-skin-default .xgplayer-progress-dot{display:inline-block;position:absolute;height:3px;width:5px;top:0;background:#fff;border-radius:6px;z-index:16}.xgplayer-skin-default .xgplayer-progress-dot .xgplayer-progress-tip{position:absolute;bottom:200%;right:50%;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);height:auto;line-height:30px;width:auto;background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(0,0,0,.8);cursor:default;white-space:nowrap;display:none}.xgplayer-skin-default .xgplayer-progress-dot-show .xgplayer-progress-tip{display:block}.xgplayer-skin-default .xgplayer-progress-thumbnail{position:absolute;-moz-box-sizing:border-box;box-sizing:border-box}.xgplayer-skin-default .xgplayer-progress-thumbnail.xgplayer-tips{margin-left:0;display:none;z-index:99}.xgplayer-skin-default .xgplayer-coverpreview{position:absolute;width:100%;height:100%;top:0;left:0;display:none}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer{position:absolute;display:block;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-thumbnail{display:block}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point{display:block;text-align:center;font-family:PingFangSC-Regular;font-size:11px;color:#ccc;padding:2px 4px}.xgplayer-skin-default .xgplayer-coverpreview .xgplayer-coverpreview-outer .xgplayer-coverpreview-point span{color:#fff}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-outer{height:6px;margin-top:7px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-dot,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-dot{height:6px}.xgplayer-skin-default .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default .xgplayer-progress:hover .xgplayer-progress-btn{display:block;top:-3px}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-progress,.xgplayer-skin-default.xgplayer-volume-active .xgplayer-progress{z-index:15}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress-btn{display:block!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-outer,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-outer{height:3px!important;margin-top:8.5px!important}.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:focus .xgplayer-progress-btn,.xgplayer-skin-default.xgplayer-mobile .xgplayer-progress:hover .xgplayer-progress-btn{display:block!important;top:-5px!important}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/time.scss'\n\nlet s_time = function () {\n let player = this\n let container = createDom('xg-time', `<span class=\"xgplayer-time-current\">${player.currentTime || format(0)}</span>\n <span>${player.duration || format(0)}</span>`, {}, 'xgplayer-time')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let onTimeChange = function () {\n // let liveText = player.lang.LIVE\n // if(player.duration === Infinity) {\n // addClass(player.root, 'xgplayer-is-live')\n // if(!findDom(player.root, '.xgplayer-live')) {\n // const live = createDom('xg-live', liveText, {}, 'xgplayer-live')\n // player.controls.appendChild(live)\n // }\n // }\n if (player.videoConfig.mediaType !== 'audio' || !player.isProgressMoving || !player.dash) {\n container.innerHTML = `<span class=\"xgplayer-time-current\">${format(player.currentTime || 0)}</span>` + `<span>${format(player.duration)}</span>`\n }\n }\n player.on('durationchange', onTimeChange)\n player.on('timeupdate', onTimeChange)\n\n function onDestroy () {\n player.off('durationchange', onTimeChange)\n player.off('timeupdate', onTimeChange)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_time',\n method: s_time\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./time.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-time{-webkit-order:2;-moz-box-ordinal-group:3;order:2;font-family:ArialMT;font-size:13px;color:#fff;line-height:40px;height:40px;text-align:center;display:inline-block;margin:auto 8px}.xgplayer-skin-default .xgplayer-time span{color:hsla(0,0%,100%,.5)}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current{color:#fff}.xgplayer-skin-default .xgplayer-time .xgplayer-time-current:after{content:\\\"/\\\";display:inline-block;padding:0 3px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReplayIcon from '../assets/replay.svg'\nimport '../style/controls/replay.scss'\n\nlet s_replay = function () {\n let player = this\n let root = player.root\n\n let replayText = player.lang.REPLAY\n let btn = createDom('xg-replay', `${ReplayIcon}\n <xg-replay-txt class=\"xgplayer-replay-txt\">${replayText}</xg-replay-txt>\n `, {}, 'xgplayer-replay')\n player.once('ready', () => {\n root.appendChild(btn)\n })\n\n function onEnded () {\n let path = btn.querySelector('path')\n if(path) {\n let transform = window.getComputedStyle(path).getPropertyValue('transform')\n if(typeof transform === 'string' && transform.indexOf('none') > -1) {\n return\n } else {\n path.setAttribute('transform', transform)\n }\n }\n }\n player.on('ended', onEnded)\n\n function onBtnClick (e) {\n e.preventDefault()\n e.stopPropagation()\n }\n btn.addEventListener('click', onBtnClick)\n\n let svg = btn.querySelector('svg');\n\n ['click', 'touchend'].forEach(item => {\n svg.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('replayBtnClick')\n })\n })\n\n function destroyFunc () {\n player.off('ended', onEnded)\n player.off('destroy', destroyFunc)\n }\n player.once('destroy', destroyFunc)\n}\n\nexport default {\n name: 's_replay',\n method: s_replay\n}","export default \"<svg class=\\\"xgplayer-replay-svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"78\\\" height=\\\"78\\\" viewbox=\\\"0 0 78 78\\\">\\n <path d=\\\"M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./replay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-replay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:105;display:none;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;background:rgba(0,0,0,.54);-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;flex-direction:column}.xgplayer-skin-default .xgplayer-replay svg{background:rgba(0,0,0,.58);border-radius:100%;cursor:pointer}.xgplayer-skin-default .xgplayer-replay svg path{-webkit-transform:translate(20px,21px);-ms-transform:translate(20px,21px);transform:translate(20px,21px);fill:#ddd}.xgplayer-skin-default .xgplayer-replay svg:hover{background:rgba(0,0,0,.38)}.xgplayer-skin-default .xgplayer-replay svg:hover path{fill:#fff}.xgplayer-skin-default .xgplayer-replay .xgplayer-replay-txt{display:inline-block;font-family:PingFangSC-Regular;font-size:14px;color:#fff;line-height:34px}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-controls{display:none}.xgplayer-skin-default.xgplayer.xgplayer-ended .xgplayer-replay{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./textTrack.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import Player from './player'\n\nimport Airplay from './controls/airplay.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Danmu from './controls/danmu.js'\nimport Definition from './controls/definition.js'\nimport Download from './controls/download.js'\nimport ErrorRetryControl from './controls/errorRetry.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport Keyboard from './controls/keyboard.js'\nimport LocalPreview from './controls/localPreview.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport Mobile from './controls/mobile.js'\nimport Pc from './controls/pc.js'\nimport Pip from './controls/pip.js'\nimport Play from './controls/play.js'\nimport PlayNext from './controls/playNext.js'\nimport Reload from './controls/reload.js'\nimport Replay from './controls/replay.js'\nimport Rotate from './controls/rotate.js'\nimport ScreenShot from './controls/screenShot.js'\nimport StallCheck from './controls/stallCheck.js'\nimport Start from './controls/start.js'\nimport Volume from './controls/volume.js'\nimport TextTrack from './controls/textTrack.js'\n\nPlayer.installAll([\n Airplay,\n CssFullscreen,\n Danmu,\n Definition,\n Download,\n ErrorRetryControl,\n Fullscreen,\n Keyboard,\n LocalPreview,\n MemoryPlay,\n Miniplayer,\n Mobile,\n Pc,\n Pip,\n Play,\n PlayNext,\n Reload,\n Replay,\n Rotate,\n ScreenShot,\n StallCheck,\n Start,\n Volume,\n TextTrack \n])\n\nimport './skin/index.js';\n\nexport default Player\n","let airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n function onAirplayBtnClick () {\n player.video.webkitShowPlaybackTargetPicker()\n }\n player.on('airplayBtnClick', onAirplayBtnClick)\n\n function onDestroy () {\n player.off('airplayBtnClick', onAirplayBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'airplay',\n method: airplay\n}\n","import { hasClass, removeClass, addClass } from '../utils/util'\n\nlet cssFullscreen = function () {\n let player = this\n let root = player.root\n\n function onCssFullscreenBtnClick () {\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n } else {\n player.getCssFullscreen()\n }\n }\n player.on('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.on('exitFullscreen', () => {\n removeClass(root, 'xgplayer-is-cssfullscreen')\n })\n\n function onDestroy () {\n player.off('cssFullscreenBtnClick', onCssFullscreenBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['padding-top'] = ''\n }\n addClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('requestCssFullscreen')\n }\n\n player.exitCssFullscreen = function () {\n let player = this\n if (player.config.fluid) {\n player.root.style['width'] = '100%'\n player.root.style['height'] = '0'\n player.root.style['padding-top'] = `${player.config.height * 100 / player.config.width}%`\n }\n removeClass(player.root, 'xgplayer-is-cssfullscreen')\n player.emit('exitCssFullscreen')\n }\n}\n\nexport default {\n name: 'cssFullscreen',\n method: cssFullscreen\n}","import { addClass, toggleClass, copyDom, hasClass, removeClass } from '../utils/util'\n\nlet danmu = function () {\n let player = this\n\n function onInitDanmu(danmujs) {\n let container = player.root.querySelector('xg-danmu')\n addClass(container, 'xgplayer-has-danmu')\n if (!player.config.danmu.closeDefaultBtn) {\n player.danmuBtn = copyDom(danmujs.bulletBtn.createSwitch(true))\n player.controls.appendChild(player.danmuBtn)\n\n function onTimeupdate () {\n danmujs.start()\n }\n ['click', 'touchend'].forEach(item => {\n player.danmuBtn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n toggleClass(player.danmuBtn, 'danmu-switch-active')\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n player.emit('danmuBtnOn')\n addClass(container, 'xgplayer-has-danmu')\n player.once('timeupdate', onTimeupdate)\n } else {\n player.emit('danmuBtnOff')\n removeClass(container, 'xgplayer-has-danmu')\n danmujs.stop()\n }\n })\n })\n\n player.onElementClick && container.addEventListener('click', function (e) { player.onElementClick(e, container) }, false)\n player.onElementDblclick && container.addEventListener('dblclick', function (e) { player.onElementDblclick(e, container) }, false)\n\n function onPause () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.pause()\n }\n }\n player.on('pause', onPause)\n\n function onPlay () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.play()\n }\n }\n player.on('play', onPlay)\n\n function onSeeked () {\n if (hasClass(player.danmuBtn, 'danmu-switch-active')) {\n danmujs.stop()\n danmujs.start()\n }\n }\n player.on('seeked', onSeeked)\n\n function onDestroy () {\n player.off('timeupdate', onTimeupdate)\n player.off('pause', onPause)\n player.off('play', onPlay)\n player.off('seeked', onSeeked)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n }\n }\n player.on('initDefaultDanmu', onInitDanmu)\n\n}\n\nexport default {\n name: 'danmu',\n method: danmu\n}","let definition = function () {\n let player = this\n\n function onDestroy () {\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'definition',\n method: definition\n}","import downloadUtil from 'downloadjs'\nimport {getAbsoluteURL} from '../utils/url'\n\nlet download = function () {\n let player = this\n\n function onDownloadBtnClick () {\n // must pass an absolute url for download\n player.download()\n }\n player.on('downloadBtnClick', onDownloadBtnClick)\n\n function onDestroy () {\n player.off('downloadBtnClick', onDownloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.download = function () {\n const url = getAbsoluteURL(this.config.url)\n downloadUtil(url)\n }\n}\n\nexport default {\n name: 'download',\n method: download\n}","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i<mx;++i) tempUiArr[i]= payload.charCodeAt(i);\n\t\t\t \tpayload=new myBlob([tempUiArr], {type: mimeType});\n\t\t\t}\t\t \n\t\t}\n\t\tblob = payload instanceof myBlob ?\n\t\t\tpayload :\n\t\t\tnew myBlob([payload], {type: mimeType}) ;\n\n\n\t\tfunction dataUrlToBlob(strUrl) {\n\t\t\tvar parts= strUrl.split(/[:;,]/),\n\t\t\ttype= parts[1],\n\t\t\tdecoder= parts[2] == \"base64\" ? atob : decodeURIComponent,\n\t\t\tbinData= decoder( parts.pop() ),\n\t\t\tmx= binData.length,\n\t\t\ti= 0,\n\t\t\tuiArr= new Uint8Array(mx);\n\n\t\t\tfor(i;i<mx;++i) uiArr[i]= binData.charCodeAt(i);\n\n\t\t\treturn new myBlob([uiArr], {type: type});\n\t\t }\n\n\t\tfunction saver(url, winMode){\n\n\t\t\tif ('download' in anchor) { //html5 A[download]\n\t\t\t\tanchor.href = url;\n\t\t\t\tanchor.setAttribute(\"download\", fileName);\n\t\t\t\tanchor.className = \"download-js-link\";\n\t\t\t\tanchor.innerHTML = \"downloading...\";\n\t\t\t\tanchor.style.display = \"none\";\n\t\t\t\tdocument.body.appendChild(anchor);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tanchor.click();\n\t\t\t\t\tdocument.body.removeChild(anchor);\n\t\t\t\t\tif(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(anchor.href);}, 250 );}\n\t\t\t\t}, 66);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// handle non-a[download] safari as best we can:\n\t\t\tif(/(Version)\\/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari\\//.test(navigator.userAgent)) {\n\t\t\t\tif(/^data:/.test(url))\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t\tif(!window.open(url)){ // popup blocked, offer direct download:\n\t\t\t\t\tif(confirm(\"Displaying New Document\\n\\nUse Save As... to download, then click back to return to this page.\")){ location.href=url; }\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t//do iframe dataURL download (old ch+FF):\n\t\t\tvar f = document.createElement(\"iframe\");\n\t\t\tdocument.body.appendChild(f);\n\n\t\t\tif(!winMode && /^data:/.test(url)){ // force a mime that will download:\n\t\t\t\turl=\"data:\"+url.replace(/^data:([\\w\\/\\-\\+]+)/, defaultMime);\n\t\t\t}\n\t\t\tf.src=url;\n\t\t\tsetTimeout(function(){ document.body.removeChild(f); }, 333);\n\n\t\t}//end saver\n\n\n\n\n\t\tif (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)\n\t\t\treturn navigator.msSaveBlob(blob, fileName);\n\t\t}\n\n\t\tif(self.URL){ // simple fast and modern way using Blob and URL:\n\t\t\tsaver(self.URL.createObjectURL(blob), true);\n\t\t}else{\n\t\t\t// handle non-Blob()+non-URL browsers:\n\t\t\tif(typeof blob === \"string\" || blob.constructor===toString ){\n\t\t\t\ttry{\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \";base64,\" + self.btoa(blob) );\n\t\t\t\t}catch(y){\n\t\t\t\t\treturn saver( \"data:\" + mimeType + \",\" + encodeURIComponent(blob) );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Blob but not URL support:\n\t\t\treader=new FileReader();\n\t\t\treader.onload=function(e){\n\t\t\t\tsaver(this.result);\n\t\t\t};\n\t\t\treader.readAsDataURL(blob);\n\t\t}\n\t\treturn true;\n\t}; /* end download() */\n}));\n","\nexport const getAbsoluteURL = function (url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n const div = document.createElement('div')\n div.innerHTML = `<a href=\"${url}\">x</a>`\n url = div.firstChild.href\n }\n return url\n}\n","import Errors from '../error'\n/**\n * Error retry plugin\n * get config from player.config.errorConfig\n * The Plugin is just deal with the situation that play with video.src,\n * and get the http status of current video.src\n */\n\nconst defaultConfig = {\n maxCount: 3, // max number of retries\n backupUrl: '', // the backup url for retry\n isFetch: true, // is need to check the cdn url statud\n fetchTimeout: 100 // timeout time for get cdn status\n}\n\nfunction errorRetry () {\n const player = this\n // 无设置参数或者是通过扩展播放的不做处理\n if (!player.config.errorConfig || player.src.indexOf('blob:') > -1) {\n return\n }\n const errorConfig = {}\n const _inConfig = player.config.errorConfig\n for (const key in defaultConfig) {\n if (_inConfig[key] === undefined) {\n errorConfig[key] = defaultConfig[key]\n } else {\n errorConfig[key] = _inConfig[key]\n }\n }\n player.retryData = {\n count: 0, // 重试次数\n errfTimer: null, // 超时设置定时器\n isFetchReturn: false, // fetch请求是否已经返回\n currentTime: 0 // 出错的时候时间\n }\n\n function errorfetch (player, url, timeout) {\n const resolveFun = (resolve, data) => {\n if (!player.retryData.isFetchReturn) {\n player.retryData.isFetchReturn = true\n resolve(data)\n }\n }\n return new Promise((resolve, reject) => {\n try {\n let xhr = new window.XMLHttpRequest()\n xhr.open('get', url)\n xhr.onload = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText, xhr})\n }\n xhr.onerror = function () {\n resolveFun(resolve, {status: xhr.status, statusText: xhr.statusText || 'The network environment is disconnected or the address is invalid', xhr})\n }\n xhr.onabort = function () {\n // console.log('task onerror', xhr)\n }\n player.retryData.errfTimer = window.setTimeout(() => {\n let errfTimer = player.retryData.errfTimer\n window.clearTimeout(errfTimer)\n player.retryData.errfTimer = null\n resolveFun(resolve, {status: -1, statusText: 'request timeout'})\n }, timeout)\n xhr.send()\n } catch (err) {\n player.retryData.isFetchReturn = true\n resolveFun(resolve, {status: -2, statusText: 'request error'})\n }\n })\n }\n\n function retryCanPlay () {\n // console.log(`retryCanPlay this.retryData.currentTime:${this.retryData.currentTime}`)\n this.currentTime = this.retryData.currentTime\n this.play()\n this.retryData.retryCode = 0\n this.retryData.isFetchReturn = false\n this.retryData.currentTime = 0\n }\n\n const _originErrorEmit = player._onError\n player._onError = (data) => {\n const errorCount = this.retryData.count\n // console.log(`originErrorEmit:errorCount:${errorCount}`, data)\n if (errorCount > errorConfig.maxCount) {\n if (errorConfig.isFetch) {\n errorfetch(this, this.currentSrc, errorConfig.fetchTimeout).then((data) => {\n this.emit('error', new Errors({\n type: 'network',\n currentTime: this.currentTime,\n duration: this.duration || 0,\n networkState: this.networkState,\n readyState: this.readyState,\n currentSrc: this.currentSrc,\n src: this.src,\n ended: this.ended,\n httpCode: data.status,\n httpMsg: data.statusText,\n errd: {\n line: 101,\n msg: this.error,\n handle: 'plugin errorRetry'\n },\n errorCode: this.video && this.video.error.code,\n mediaError: this.video && this.video.error\n }));\n _originErrorEmit.call(this, data)\n })\n } else {\n _originErrorEmit.call(this, data)\n }\n return;\n }\n if (errorCount === 0) {\n this.retryData.currentTime = this.currentTime\n this.once('canplay', retryCanPlay.bind(this))\n }\n let src = ''\n if (errorConfig.count < 2) {\n src = errorConfig.backupUrl ? errorConfig.backupUrl : player.currentSrc\n } else {\n src = errorConfig.backupUrl && errorCount > 1 ? errorConfig.backupUrl : player.currentSrc\n }\n this.retryData.count++\n this.src = src\n }\n}\n\nexport default {\n name: 'errorretry',\n method: errorRetry\n}","import { on, hasClass, removeClass, addClass } from '../utils/util'\nclass Keyboard {\n constructor (player) {\n this.player = player\n this.state = {\n playbackRate: 0,\n isRepeat: false,\n keyCode: 0,\n repeat: 0,\n isBody: false\n }\n this.timer = null\n this.initEvents()\n }\n\n initEvents () {\n const {root, config} = this.player\n this.player.onBodyKeydown = this.onBodyKeydown.bind(this)\n this.player.onKeydown = this.onKeydown.bind(this)\n this.player.onKeyup = this.onKeyup.bind(this)\n if (!config.keyShortcut || config.keyShortcut === 'on') {\n document.addEventListener('keydown', this.player.onBodyKeydown)\n root.addEventListener('keydown', this.player.onKeydown)\n let destroyFunc = () => {\n document.removeEventListener('keydown', this.player.onBodyKeydown)\n root.removeEventListener('keydown', this.player.onKeydown)\n clearTimeout(this.timer)\n this.timer = null\n }\n on(this.player, 'destroy', destroyFunc)\n }\n }\n\n checkTarget (e) {\n const {player} = this\n return e.target === player.root || e.target === player.video || e.target === player.controls\n }\n\n onBodyKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if ((e.target === document.body) && (keyCode === 37 || keyCode === 39 || keyCode === 32)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n if (!e.repeat) {\n document.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeydown (event) {\n let e = event || window.event\n const keyCode = e.keyCode\n if (this.checkTarget(e) && (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40 || keyCode === 32 || keyCode === 27)) {\n e.preventDefault()\n e.cancelBubble = true\n e.returnValue = false\n this.player.emit('focus')\n if (!e.repeat) {\n this.player.root.addEventListener('keyup', this.player.onKeyup)\n }\n this.handler(e)\n return false\n }\n }\n\n onKeyup () {\n const {state, player} = this\n document.removeEventListener('keyup', this.player.onKeyup)\n player.root.removeEventListener('keyup', this.player.onKeyup)\n if (!state.keyCode) {\n return\n }\n if (state.playbackRate !== 0) {\n player.playbackRate = state.playbackRate\n }\n\n if (!state.isRepeat) {\n this.handlerKeyCode(state.keyCode, false)\n }\n state.playbackRate = 0\n state.isRepeat = false\n state.keyCode = 0\n state.repeat = 0\n this.changeVolumeSlide()\n }\n\n handler (e) {\n const {state, player} = this\n state.keyCode = e.keyCode\n state.isRepeat = e.repeat\n if (e.repeat) {\n if (player.config.disableLongPress) {\n this.handlerKeyCode(state.keyCode, false)\n } else if(state.repeat % 2 === 0) {\n this.handlerKeyCode(state.keyCode, true)\n }\n state.repeat++\n }\n }\n\n handlerKeyCode (keyCode, isLonePress) {\n const {player, state} = this\n switch (keyCode) {\n case 39:\n // 快进\n if (isLonePress) {\n state.repeat === 0 && this.changeRate()\n } else {\n this.seek(false, isLonePress)\n }\n break\n case 37:\n // 快退\n this.seek(true, isLonePress)\n break\n case 38:\n this.changeVolume(true)\n // 上\n break\n case 40:\n this.changeVolume(false)\n // 下\n break\n case 32:\n if (!isLonePress) {\n player.paused ? player.play() : player.pause()\n }\n break\n case 27:\n if (hasClass(player.root, 'xgplayer-is-cssfullscreen')) {\n player.exitCssFullscreen()\n }\n break\n default:\n //\n }\n }\n\n seek (isBack, isLongPress) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const currentTimeStep = keyShortcutStep.currentTime || 10\n if (player.isLoading || player.isSeeking || (isLongPress && this.state.repeat % 8 > 0)) {\n return\n }\n if (isBack) {\n if (player.currentTime - currentTimeStep >= 0) {\n player.currentTime -= currentTimeStep\n } else {\n player.currentTime = 0\n }\n } else {\n if(player.maxPlayedTime && player.config.allowSeekPlayed && (player.currentTime + currentTimeStep > player.maxPlayedTime)) {\n player.currentTime = player.maxPlayedTime\n } else {\n if (player.currentTime + currentTimeStep <= player.duration) {\n player.currentTime += currentTimeStep\n } else {\n player.currentTime = player.duration + 1\n }\n }\n }\n }\n\n changeRate () {\n this.state.playbackRate = this.player.playbackRate\n this.player.playbackRate = this.player.config.keyboardRate || 5\n }\n\n changeVolumeSlide (show) {\n const {player} = this\n if (!player.controls) {\n return\n }\n if (show) {\n player.emit('focus')\n if (!hasClass(player.root, 'xgplayer-volume-active')) {\n addClass(player.root, 'xgplayer-volume-active')\n }\n } else {\n clearTimeout(this.timer)\n this.timer = setTimeout(() => {\n removeClass(player.root, 'xgplayer-volume-active')\n }, 1000)\n }\n }\n\n changeVolume (isup) {\n const {player} = this\n const keyShortcutStep = player.config.keyShortcutStep || {}\n const volumeStep = keyShortcutStep.volume || 0.1\n this.changeVolumeSlide(true)\n const volume = player.volume\n if (isup && volume + volumeStep <= 1) {\n player.volume = volume + volumeStep\n } else if (!isup && volume - volumeStep >= 0) {\n player.volume = volume - volumeStep\n }\n }\n}\n\nlet keyboard = function () {\n let player = this\n player.keyboard = new Keyboard(player)\n}\n\nexport default {\n name: 'keyboard',\n method: keyboard\n}","import { hasClass } from '../utils/util'\n\nlet localPreview = function () {\n let player = this\n let root = player.root\n function onUpload (upload) {\n player.uploadFile = upload.files[0]\n let url = URL.createObjectURL(player.uploadFile)\n if (hasClass(root, 'xgplayer-nostart')) {\n player.config.url = url\n player.start()\n } else {\n player.src = url\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n }\n player.on('upload', onUpload)\n\n function onDestroy () {\n player.off('upload', onUpload)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'localPreview',\n method: localPreview\n}","let memoryPlay = function () {\n let player = this\n player.on('memoryPlayStart', (lastPlayTime) => {\n setTimeout(() => {\n console.log('memoryPlayStart', lastPlayTime, player.readyState, 11)\n player.currentTime = lastPlayTime\n },)\n })\n}\n\nexport default {\n name: 'memoryPlay',\n method: memoryPlay\n}","import { findDom, hasClass, createDom, addClass, removeClass } from '../utils/util'\nimport Draggabilly from 'draggabilly'\n\nlet miniplayer = function () {\n let player = this\n let root = player.root\n function onMiniplayerBtnClick () {\n if (hasClass(root, 'xgplayer-miniplayer-active')) {\n player.exitMiniplayer()\n } else {\n player.getMiniplayer()\n }\n }\n player.on('miniplayerBtnClick', onMiniplayerBtnClick)\n\n function onDestroy () {\n player.off('miniplayerBtnClick', onMiniplayerBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getMiniplayer = function () {\n if (hasClass(root, 'xgplayer-is-fullscreen')) {\n this.exitFullscreen(root)\n }\n if (hasClass(root, 'xgplayer-is-cssfullscreen')) {\n this.exitCssFullscreen()\n }\n if (hasClass(root, 'xgplayer-rotate-fullscreen')) {\n this.exitRotateFullscreen()\n }\n // let ro = this.root.getBoundingClientRect()\n // let Top = ro.top\n // let Left = ro.left\n let dragLay = createDom('xg-miniplayer-lay', '<div></div>', {}, 'xgplayer-miniplayer-lay')\n this.root.appendChild(dragLay)\n let dragHandle = createDom('xg-miniplayer-drag', `<div class=\"drag-handle\"><span>${this.lang.MINIPLAYER_DRAG}</span></div>`, {tabindex: 9}, 'xgplayer-miniplayer-drag')\n this.root.appendChild(dragHandle)\n // eslint-disable-next-line no-unused-vars\n let draggie = new Draggabilly('.xgplayer', {\n handle: '.drag-handle'\n })\n addClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = 0\n this.root.style.bottom = '200px'\n this.root.style.top = ''\n this.root.style.left = ''\n this.root.style.width = '320px'\n this.root.style.height = '180px'\n if (this.config.miniplayerConfig) {\n if (this.config.miniplayerConfig.top !== undefined) {\n this.root.style.top = this.config.miniplayerConfig.top + 'px'\n this.root.style.bottom = ''\n }\n if (this.config.miniplayerConfig.bottom !== undefined) {\n this.root.style.bottom = this.config.miniplayerConfig.bottom + 'px'\n }\n if (this.config.miniplayerConfig.left !== undefined) {\n this.root.style.left = this.config.miniplayerConfig.left + 'px'\n this.root.style.right = ''\n }\n if (this.config.miniplayerConfig.right !== undefined) {\n this.root.style.right = this.config.miniplayerConfig.right + 'px'\n }\n if (this.config.miniplayerConfig.width !== undefined) {\n this.root.style.width = this.config.miniplayerConfig.width + 'px'\n }\n if (this.config.miniplayerConfig.height !== undefined) {\n this.root.style.height = this.config.miniplayerConfig.height + 'px'\n }\n }\n if (this.config.fluid) {\n this.root.style['padding-top'] = ''\n }\n let player = this;\n ['click', 'touchend'].forEach(item => {\n dragLay.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.exitMiniplayer()\n // player.root.style.top = `${Top}px`\n // player.root.style.left = `${Left}px`\n })\n })\n }\n\n player.exitMiniplayer = function () {\n removeClass(this.root, 'xgplayer-miniplayer-active')\n this.root.style.right = ''\n this.root.style.bottom = ''\n this.root.style.top = ''\n this.root.style.left = ''\n if (this.config.fluid) {\n this.root.style['width'] = '100%'\n this.root.style['height'] = '0'\n this.root.style['padding-top'] = `${this.config.height * 100 / this.config.width}%`\n } else {\n if (this.config.width) {\n if (typeof this.config.width !== 'number') {\n this.root.style.width = this.config.width\n } else {\n this.root.style.width = `${this.config.width}px`\n }\n }\n if (this.config.height) {\n if (typeof this.config.height !== 'number') {\n this.root.style.height = this.config.height\n } else {\n this.root.style.height = `${this.config.height}px`\n }\n }\n }\n\n let dragLay = findDom(this.root, '.xgplayer-miniplayer-lay')\n if (dragLay && dragLay.parentNode) {\n dragLay.parentNode.removeChild(dragLay)\n }\n let dragHandle = findDom(this.root, '.xgplayer-miniplayer-drag')\n if (dragHandle && dragHandle.parentNode) {\n dragHandle.parentNode.removeChild(dragHandle)\n }\n }\n}\n\nexport default {\n name: 'miniplayer',\n method: miniplayer\n}","/*!\n * Draggabilly v2.4.1\n * Make that shiz draggable\n * https://draggabilly.desandro.com\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'get-size/get-size',\n 'unidragger/unidragger',\n ],\n function( getSize, Unidragger ) {\n return factory( window, getSize, Unidragger );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('get-size'),\n require('unidragger')\n );\n } else {\n // browser global\n window.Draggabilly = factory(\n window,\n window.getSize,\n window.Unidragger\n );\n }\n\n}( window, function factory( window, getSize, Unidragger ) {\n\n// -------------------------- helpers & variables -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\nfunction noop() {}\n\nvar jQuery = window.jQuery;\n\n// -------------------------- -------------------------- //\n\nfunction Draggabilly( element, options ) {\n // querySelector if string\n this.element = typeof element == 'string' ?\n document.querySelector( element ) : element;\n\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n\n // options\n this.options = extend( {}, this.constructor.defaults );\n this.option( options );\n\n this._create();\n}\n\n// inherit Unidragger methods\nvar proto = Draggabilly.prototype = Object.create( Unidragger.prototype );\n\nDraggabilly.defaults = {\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function( opts ) {\n extend( this.options, opts );\n};\n\n// css position values that don't need to be set\nvar positionValues = {\n relative: true,\n absolute: true,\n fixed: true,\n};\n\nproto._create = function() {\n // properties\n this.position = {};\n this._getPosition();\n\n this.startPoint = { x: 0, y: 0 };\n this.dragPoint = { x: 0, y: 0 };\n\n this.startPosition = extend( {}, this.position );\n\n // set relative positioning\n var style = getComputedStyle( this.element );\n if ( !positionValues[ style.position ] ) {\n this.element.style.position = 'relative';\n }\n\n // events, bridge jQuery events from vanilla\n this.on( 'pointerMove', this.onPointerMove );\n this.on( 'pointerUp', this.onPointerUp );\n\n this.enable();\n this.setHandles();\n};\n\n/**\n * set this.handles and bind start events to 'em\n */\nproto.setHandles = function() {\n this.handles = this.options.handle ?\n this.element.querySelectorAll( this.options.handle ) : [ this.element ];\n\n this.bindHandles();\n};\n\n/**\n * emits events via EvEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function( type, event, args ) {\n var emitArgs = [ event ].concat( args );\n this.emitEvent( type, emitArgs );\n this.dispatchJQueryEvent( type, event, args );\n};\n\nproto.dispatchJQueryEvent = function( type, event, args ) {\n var jquery = window.jQuery;\n // trigger jQuery event\n if ( !jquery || !this.$element ) {\n return;\n }\n // create jQuery event\n /* eslint-disable-next-line new-cap */\n var $event = jquery.Event( event );\n $event.type = type;\n this.$element.trigger( $event, args );\n};\n\n// -------------------------- position -------------------------- //\n\n// get x/y position from style\nproto._getPosition = function() {\n var style = getComputedStyle( this.element );\n var x = this._getPositionCoord( style.left, 'width' );\n var y = this._getPositionCoord( style.top, 'height' );\n // clean up 'auto' or other non-integer values\n this.position.x = isNaN( x ) ? 0 : x;\n this.position.y = isNaN( y ) ? 0 : y;\n\n this._addTransformPosition( style );\n};\n\nproto._getPositionCoord = function( styleSide, measure ) {\n if ( styleSide.indexOf('%') != -1 ) {\n // convert percent into pixel for Safari, #75\n var parentSize = getSize( this.element.parentNode );\n // prevent not-in-DOM element throwing bug, #131\n return !parentSize ? 0 :\n ( parseFloat( styleSide ) / 100 ) * parentSize[ measure ];\n }\n return parseInt( styleSide, 10 );\n};\n\n// add transform: translate( x, y ) to position\nproto._addTransformPosition = function( style ) {\n var transform = style.transform;\n // bail out if value is 'none'\n if ( transform.indexOf('matrix') !== 0 ) {\n return;\n }\n // split matrix(1, 0, 0, 1, x, y)\n var matrixValues = transform.split(',');\n // translate X value is in 12th or 4th position\n var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;\n var translateX = parseInt( matrixValues[ xIndex ], 10 );\n // translate Y value is in 13th or 5th position\n var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );\n this.position.x += translateX;\n this.position.y += translateY;\n};\n\n// -------------------------- events -------------------------- //\n\nproto.onPointerDown = function( event, pointer ) {\n this.element.classList.add('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerDown', event, [ pointer ] );\n};\n\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay || !this.isEnabled ) {\n this._pointerReset();\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.element.classList.add('is-pointer-down');\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\n/**\n * drag start\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragStart = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this._getPosition();\n this.measureContainment();\n // position _when_ drag began\n this.startPosition.x = this.position.x;\n this.startPosition.y = this.position.y;\n // reset left/top style\n this.setLeftTop();\n\n this.dragPoint.x = 0;\n this.dragPoint.y = 0;\n\n this.element.classList.add('is-dragging');\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n // start animation\n this.animate();\n};\n\nproto.measureContainment = function() {\n var container = this.getContainer();\n if ( !container ) {\n return;\n }\n\n var elemSize = getSize( this.element );\n var containerSize = getSize( container );\n var elemRect = this.element.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n\n var borderSizeX = containerSize.borderLeftWidth + containerSize.borderRightWidth;\n var borderSizeY = containerSize.borderTopWidth + containerSize.borderBottomWidth;\n\n var position = this.relativeStartPosition = {\n x: elemRect.left - ( containerRect.left + containerSize.borderLeftWidth ),\n y: elemRect.top - ( containerRect.top + containerSize.borderTopWidth ),\n };\n\n this.containSize = {\n width: ( containerSize.width - borderSizeX ) - position.x - elemSize.width,\n height: ( containerSize.height - borderSizeY ) - position.y - elemSize.height,\n };\n};\n\nproto.getContainer = function() {\n var containment = this.options.containment;\n if ( !containment ) {\n return;\n }\n var isElement = containment instanceof HTMLElement;\n // use as element\n if ( isElement ) {\n return containment;\n }\n // querySelector if string\n if ( typeof containment == 'string' ) {\n return document.querySelector( containment );\n }\n // fallback to parent element\n return this.element.parentNode;\n};\n\n// ----- move event ----- //\n\nproto.onPointerMove = function( event, pointer, moveVector ) {\n this.dispatchJQueryEvent( 'pointerMove', event, [ pointer, moveVector ] );\n};\n\n/**\n * drag move\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n * @param {Object} moveVector - x and y coordinates\n */\nproto.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isEnabled ) {\n return;\n }\n var dragX = moveVector.x;\n var dragY = moveVector.y;\n\n var grid = this.options.grid;\n var gridX = grid && grid[0];\n var gridY = grid && grid[1];\n\n dragX = applyGrid( dragX, gridX );\n dragY = applyGrid( dragY, gridY );\n\n dragX = this.containDrag( 'x', dragX, gridX );\n dragY = this.containDrag( 'y', dragY, gridY );\n\n // constrain to axis\n dragX = this.options.axis == 'y' ? 0 : dragX;\n dragY = this.options.axis == 'x' ? 0 : dragY;\n\n this.position.x = this.startPosition.x + dragX;\n this.position.y = this.startPosition.y + dragY;\n // set dragPoint properties\n this.dragPoint.x = dragX;\n this.dragPoint.y = dragY;\n\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nfunction applyGrid( value, grid, method ) {\n method = method || 'round';\n return grid ? Math[ method ]( value/grid ) * grid : value;\n}\n\nproto.containDrag = function( axis, drag, grid ) {\n if ( !this.options.containment ) {\n return drag;\n }\n var measure = axis == 'x' ? 'width' : 'height';\n\n var rel = this.relativeStartPosition[ axis ];\n var min = applyGrid( -rel, grid, 'ceil' );\n var max = this.containSize[ measure ];\n max = applyGrid( max, grid, 'floor' );\n return Math.max( min, Math.min( max, drag ) );\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.onPointerUp = function( event, pointer ) {\n this.element.classList.remove('is-pointer-down');\n this.dispatchJQueryEvent( 'pointerUp', event, [ pointer ] );\n};\n\n/**\n * drag end\n * @param {Event} event\n * @param {[Event, Touch]} pointer\n */\nproto.dragEnd = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n // use top left position when complete\n this.element.style.transform = '';\n this.setLeftTop();\n this.element.classList.remove('is-dragging');\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\n// -------------------------- animation -------------------------- //\n\nproto.animate = function() {\n // only render and animate if dragging\n if ( !this.isDragging ) {\n return;\n }\n\n this.positionDrag();\n\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n } );\n\n};\n\n// left/top positioning\nproto.setLeftTop = function() {\n this.element.style.left = this.position.x + 'px';\n this.element.style.top = this.position.y + 'px';\n};\n\nproto.positionDrag = function() {\n this.element.style.transform = 'translate3d( ' + this.dragPoint.x +\n 'px, ' + this.dragPoint.y + 'px, 0)';\n};\n\n// ----- staticClick ----- //\n\nproto.staticClick = function( event, pointer ) {\n this.dispatchEvent( 'staticClick', event, [ pointer ] );\n};\n\n// ----- methods ----- //\n\n/**\n * @param {Number} x\n * @param {Number} y\n */\nproto.setPosition = function( x, y ) {\n this.position.x = x;\n this.position.y = y;\n this.setLeftTop();\n};\n\nproto.enable = function() {\n this.isEnabled = true;\n};\n\nproto.disable = function() {\n this.isEnabled = false;\n if ( this.isDragging ) {\n this.dragEnd();\n }\n};\n\nproto.destroy = function() {\n this.disable();\n // reset styles\n this.element.style.transform = '';\n this.element.style.left = '';\n this.element.style.top = '';\n this.element.style.position = '';\n // unbind handles\n this.unbindHandles();\n // remove jQuery data\n if ( this.$element ) {\n this.$element.removeData('draggabilly');\n }\n};\n\n// ----- jQuery bridget ----- //\n\n// required for jQuery bridget\nproto._init = noop;\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'draggabilly', Draggabilly );\n}\n\n// ----- ----- //\n\nreturn Draggabilly;\n\n} ) );\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n","/*!\n * Unidragger v2.4.0\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'unipointer/unipointer'\n ], function( Unipointer ) {\n return factory( window, Unipointer );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, Unipointer ) {\n\n'use strict';\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nvar proto = Unidragger.prototype = Object.create( Unipointer.prototype );\n\n// ----- bind start ----- //\n\nproto.bindHandles = function() {\n this._bindHandles( true );\n};\n\nproto.unbindHandles = function() {\n this._bindHandles( false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\nproto._bindHandles = function( isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n var touchAction = isAdd ? this._touchActionValue : '';\n for ( var i=0; i < this.handles.length; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isAdd );\n handle[ bindMethod ]( 'click', this );\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if ( window.PointerEvent ) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\nproto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// nodes that have text fields\nvar cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nvar clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\nproto.okayPointerDown = function( event ) {\n var isCursorNode = cursorNodes[ event.target.nodeName ];\n var isClickType = clickTypes[ event.target.type ];\n var isOkay = !isCursorNode || isClickType;\n if ( !isOkay ) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\nproto.pointerDownBlur = function() {\n var focused = document.activeElement;\n // do not blur body for IE10, metafizzy/flickity#117\n var canBlur = focused && focused.blur && focused != document.body;\n if ( canBlur ) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n// base pointer move logic\nproto._dragPointerMove = function( event, pointer ) {\n var moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY\n };\n // start drag if pointer has moved far enough to start drag\n if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {\n this._dragStart( event, pointer );\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto._dragPointerUp = function( event, pointer ) {\n if ( this.isDragging ) {\n this._dragEnd( event, pointer );\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick( event, pointer );\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\nproto._dragStart = function( event, pointer ) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart( event, pointer );\n};\n\nproto.dragStart = function( event, pointer ) {\n this.emitEvent( 'dragStart', [ event, pointer ] );\n};\n\n// dragMove\nproto._dragMove = function( event, pointer, moveVector ) {\n // do not drag if not dragging yet\n if ( !this.isDragging ) {\n return;\n }\n\n this.dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n event.preventDefault();\n this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );\n};\n\n// dragEnd\nproto._dragEnd = function( event, pointer ) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout( function() {\n delete this.isPreventingClicks;\n }.bind( this ) );\n\n this.dragEnd( event, pointer );\n};\n\nproto.dragEnd = function( event, pointer ) {\n this.emitEvent( 'dragEnd', [ event, pointer ] );\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\nproto.onclick = function( event ) {\n if ( this.isPreventingClicks ) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\nproto._staticClick = function( event, pointer ) {\n // ignore emulated mouse up clicks\n if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {\n return;\n }\n\n this.staticClick( event, pointer );\n\n // set flag for emulated clicks 300ms after touchend\n if ( event.type != 'mouseup' ) {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout( function() {\n delete this.isIgnoringMouseUp;\n }.bind( this ), 400 );\n }\n};\n\nproto.staticClick = function( event, pointer ) {\n this.emitEvent( 'staticClick', [ event, pointer ] );\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n\n// ----- ----- //\n\nreturn Unidragger;\n\n}));\n","/*!\n * Unipointer v2.4.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /*global define, module, require */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.Unipointer = factory(\n window,\n window.EvEmitter\n );\n }\n\n}( window, function factory( window, EvEmitter ) {\n\n'use strict';\n\nfunction noop() {}\n\nfunction Unipointer() {}\n\n// inherit EvEmitter\nvar proto = Unipointer.prototype = Object.create( EvEmitter.prototype );\n\nproto.bindStartEvent = function( elem ) {\n this._bindStartEvent( elem, true );\n};\n\nproto.unbindStartEvent = function( elem ) {\n this._bindStartEvent( elem, false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd - remove if falsey\n */\nproto._bindStartEvent = function( elem, isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n var startEvent = 'mousedown';\n if ( 'ontouchstart' in window ) {\n // HACK prefer Touch Events as you can preventDefault on touchstart to\n // disable scroll in iOS & mobile Chrome metafizzy/flickity#1177\n startEvent = 'touchstart';\n } else if ( window.PointerEvent ) {\n // Pointer Events\n startEvent = 'pointerdown';\n }\n elem[ bindMethod ]( startEvent, this );\n};\n\n// trigger handler methods for events\nproto.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// returns the touch that we're keeping track of\nproto.getTouch = function( touches ) {\n for ( var i=0; i < touches.length; i++ ) {\n var touch = touches[i];\n if ( touch.identifier == this.pointerIdentifier ) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\nproto.onmousedown = function( event ) {\n // dismiss clicks from right or middle buttons\n var button = event.button;\n if ( button && ( button !== 0 && button !== 1 ) ) {\n return;\n }\n this._pointerDown( event, event );\n};\n\nproto.ontouchstart = function( event ) {\n this._pointerDown( event, event.changedTouches[0] );\n};\n\nproto.onpointerdown = function( event ) {\n this._pointerDown( event, event );\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto._pointerDown = function( event, pointer ) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if ( event.button || this.isPointerDown ) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier = pointer.pointerId !== undefined ?\n // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId : pointer.identifier;\n\n this.pointerDown( event, pointer );\n};\n\nproto.pointerDown = function( event, pointer ) {\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// hash of events to be bound after start event\nvar postStartEvents = {\n mousedown: [ 'mousemove', 'mouseup' ],\n touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],\n pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],\n};\n\nproto._bindPostStartEvents = function( event ) {\n if ( !event ) {\n return;\n }\n // get proper events to match start event\n var events = postStartEvents[ event.type ];\n // bind events to node\n events.forEach( function( eventName ) {\n window.addEventListener( eventName, this );\n }, this );\n // save these arguments\n this._boundPointerEvents = events;\n};\n\nproto._unbindPostStartEvents = function() {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if ( !this._boundPointerEvents ) {\n return;\n }\n this._boundPointerEvents.forEach( function( eventName ) {\n window.removeEventListener( eventName, this );\n }, this );\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\nproto.onmousemove = function( event ) {\n this._pointerMove( event, event );\n};\n\nproto.onpointermove = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerMove( event, event );\n }\n};\n\nproto.ontouchmove = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerMove( event, touch );\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerMove = function( event, pointer ) {\n this.pointerMove( event, pointer );\n};\n\n// public\nproto.pointerMove = function( event, pointer ) {\n this.emitEvent( 'pointerMove', [ event, pointer ] );\n};\n\n// ----- end event ----- //\n\n\nproto.onmouseup = function( event ) {\n this._pointerUp( event, event );\n};\n\nproto.onpointerup = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerUp( event, event );\n }\n};\n\nproto.ontouchend = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerUp( event, touch );\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerUp = function( event, pointer ) {\n this._pointerDone();\n this.pointerUp( event, pointer );\n};\n\n// public\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\nproto._pointerDone = function() {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\nproto._pointerReset = function() {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\nproto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\nproto.onpointercancel = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerCancel( event, event );\n }\n};\n\nproto.ontouchcancel = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerCancel( event, touch );\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerCancel = function( event, pointer ) {\n this._pointerDone();\n this.pointerCancel( event, pointer );\n};\n\n// public\nproto.pointerCancel = function( event, pointer ) {\n this.emitEvent( 'pointerCancel', [ event, pointer ] );\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function( pointer ) {\n return {\n x: pointer.pageX,\n y: pointer.pageY\n };\n};\n\n// ----- ----- //\n\nreturn Unipointer;\n\n}));\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","\nimport { PresentationMode, checkWebkitSetPresentationMode, addClass, removeClass} from '../utils/util'\n\nlet pip = function () {\n let player = this\n function onPipBtnClick () {\n if (player.video !== document.pictureInPictureElement) {\n player.video.requestPictureInPicture()\n } else {\n document.exitPictureInPicture()\n }\n }\n player.on('pipBtnClick', onPipBtnClick)\n\n const onWebkitpresentationmodechanged = (e) => {\n const mode = player.video.webkitPresentationMode\n this.pMode = mode\n if (mode === PresentationMode.PIP) {\n // 进入pip模式\n player.emit('requestPictureInPicture', e.pictureInPictureWindow)\n } else if (mode === PresentationMode.INLINE) {\n // 退出pip,进去inline模式\n player.emit('exitPictureInPicture')\n }\n }\n\n player.video.addEventListener('enterpictureinpicture', function (pipWindow) {\n addClass(player.root, 'xgplayer-pip-active')\n player.emit('requestPictureInPicture', pipWindow)\n })\n\n player.video.addEventListener('leavepictureinpicture', function () {\n removeClass(player.root, 'xgplayer-pip-active')\n player.emit('exitPictureInPicture')\n })\n\n checkWebkitSetPresentationMode(player.video) &&\n player.video.addEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n\n function onDestroy () {\n player.off('pipBtnClick', onPipBtnClick)\n player.off('destroy', onDestroy)\n checkWebkitSetPresentationMode(player.video) &&\n player.video.removeEventListener('webkitpresentationmodechanged', onWebkitpresentationmodechanged)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'pip',\n method: pip\n}\n","let playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n player.currentVideoIndex = -1\n\n function onPlayNextBtnClick () {\n if (player.currentVideoIndex + 1 < nextBtn.urlList.length) {\n player.currentVideoIndex++\n player.video.autoplay = true\n player.src = nextBtn.urlList[player.currentVideoIndex]\n player.emit('playerNext', player.currentVideoIndex + 1)\n if (player.currentVideoIndex + 1 === nextBtn.urlList.length) {\n player.emit('urlListEnd')\n }\n }\n }\n player.on('playNextBtnClick', onPlayNextBtnClick)\n\n function onDestroy () {\n player.off('playNextBtnClick', onPlayNextBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'playNext',\n method: playNext\n}","import { removeClass } from '../utils/util'\n\nlet reload = function () {\n let player = this\n let reloadConfig = player.config.reload\n if (!reloadConfig) { return }\n\n function onReloadBtnClick () {\n removeClass(player.root, 'xgplayer-is-error')\n player.src = player.config.url\n }\n player.on('reloadBtnClick', onReloadBtnClick)\n\n function onDestroy () {\n player.off('reloadBtnClick', onReloadBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'reload',\n method: reload\n}","let rotate = function () {\n let player = this\n let rotateConfig = player.config.rotate\n if (!rotateConfig) { return }\n\n function onRotateBtnClick () {\n player.rotate(rotateConfig.clockwise, rotateConfig.innerRotate)\n }\n player.on('rotateBtnClick', onRotateBtnClick)\n\n function onDestroy () {\n player.off('rotateBtnClick', onRotateBtnClick)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.updateRotateDeg = function () {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n\n let width = player.root.offsetWidth\n let height = player.root.offsetHeight\n let targetWidth = player.video.videoWidth\n let targetHeight = player.video.videoHeight\n\n if (!player.config.rotate.innerRotate && player.config.rotate.controlsFix) {\n player.root.style.width = height + 'px'\n player.root.style.height = width + 'px'\n }\n\n let scale\n if (player.rotateDeg === 0.25 || player.rotateDeg === 0.75) {\n if (player.config.rotate.innerRotate) {\n if ((targetWidth / targetHeight) > (height / width)) { // 旋转后纵向撑满\n let videoWidth = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoWidth = height * targetWidth / targetHeight\n } else { // 旋转前是横向撑满\n videoWidth = width\n }\n scale = height / videoWidth\n } else { // 旋转后横向撑满\n let videoHeight = 0\n if ((targetHeight / targetWidth) > (height / width)) { // 旋转前是纵向撑满\n videoHeight = height\n } else { // 旋转前是横向撑满\n videoHeight = width * targetHeight / targetWidth\n }\n scale = width / videoHeight\n }\n } else {\n if (width >= height) {\n scale = width / height\n } else {\n scale = height / width\n }\n }\n scale = Number(scale.toFixed(5))\n } else {\n scale = 1\n }\n\n if (player.config.rotate.innerRotate) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n if (player.config.rotate.controlsFix) {\n player.video.style.transformOrigin = 'center center'\n player.video.style.transform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n player.video.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${scale})`\n } else {\n player.root.style.transformOrigin = 'center center'\n player.root.style.transform = `rotate(${player.rotateDeg}turn) scale(${1})`\n player.root.style.webKitTransform = `rotate(${player.rotateDeg}turn) scale(${1})`\n }\n }\n }\n\n player.rotate = function (clockwise = false, innerRotate = true, times = 1) {\n let player = this;\n if (!player.rotateDeg) {\n player.rotateDeg = 0\n }\n let factor = clockwise ? 1 : -1\n\n player.rotateDeg = (player.rotateDeg + 1 + factor * 0.25 * times) % 1\n this.updateRotateDeg()\n\n player.emit('rotate', player.rotateDeg * 360)\n }\n}\n\nexport default {\n name: 'rotate',\n method: rotate\n}","let screenShot = function () {\n let player = this\n let screenShotOptions = player.config.screenShot\n let callBack = null\n if (!screenShotOptions) {\n return\n }\n\n player.video.setAttribute('crossOrigin', 'anonymous')\n\n let encoderOptions = 0.92\n\n if (screenShotOptions.quality || screenShotOptions.quality === 0) {\n encoderOptions = screenShotOptions.quality\n }\n let type = screenShotOptions.type === undefined ? 'image/png' : screenShotOptions.type\n let format = screenShotOptions.format === undefined ? '.png' : screenShotOptions.format\n\n let canvas = document.createElement('canvas')\n let canvasCtx = canvas.getContext('2d')\n let img = new Image()\n\n canvas.width = this.config.width || 600\n canvas.height = this.config.height || 337.5 \n let saveScreenShot = function (data, filename) {\n let saveLink = document.createElement('a')\n saveLink.href = data\n saveLink.download = filename\n let event = document.createEvent('MouseEvents')\n event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)\n saveLink.dispatchEvent(event)\n }\n\n player.screenShot = function (save = true) {\n save = screenShotOptions.saveImg === undefined ? save : screenShotOptions.saveImg\n canvas.width = player.video.videoWidth || 600\n canvas.height = player.video.videoHeight || 337.5\n callBack = screenShotOptions.callBack\n img.onload = (function () {\n canvasCtx.drawImage(player.video, 0, 0, canvas.width, canvas.height)\n img.src = canvas.toDataURL(type, encoderOptions).replace(type, 'image/octet-stream')\n let screenShotImg = img.src.replace(/^data:image\\/[^;]+/, 'data:application/octet-stream')\n let saveFileName = screenShotOptions.fileName || player.lang.SCREENSHOT\n\n player.emit('screenShot', screenShotImg)\n if (save && callBack) {\n callBack(screenShotImg, saveFileName, format)\n } else {\n save && saveScreenShot(screenShotImg, saveFileName + format)\n }\n })()\n }\n player.on('screenShotBtnClick', player.screenShot)\n\n function onDestroy () {\n player.off('screenShotBtnClick', player.screenShot)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'screenShot',\n method: screenShot\n}","import Errors from '../error'\n\nfunction stallCheck () {\n const player = this\n if(!player.config.enableStallCheck) return;\n let lastCurrentTime = 0;\n let stallFlag, stallCheckTimer, progressTimer;\n player.once('complete', () => {\n progressTimer = setInterval(() => {\n if (player.currentTime - (lastCurrentTime || 0) > 0.1 || player.paused) {\n if (stallFlag === 1 || stallFlag === 2) {\n stallFlag = 0;\n clearTimeout(stallCheckTimer);\n stallCheckTimer = null;\n }\n } else {\n if (!stallFlag) {\n stallFlag = 1;\n stallCheckTimer = setTimeout(() => {\n if (stallFlag === 1) {\n stallFlag = 2;\n player.emit('error', new Errors('STALL'));\n }\n stallCheckTimer = null;\n }, 20000);\n }\n }\n lastCurrentTime = player.currentTime;\n }, 1000);\n })\n}\n \nexport default {\n name: 'stallCheck',\n method: stallCheck\n}\n\n\n","import { addClass, removeClass, event } from '../utils/util'\nimport sniffer from '../utils/sniffer'\n\nlet volume = function () {\n let player = this\n let root = player.root\n let container, slider, bar, selected\n function onCanplay () {\n // player.volume = sniffer.device === 'mobile' ? 1 : player.config.volume\n if(!player.controls) return\n player.volume = player.config.volume\n container = player.controls.querySelector('.xgplayer-volume')\n if(!container) return\n slider = container.querySelector('.xgplayer-slider')\n bar = container.querySelector('.xgplayer-bar')\n selected = container.querySelector('.xgplayer-drag')\n if (sniffer.device === 'mobile') {\n if(player.volume === 0) {\n player.video.muted = true\n }\n onVolumeChange()\n }\n }\n player.once('canplay', onCanplay)\n\n function onVolumeBarClick (e) {\n if(!slider) return\n player.video.muted = false\n slider.focus()\n event(e)\n\n let barRect = bar.getBoundingClientRect()\n let pos = {x: e.clientX, y: e.clientY}\n let height = selected.getBoundingClientRect().height\n let isMove = false\n let onMove = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n isMove = true\n let w = height - e.clientY + pos.y\n let now = w / barRect.height\n selected.style.height = `${w}px`\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n let onUp = function (e) {\n e.preventDefault()\n e.stopPropagation()\n event(e)\n window.removeEventListener('mousemove', onMove)\n window.removeEventListener('touchmove', onMove)\n window.removeEventListener('mouseup', onUp)\n window.removeEventListener('touchend', onUp)\n\n if (!isMove) {\n let w = barRect.height - (e.clientY - barRect.top)\n let now = w / barRect.height\n selected.style.height = `${w}px`\n if (now <= 0) {\n if (player.volume > 0) {\n selected.volume = player.video.volume\n } else {\n now = selected.volume\n }\n }\n player.volume = Math.max(Math.min(now, 1), 0)\n }\n slider.volume = player.volume\n isMove = false\n }\n window.addEventListener('mousemove', onMove)\n window.addEventListener('touchmove', onMove)\n window.addEventListener('mouseup', onUp)\n window.addEventListener('touchend', onUp)\n return false\n }\n player.on('volumeBarClick', onVolumeBarClick)\n\n function onVolumeIconClick () {\n if (sniffer.device === 'mobile') {\n if (player.video.muted) {\n player.video.muted = false\n player.emit('unmute')\n player.volume = 1\n } else {\n player.video.muted = true\n player.emit('mute')\n player.volume = 0\n }\n } else {\n if(!slider) return\n player.video.muted = false\n if (player.volume < 0.1) {\n if (slider.volume < 0.1) {\n player.volume = 0.6\n } else {\n player.volume = slider.volume\n }\n player.emit('unmute')\n } else {\n player.volume = 0\n player.emit('mute')\n }\n }\n // onVolumeChange ()\n }\n player.on('volumeIconClick', onVolumeIconClick)\n\n function onVolumeIconEnter () {\n addClass(root, 'xgplayer-volume-active')\n if (container) {\n container.focus()\n }\n }\n player.on('volumeIconEnter', onVolumeIconEnter)\n\n function onVolumeIconLeave () {\n removeClass(root, 'xgplayer-volume-active')\n }\n player.on('volumeIconLeave', onVolumeIconLeave)\n\n let _changeTimer = null\n function onVolumeChange () {\n if (_changeTimer) {\n clearTimeout(_changeTimer)\n }\n _changeTimer = setTimeout(() => {\n if (sniffer.device === 'mobile') {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-large')\n if (player.video.muted || player.video.defaultMuted) {\n if (!player.video.muted) {\n player.video.muted = true\n }\n player.video.defaultMuted = false\n addClass(root, 'xgplayer-volume-muted')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n } else {\n removeClass(root, 'xgplayer-volume-muted')\n removeClass(root, 'xgplayer-volume-small')\n removeClass(root, 'xgplayer-volume-large')\n if (player.volume === 0 || player.muted) {\n addClass(root, 'xgplayer-volume-muted')\n } else if (player.volume < 0.5) {\n addClass(root, 'xgplayer-volume-small')\n } else {\n addClass(root, 'xgplayer-volume-large')\n }\n if (!bar) return\n let containerHeight = bar.getBoundingClientRect().height || 76\n selected.style.height = `${player.volume * containerHeight}px`\n }\n }, 50)\n }\n player.on('volumechange', onVolumeChange)\n\n function onDestroy () {\n player.off('canplay', onCanplay)\n player.off('volumeBarClick', onVolumeBarClick)\n player.off('volumeIconClick', onVolumeIconClick)\n player.off('volumeIconEnter', onVolumeIconEnter)\n player.off('volumeIconLeave', onVolumeIconLeave)\n player.off('volumechange', onVolumeChange)\n player.off('destroy', onDestroy)\n if (_changeTimer) {\n clearTimeout(_changeTimer);\n _changeTimer = null;\n }\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'volume',\n method: volume\n}","import SubTitles from 'xgplayer-subtitles'\nconst defaultStyle = {\n follow: true, // 是否跟随控制栏调整位置\n mode: 'stroke', // 字体显示模式,默认是描边\n followBottom: 50, // 跟随底部控制栏的高度\n fitVideo: true, // 是否跟随视频自动调整字号\n offsetBottom: 2, // 字幕距离画面底部百分比,默认2%\n baseSizeX: 49, // 横屏视频适配基准字号\n baseSizeY: 28, // 竖屏视频适配基准字号\n minSize: 16, // pc端最小字号\n minMobileSize: 13, // 移动端最小字号\n line: 'double', // 最大显示行数 single/double/three\n fontColor: '#fff' // 字体颜色\n}\n\n// function createSubTitle (textTrack, style = {}, defaultOpen = true) {\n// const config = {\n// subTitles: textTrack,\n// defaultOpen: defaultOpen\n// }\n\n// Object.keys(style).map(key => {\n// config[key] = style[key]\n// })\n// return new SubTitles(config)\n// }\n\nclass XgSubtitles {\n constructor (player, list, style) {\n const subtitle = this.create(list, style, player.textTrackShowDefault)\n subtitle.attachPlayer(player)\n this.subtitle = subtitle\n this.player = player\n this.positionData = {\n vBottom: 0,\n marginBottom: 0\n }\n this.isActive = false\n this.followBottom = style.followBottom;\n ['onSubtitleResize', 'onFocus', 'onBlur'].map(item => {\n this[item] = this[item].bind(this)\n })\n\n if (player.controls && style.follow) {\n this.subtitle.on('resize', this.onSubtitleResize)\n player.on('focus', this.onFocus)\n player.on('blur', this.onBlur)\n }\n }\n\n create (textTrack, style = {}, defaultOpen = true) {\n const config = {\n subTitles: textTrack,\n defaultOpen: defaultOpen\n }\n Object.keys(style).map(key => {\n config[key] = style[key]\n })\n return new SubTitles(config)\n }\n\n switch (subtitle) {\n return this.subtitle.switch(subtitle)\n }\n\n switchOff () {\n return this.subtitle.switchOff()\n }\n\n setSubTitles (subtitles, showDefault, isNeedMove) {\n return this.subtitle.setSubTitles(subtitles, showDefault, isNeedMove)\n }\n\n onFocus () {\n const { marginBottom, vBottom } = this.positionData\n if (this.isActive || !marginBottom) {\n return\n }\n this.isActive = true\n let bottom = marginBottom + vBottom\n if (this.followBottom > bottom) {\n bottom = this.followBottom\n }\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onBlur () {\n this.isActive = false\n const bottom = this.positionData.vBottom + this.positionData.marginBottom\n this.subtitle && (this.subtitle.root.style.bottom = `${bottom}px`)\n }\n\n onSubtitleResize (data) {\n this.positionData.vBottom = data.vBottom\n this.positionData.marginBottom = data.marginBottom\n }\n\n destroy () {\n this.subtitle.off('resize', this.onSubtitleResize)\n this.player.off('focus', this.onFocus)\n this.player.off('blur', this.onBlur)\n this.subtitle.destroy()\n this.subtitle = null\n }\n}\n\nlet textTrack = function () {\n const player = this\n const { textTrack } = player.config\n if (!textTrack) {\n return\n }\n let textTrackStyle = player.config.textTrackStyle || {}\n Object.keys(defaultStyle).map(key => {\n if (textTrackStyle[key] === undefined) {\n textTrackStyle[key] = defaultStyle[key]\n }\n })\n player.textTrackShowDefault = false\n player.config.textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n !player.textTrackShowDefault && (player.textTrackShowDefault = item.isDefault || item.default)\n })\n\n this.subTitles = new XgSubtitles(player, player.config.textTrack, textTrackStyle)\n\n player.setSubTitles = (textTrack, needRemove = true) => {\n let showDefault = false\n textTrack.map((item, index) => {\n if (!item.id && !item.language) {\n item.id = index\n }\n !item.url && (item.url = item.src)\n !item.language && (item.language = item.srclang)\n item.isDefault === undefined && (item.isDefault = item.default)\n item.isDefault && (showDefault = true)\n })\n player.textTrackShowDefault = showDefault\n this.subTitles.setSubTitles(textTrack, showDefault, needRemove)\n player.emit('subtitle_change', {\n off: false,\n isListUpdate: true,\n list: textTrack\n })\n }\n\n player.switchSubTitle = (subtitle = { id: '', language: '' }) => {\n this.subTitles.switch(subtitle).then(data => {\n if (data.code === 0) {\n subtitle.off = false\n subtitle.isListUpdate = false\n subtitle.list = []\n player.emit('subtitle_change', subtitle)\n }\n })\n }\n\n player.switchOffSubtile = () => {\n this.subTitles.switchOff()\n player.emit('subtitle_change', {\n off: true,\n isListUpdate: false,\n list: []\n })\n }\n\n function onDestroy () {\n this.subTitles.destroy()\n this.subTitles = null\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 'textTrack',\n method: textTrack\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self,t.XgSubtitle=e())}(this,function(){\"use strict\";function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=F(e),this.reject=F(n)}function r(t){var e=t.length;return 3===e?(60*(60*Number(t[0])+Number(t[1]))*1e3+1e3*Number(t[2]))/1e3:2===e?(60*Number(t[0])*1e3+1e3*Number(t[1]))/1e3:Number(t[0])}function i(t){return/^(\\-|\\+)?\\d+(\\.\\d+)?$/.test(t)}function o(t){return t}function s(t,e){return t>=0&&t<e.length?e[t]:\"\"}function a(t,e){if(!t)return!1;if(t.classList)return Array.prototype.some.call(t.classList,function(t){return t===e});var n=t.className&&\"object\"===Je(t.className)?t.getAttribute(\"class\"):t.className;return n&&!!n.match(new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\"))}function u(t,e){t&&(t.classList?e.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach(function(e){e&&t.classList.add(e)}):a(t,e)||(t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\")+\" \"+e):t.className+=\" \"+e))}function c(t,e){t&&(t.classList?e.split(/\\s+/g).forEach(function(e){t.classList.remove(e)}):a(t,e)&&e.split(/\\s+/g).forEach(function(e){var n=new RegExp(\"(\\\\s|^)\"+e+\"(\\\\s|$)\");t.className&&\"object\"===Je(t.className)?t.setAttribute(\"class\",t.getAttribute(\"class\").replace(n,\" \")):t.className=t.className.replace(n,\" \")}))}function l(t,e,n){var r=e.length;if(r<1)return-1;if(n=n<0?0:n>=r?r-1:n,e[n].start<=t&&t<e[n].end)return n;for(var i=e[n].end<=t?n+1:0;i<r;i++){if(e[i].start<=t&&t<e[i].end)return i;if(t>e[i].end&&i+1<r&&t<e[i+1].start)return-1;if(t>e[i].end&&i+1>=r)return-1}return-1}function f(t,e,n){var r=e.length;if(r<1)return[];var i=[];if((n=n<0?0:n>=r?r-1:n)<r)for(var o=e[n].end<=t?n:0;o<r&&(e[o].start<=t&&t<e[o].end&&i.push(o),!(t<e[o].start));o++);return i}function h(t){return Object.prototype.toString.call(t).match(/([^\\s.*]+)(?=]$)/g)[0]}function d(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",i=document.createElement(t);return i.className=r,i.innerHTML=e,kr(n).forEach(function(e){var r=e,o=n[e];\"video\"===t||\"audio\"===t||\"live-video\"===t?o&&i.setAttribute(r,o):i.setAttribute(r,o)}),i}function p(){var t=navigator.userAgent,e=/(?:Windows Phone)/.test(t),n=/(?:SymbianOS)/.test(t)||e,r=/(?:Android)/.test(t),i=/(?:Firefox)/.test(t),o=/(?:iPad|PlayBook)/.test(t)||r&&!/(?:Mobile)/.test(t)||i&&/(?:Tablet)/.test(t);return/(?:iPhone)/.test(t)&&!o||r||n||o}function v(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=\"\";t.map(function(t){n+=\" \"+e+\" \"+t.key+\" {\"+t.style+\"}\"});var r=document.createElement(\"style\"),i=document.head||document.getElementsByTagName(\"head\")[0];if(r.type=\"text/css\",r.id=\"ssss\",r.styleSheet){var o=function(){try{r.styleSheet.cssText=n}catch(t){}};r.styleSheet.disabled?setTimeout(o,10):o()}else{var s=document.createTextNode(n);r.appendChild(s)}i.appendChild(r)}function y(t,e){Ir||(Ir=new Lr),Ir.addObserver(t,e)}function g(t,e){Ir&&Ir.unObserver(t,e)}function m(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={code:Fr[t].code,msg:Fr[t].msg};return kr(e).map(function(t){n[t]=e[t]}),n}function _(t,e,n,r,i){i?n(m(2,i),{format:r.format}):r.format?(t.list=r.list,t.format=r.format,t.styles=r.styles,e(t)):n(m(3))}function x(t){return new xr(function(e,n){if(t.list)return void e(t);if(t.json){var r=Nr.parseJson(t.json);return t.list=r,t.format=\"json\",void e(t)}if(t.stringContent&&!t.url)Nr.parse(t.stringContent,function(r,i){_(t,e,n,r,i)});else if(t.url)new Tr({url:t.url,type:\"text\"}).then(function(r){Nr.parse(r.res.response,function(r,i){_(t,e,n,r,i)})}).catch(function(e){var r=m(1,{statusText:e.statusText,status:e.status,type:e.type,message:\"http load error\",url:t.url});n(r)});else{var i=m(8);n(i)}})}function b(t,e){return!!(t.id&&t.id===e.id||t.language&&t.language===e.language)}var k=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t},w=function(t){return Object(k(t))},T={}.hasOwnProperty,S=function(t,e){return T.call(t,e)},O=e(function(t){var e=t.exports={version:\"2.6.12\"};\"number\"==typeof __e&&(__e=e)}),E=(O.version,e(function(t){var e=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=e)})),P=e(function(t){var e=E[\"__core-js_shared__\"]||(E[\"__core-js_shared__\"]={});(t.exports=function(t,n){return e[t]||(e[t]=void 0!==n?n:{})})(\"versions\",[]).push({version:O.version,mode:\"pure\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})}),j=0,M=Math.random(),A=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++j+M).toString(36))},C=P(\"keys\"),R=function(t){return C[t]||(C[t]=A(t))},N=R(\"IE_PROTO\"),L=Object.prototype,I=Object.getPrototypeOf||function(t){return t=w(t),S(t,N)?t[N]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?L:null},F=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t},z=function(t,e,n){if(F(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},B=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},D=function(t){if(!B(t))throw TypeError(t+\" is not an object!\");return t},H=function(t){try{return!!t()}catch(t){return!0}},V=!H(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}),W=E.document,G=B(W)&&B(W.createElement),U=function(t){return G?W.createElement(t):{}},$=!V&&!H(function(){return 7!=Object.defineProperty(U(\"div\"),\"a\",{get:function(){return 7}}).a}),K=function(t,e){if(!B(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!B(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!B(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")},J=Object.defineProperty,Y={f:V?Object.defineProperty:function(t,e,n){if(D(t),e=K(e,!0),D(n),$)try{return J(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},X=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},q=V?function(t,e,n){return Y.f(t,e,X(1,n))}:function(t,e,n){return t[e]=n,t},Z=function(t,e,n){var r,i,o,s=t&Z.F,a=t&Z.G,u=t&Z.S,c=t&Z.P,l=t&Z.B,f=t&Z.W,h=a?O:O[e]||(O[e]={}),d=h.prototype,p=a?E:u?E[e]:(E[e]||{}).prototype;a&&(n=e);for(r in n)(i=!s&&p&&void 0!==p[r])&&S(h,r)||(o=i?p[r]:n[r],h[r]=a&&\"function\"!=typeof p[r]?n[r]:l&&i?z(o,E):f&&p[r]==o?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(o):c&&\"function\"==typeof o?z(Function.call,o):o,c&&((h.virtual||(h.virtual={}))[r]=o,t&Z.R&&d&&!d[r]&&q(d,r,o)))};Z.F=1,Z.G=2,Z.S=4,Z.P=8,Z.B=16,Z.W=32,Z.U=64,Z.R=128;var Q=Z,tt=function(t,e){var n=(O.Object||{})[t]||Object[t],r={};r[t]=e(n),Q(Q.S+Q.F*H(function(){n(1)}),\"Object\",r)};tt(\"getPrototypeOf\",function(){return function(t){return I(w(t))}});var et=O.Object.getPrototypeOf,nt=t(e(function(t){t.exports={default:et,__esModule:!0}})),rt=t(e(function(t,e){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}})),it=Math.ceil,ot=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ot:it)(t)},at=q,ut={},ct={}.toString,lt=function(t){return ct.call(t).slice(8,-1)},ft=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==lt(t)?t.split(\"\"):Object(t)},ht=function(t){return ft(k(t))},dt=Math.min,pt=function(t){return t>0?dt(st(t),9007199254740991):0},vt=Math.max,yt=Math.min,gt=function(t,e){return t=st(t),t<0?vt(t+e,0):yt(t,e)},mt=function(t){return function(e,n,r){var i,o=ht(e),s=pt(o.length),a=gt(r,s);if(t&&n!=n){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===n)return t||a||0;return!t&&-1}}(!1),_t=R(\"IE_PROTO\"),xt=function(t,e){var n,r=ht(t),i=0,o=[];for(n in r)n!=_t&&S(r,n)&&o.push(n);for(;e.length>i;)S(r,n=e[i++])&&(~mt(o,n)||o.push(n));return o},bt=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\"),kt=Object.keys||function(t){return xt(t,bt)},wt=V?Object.defineProperties:function(t,e){D(t);for(var n,r=kt(e),i=r.length,o=0;i>o;)Y.f(t,n=r[o++],e[n]);return t},Tt=E.document,St=Tt&&Tt.documentElement,Ot=R(\"IE_PROTO\"),Et=function(){},Pt=function(){var t,e=U(\"iframe\"),n=bt.length;for(e.style.display=\"none\",St.appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),Pt=t.F;n--;)delete Pt.prototype[bt[n]];return Pt()},jt=Object.create||function(t,e){var n;return null!==t?(Et.prototype=D(t),n=new Et,Et.prototype=null,n[Ot]=t):n=Pt(),void 0===e?n:wt(n,e)},Mt=e(function(t){var e=P(\"wks\"),n=E.Symbol,r=\"function\"==typeof n;(t.exports=function(t){return e[t]||(e[t]=r&&n[t]||(r?n:A)(\"Symbol.\"+t))}).store=e}),At=Y.f,Ct=Mt(\"toStringTag\"),Rt=function(t,e,n){t&&!S(t=n?t:t.prototype,Ct)&&At(t,Ct,{configurable:!0,value:e})},Nt={};q(Nt,Mt(\"iterator\"),function(){return this});var Lt=function(t,e,n){t.prototype=jt(Nt,{next:X(1,n)}),Rt(t,e+\" Iterator\")},It=Mt(\"iterator\"),Ft=!([].keys&&\"next\"in[].keys()),zt=function(){return this},Bt=function(t,e,n,r,i,o,s){Lt(n,e,r);var a,u,c,l=function(t){if(!Ft&&t in p)return p[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},f=e+\" Iterator\",h=\"values\"==i,d=!1,p=t.prototype,v=p[It]||p[\"@@iterator\"]||i&&p[i],y=v||l(i),g=i?h?l(\"entries\"):y:void 0,m=\"Array\"==e?p.entries||v:v;if(m&&(c=I(m.call(new t)))!==Object.prototype&&c.next&&Rt(c,f,!0),h&&v&&\"values\"!==v.name&&(d=!0,y=function(){return v.call(this)}),s&&(Ft||d||!p[It])&&q(p,It,y),ut[e]=y,ut[f]=zt,i)if(a={values:h?y:l(\"values\"),keys:o?y:l(\"keys\"),entries:g},s)for(u in a)u in p||at(p,u,a[u]);else Q(Q.P+Q.F*(Ft||d),e,a);return a},Dt=function(t){return function(e,n){var r,i,o=String(k(e)),s=st(n),a=o.length;return s<0||s>=a?t?\"\":void 0:(r=o.charCodeAt(s),r<55296||r>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):r:t?o.slice(s,s+2):i-56320+(r-55296<<10)+65536)}}(!0);Bt(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=Dt(e,n),this._i+=t.length,{value:t,done:!1})});var Ht=function(t,e){return{value:e,done:!!t}};Bt(Array,\"Array\",function(t,e){this._t=ht(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,Ht(1)):\"keys\"==e?Ht(0,n):\"values\"==e?Ht(0,t[n]):Ht(0,[n,t[n]])},\"values\");ut.Arguments=ut.Array;for(var Vt=Mt(\"toStringTag\"),Wt=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),Gt=0;Gt<Wt.length;Gt++){var Ut=Wt[Gt],$t=E[Ut],Kt=$t&&$t.prototype;Kt&&!Kt[Vt]&&q(Kt,Vt,Ut),ut[Ut]=ut.Array}var Jt={f:Mt},Yt=Jt.f(\"iterator\"),Xt=e(function(t){t.exports={default:Yt,__esModule:!0}});t(Xt);var qt=e(function(t){var e=A(\"meta\"),n=Y.f,r=0,i=Object.isExtensible||function(){return!0},o=!H(function(){return i(Object.preventExtensions({}))}),s=function(t){n(t,e,{value:{i:\"O\"+ ++r,w:{}}})},a=function(t,n){if(!B(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!S(t,e)){if(!i(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},u=function(t,n){if(!S(t,e)){if(!i(t))return!0;if(!n)return!1;s(t)}return t[e].w},c=function(t){return o&&l.NEED&&i(t)&&!S(t,e)&&s(t),t},l=t.exports={KEY:e,NEED:!1,fastKey:a,getWeak:u,onFreeze:c}}),Zt=(qt.KEY,qt.NEED,qt.fastKey,qt.getWeak,qt.onFreeze,Y.f),Qt=function(t){var e=O.Symbol||(O.Symbol={});\"_\"==t.charAt(0)||t in e||Zt(e,t,{value:Jt.f(t)})},te={f:Object.getOwnPropertySymbols},ee={f:{}.propertyIsEnumerable},ne=function(t){var e=kt(t),n=te.f;if(n)for(var r,i=n(t),o=ee.f,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e},re=Array.isArray||function(t){return\"Array\"==lt(t)},ie=bt.concat(\"length\",\"prototype\"),oe={f:Object.getOwnPropertyNames||function(t){return xt(t,ie)}},se=oe.f,ae={}.toString,ue=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ce=function(t){try{return se(t)}catch(t){return ue.slice()}},le={f:function(t){return ue&&\"[object Window]\"==ae.call(t)?ce(t):se(ht(t))}},fe=Object.getOwnPropertyDescriptor,he={f:V?fe:function(t,e){if(t=ht(t),e=K(e,!0),$)try{return fe(t,e)}catch(t){}if(S(t,e))return X(!ee.f.call(t,e),t[e])}},de=qt.KEY,pe=he.f,ve=Y.f,ye=le.f,ge=E.Symbol,me=E.JSON,_e=me&&me.stringify,xe=Mt(\"_hidden\"),be=Mt(\"toPrimitive\"),ke={}.propertyIsEnumerable,we=P(\"symbol-registry\"),Te=P(\"symbols\"),Se=P(\"op-symbols\"),Oe=Object.prototype,Ee=\"function\"==typeof ge&&!!te.f,Pe=E.QObject,je=!Pe||!Pe.prototype||!Pe.prototype.findChild,Me=V&&H(function(){return 7!=jt(ve({},\"a\",{get:function(){return ve(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=pe(Oe,e);r&&delete Oe[e],ve(t,e,n),r&&t!==Oe&&ve(Oe,e,r)}:ve,Ae=function(t){var e=Te[t]=jt(ge.prototype);return e._k=t,e},Ce=Ee&&\"symbol\"==typeof ge.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof ge},Re=function(t,e,n){return t===Oe&&Re(Se,e,n),D(t),e=K(e,!0),D(n),S(Te,e)?(n.enumerable?(S(t,xe)&&t[xe][e]&&(t[xe][e]=!1),n=jt(n,{enumerable:X(0,!1)})):(S(t,xe)||ve(t,xe,X(1,{})),t[xe][e]=!0),Me(t,e,n)):ve(t,e,n)},Ne=function(t,e){D(t);for(var n,r=ne(e=ht(e)),i=0,o=r.length;o>i;)Re(t,n=r[i++],e[n]);return t},Le=function(t,e){return void 0===e?jt(t):Ne(jt(t),e)},Ie=function(t){var e=ke.call(this,t=K(t,!0));return!(this===Oe&&S(Te,t)&&!S(Se,t))&&(!(e||!S(this,t)||!S(Te,t)||S(this,xe)&&this[xe][t])||e)},Fe=function(t,e){if(t=ht(t),e=K(e,!0),t!==Oe||!S(Te,e)||S(Se,e)){var n=pe(t,e);return!n||!S(Te,e)||S(t,xe)&&t[xe][e]||(n.enumerable=!0),n}},ze=function(t){for(var e,n=ye(ht(t)),r=[],i=0;n.length>i;)S(Te,e=n[i++])||e==xe||e==de||r.push(e);return r},Be=function(t){for(var e,n=t===Oe,r=ye(n?Se:ht(t)),i=[],o=0;r.length>o;)!S(Te,e=r[o++])||n&&!S(Oe,e)||i.push(Te[e]);return i};Ee||(at((ge=function(){if(this instanceof ge)throw TypeError(\"Symbol is not a constructor!\");var t=A(arguments.length>0?arguments[0]:void 0),e=function(n){this===Oe&&e.call(Se,n),S(this,xe)&&S(this[xe],t)&&(this[xe][t]=!1),Me(this,t,X(1,n))};return V&&je&&Me(Oe,t,{configurable:!0,set:e}),Ae(t)}).prototype,\"toString\",function(){return this._k}),he.f=Fe,Y.f=Re,oe.f=le.f=ze,ee.f=Ie,te.f=Be,Jt.f=function(t){return Ae(Mt(t))}),Q(Q.G+Q.W+Q.F*!Ee,{Symbol:ge});for(var De=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),He=0;De.length>He;)Mt(De[He++]);for(var Ve=kt(Mt.store),We=0;Ve.length>We;)Qt(Ve[We++]);Q(Q.S+Q.F*!Ee,\"Symbol\",{for:function(t){return S(we,t+=\"\")?we[t]:we[t]=ge(t)},keyFor:function(t){if(!Ce(t))throw TypeError(t+\" is not a symbol!\");for(var e in we)if(we[e]===t)return e},useSetter:function(){je=!0},useSimple:function(){je=!1}}),Q(Q.S+Q.F*!Ee,\"Object\",{create:Le,defineProperty:Re,defineProperties:Ne,getOwnPropertyDescriptor:Fe,getOwnPropertyNames:ze,getOwnPropertySymbols:Be});var Ge=H(function(){te.f(1)});Q(Q.S+Q.F*Ge,\"Object\",{getOwnPropertySymbols:function(t){return te.f(w(t))}}),me&&Q(Q.S+Q.F*(!Ee||H(function(){var t=ge();return\"[null]\"!=_e([t])||\"{}\"!=_e({a:t})||\"{}\"!=_e(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(B(e)||void 0!==t)&&!Ce(t))return re(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!Ce(e))return e}),r[1]=e,_e.apply(me,r)}}),ge.prototype[be]||q(ge.prototype,be,ge.prototype.valueOf),Rt(ge,\"Symbol\"),Rt(Math,\"Math\",!0),Rt(E.JSON,\"JSON\",!0),Qt(\"asyncIterator\"),Qt(\"observable\");var Ue=O.Symbol,$e=e(function(t){t.exports={default:Ue,__esModule:!0}});t($e);var Ke=e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(Xt),i=n($e),o=\"function\"==typeof i.default&&\"symbol\"==typeof r.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof i.default&&\"symbol\"===o(r.default)?function(t){return void 0===t?\"undefined\":o(t)}:function(t){return t&&\"function\"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?\"symbol\":void 0===t?\"undefined\":o(t)}}),Je=t(Ke),Ye=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ke);e.default=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!==(void 0===e?\"undefined\":(0,n.default)(e))&&\"function\"!=typeof e?t:e}}));Q(Q.S+Q.F*!V,\"Object\",{defineProperty:Y.f});var Xe=O.Object,qe=function(t,e,n){return Xe.defineProperty(t,e,n)},Ze=e(function(t){t.exports={default:qe,__esModule:!0}});t(Ze);var Qe=t(e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(Ze);e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),(0,n.default)(t,i.key,i)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()})),tn=function(t,e){if(D(t),!B(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")},en={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,n){try{(n=z(Function.call,he.f(Object.prototype,\"__proto__\").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,r){return tn(t,r),e?t.__proto__=r:n(t,r),t}}({},!1):void 0),check:tn};Q(Q.S,\"Object\",{setPrototypeOf:en.set});var nn=O.Object.setPrototypeOf,rn=e(function(t){t.exports={default:nn,__esModule:!0}});t(rn),Q(Q.S,\"Object\",{create:jt});var on=O.Object,sn=function(t,e){return on.create(t,e)},an=e(function(t){t.exports={default:sn,__esModule:!0}});t(an);var un,cn,ln,fn=t(e(function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(rn),i=n(an),o=n(Ke);e.default=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===e?\"undefined\":(0,o.default)(e)));t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}})),hn=Mt(\"toStringTag\"),dn=\"Arguments\"==lt(function(){return arguments}()),pn=function(t,e){try{return t[e]}catch(t){}},vn=function(t){var e,n,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=pn(e=Object(t),hn))?n:dn?lt(e):\"Object\"==(r=lt(e))&&\"function\"==typeof e.callee?\"Arguments\":r},yn=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t},gn=function(t,e,n,r){try{return r?e(D(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&D(i.call(t)),e}},mn=Mt(\"iterator\"),_n=Array.prototype,xn=function(t){return void 0!==t&&(ut.Array===t||_n[mn]===t)},bn=Mt(\"iterator\"),kn=O.getIteratorMethod=function(t){if(void 0!=t)return t[bn]||t[\"@@iterator\"]||ut[vn(t)]},wn=e(function(t){var e={},n={},r=t.exports=function(t,r,i,o,s){var a,u,c,l,f=s?function(){return t}:kn(t),h=z(i,o,r?2:1),d=0;if(\"function\"!=typeof f)throw TypeError(t+\" is not iterable!\");if(xn(f)){for(a=pt(t.length);a>d;d++)if((l=r?h(D(u=t[d])[0],u[1]):h(t[d]))===e||l===n)return l}else for(c=f.call(t);!(u=c.next()).done;)if((l=gn(c,h,u.value,r))===e||l===n)return l};r.BREAK=e,r.RETURN=n}),Tn=Mt(\"species\"),Sn=function(t,e){var n,r=D(t).constructor;return void 0===r||void 0==(n=D(r)[Tn])?e:F(n)},On=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)},En=E.process,Pn=E.setImmediate,jn=E.clearImmediate,Mn=E.MessageChannel,An=E.Dispatch,Cn=0,Rn={},Nn=function(){var t=+this;if(Rn.hasOwnProperty(t)){var e=Rn[t];delete Rn[t],e()}},Ln=function(t){Nn.call(t.data)};Pn&&jn||(Pn=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return Rn[++Cn]=function(){On(\"function\"==typeof t?t:Function(t),e)},un(Cn),Cn},jn=function(t){delete Rn[t]},\"process\"==lt(En)?un=function(t){En.nextTick(z(Nn,t,1))}:An&&An.now?un=function(t){An.now(z(Nn,t,1))}:Mn?(ln=(cn=new Mn).port2,cn.port1.onmessage=Ln,un=z(ln.postMessage,ln,1)):E.addEventListener&&\"function\"==typeof postMessage&&!E.importScripts?(un=function(t){E.postMessage(t+\"\",\"*\")},E.addEventListener(\"message\",Ln,!1)):un=\"onreadystatechange\"in U(\"script\")?function(t){St.appendChild(U(\"script\")).onreadystatechange=function(){St.removeChild(this),Nn.call(t)}}:function(t){setTimeout(z(Nn,t,1),0)});var In={set:Pn,clear:jn},Fn=In.set,zn=E.MutationObserver||E.WebKitMutationObserver,Bn=E.process,Dn=E.Promise,Hn=\"process\"==lt(Bn),Vn={f:function(t){return new n(t)}},Wn=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}},Gn=E.navigator,Un=Gn&&Gn.userAgent||\"\",$n=function(t,e){if(D(t),B(e)&&e.constructor===t)return e;var n=Vn.f(t);return(0,n.resolve)(e),n.promise},Kn=Mt(\"species\"),Jn=Mt(\"iterator\"),Yn=!1;try{var Xn=[7][Jn]();Xn.return=function(){Yn=!0},Array.from(Xn,function(){throw 2})}catch(t){}var qn,Zn,Qn,tr,er=In.set,nr=function(){var t,e,n,r=function(){var r,i;for(Hn&&(r=Bn.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(Hn)n=function(){Bn.nextTick(r)};else if(!zn||E.navigator&&E.navigator.standalone)if(Dn&&Dn.resolve){var i=Dn.resolve(void 0);n=function(){i.then(r)}}else n=function(){Fn.call(E,r)};else{var o=!0,s=document.createTextNode(\"\");new zn(r).observe(s,{characterData:!0}),n=function(){s.data=o=!o}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}(),rr=E.TypeError,ir=E.process,or=ir&&ir.versions,sr=or&&or.v8||\"\",ar=E.Promise,ur=\"process\"==vn(ir),cr=function(){},lr=Zn=Vn.f,fr=!!function(){try{var t=ar.resolve(1),e=(t.constructor={})[Mt(\"species\")]=function(t){t(cr,cr)};return(ur||\"function\"==typeof PromiseRejectionEvent)&&t.then(cr)instanceof e&&0!==sr.indexOf(\"6.6\")&&-1===Un.indexOf(\"Chrome/66\")}catch(t){}}(),hr=function(t){var e;return!(!B(t)||\"function\"!=typeof(e=t.then))&&e},dr=function(t,e){if(!t._n){t._n=!0;var n=t._c;nr(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,a=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{a?(i||(2==t._h&&yr(t),t._h=1),!0===a?n=r:(l&&l.enter(),n=a(r),l&&(l.exit(),s=!0)),n===e.promise?c(rr(\"Promise-chain cycle\")):(o=hr(n))?o.call(n,u,c):u(n)):c(r)}catch(t){l&&!s&&l.exit(),c(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&pr(t)})}},pr=function(t){er.call(E,function(){var e,n,r,i=t._v,o=vr(t);if(o&&(e=Wn(function(){ur?ir.emit(\"unhandledRejection\",i,t):(n=E.onunhandledrejection)?n({promise:t,reason:i}):(r=E.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),t._h=ur||vr(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},vr=function(t){return 1!==t._h&&0===(t._a||t._c).length},yr=function(t){er.call(E,function(){var e;ur?ir.emit(\"rejectionHandled\",t):(e=E.onrejectionhandled)&&e({promise:t,reason:t._v})})},gr=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),dr(e,!0))},mr=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw rr(\"Promise can't be resolved itself\");(e=hr(t))?nr(function(){var r={_w:n,_d:!1};try{e.call(t,z(mr,r,1),z(gr,r,1))}catch(t){gr.call(r,t)}}):(n._v=t,n._s=1,dr(n,!1))}catch(t){gr.call({_w:n,_d:!1},t)}}};fr||(ar=function(t){yn(this,ar,\"Promise\",\"_h\"),F(t),qn.call(this);try{t(z(mr,this,1),z(gr,this,1))}catch(t){gr.call(this,t)}},(qn=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=function(t,e,n){for(var r in e)n&&t[r]?t[r]=e[r]:q(t,r,e[r]);return t}(ar.prototype,{then:function(t,e){var n=lr(Sn(this,ar));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=ur?ir.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&dr(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Qn=function(){var t=new qn;this.promise=t,this.resolve=z(mr,t,1),this.reject=z(gr,t,1)},Vn.f=lr=function(t){return t===ar||t===tr?new Qn(t):Zn(t)}),Q(Q.G+Q.W+Q.F*!fr,{Promise:ar}),Rt(ar,\"Promise\"),function(t){var e=\"function\"==typeof O[t]?O[t]:E[t];V&&e&&!e[Kn]&&Y.f(e,Kn,{configurable:!0,get:function(){return this}})}(\"Promise\"),tr=O.Promise,Q(Q.S+Q.F*!fr,\"Promise\",{reject:function(t){var e=lr(this);return(0,e.reject)(t),e.promise}}),Q(Q.S+!0*Q.F,\"Promise\",{resolve:function(t){return $n(this===tr?ar:this,t)}}),Q(Q.S+Q.F*!(fr&&function(t,e){if(!e&&!Yn)return!1;var n=!1;try{var r=[7],i=r[Jn]();i.next=function(){return{done:n=!0}},r[Jn]=function(){return i},t(r)}catch(t){}return n}(function(t){ar.all(t).catch(cr)})),\"Promise\",{all:function(t){var e=this,n=lr(e),r=n.resolve,i=n.reject,o=Wn(function(){var n=[],o=0,s=1;wn(t,!1,function(t){var a=o++,u=!1;n.push(void 0),s++,e.resolve(t).then(function(t){u||(u=!0,n[a]=t,--s||r(n))},i)}),--s||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=lr(e),r=n.reject,i=Wn(function(){wn(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}}),Q(Q.P+Q.R,\"Promise\",{finally:function(t){var e=Sn(this,O.Promise||E.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return $n(e,t()).then(function(){return n})}:t,n?function(n){return $n(e,t()).then(function(){throw n})}:t)}}),Q(Q.S,\"Promise\",{try:function(t){var e=Vn.f(this),n=Wn(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}});var _r=O.Promise,xr=t(e(function(t){t.exports={default:_r,__esModule:!0}}));tt(\"keys\",function(){return function(t){return kt(w(t))}});var br=O.Object.keys,kr=t(e(function(t){t.exports={default:br,__esModule:!0}})),wr=e(function(t){function e(){}function n(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function r(t,e,r,i,o){if(\"function\"!=typeof r)throw new TypeError(\"The listener must be a function\");var s=new n(r,i||t,o),u=a?a+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function i(t,n){0==--t._eventsCount?t._events=new e:delete t._events[n]}function o(){this._events=new e,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a=\"~\";Object.create&&(e.prototype=Object.create(null),(new e).__proto__||(a=!1)),o.prototype.eventNames=function(){var t,e,n=[];if(0===this._eventsCount)return n;for(e in t=this._events)s.call(t,e)&&n.push(a?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},o.prototype.listeners=function(t){var e=a?a+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=new Array(i);r<i;r++)o[r]=n[r].fn;return o},o.prototype.listenerCount=function(t){var e=a?a+t:t,n=this._events[e];return n?n.fn?1:n.length:0},o.prototype.emit=function(t,e,n,r,i,o){var s=a?a+t:t;if(!this._events[s])return!1;var u,c,l=this._events[s],f=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),f){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,r),!0;case 5:return l.fn.call(l.context,e,n,r,i),!0;case 6:return l.fn.call(l.context,e,n,r,i,o),!0}for(c=1,u=new Array(f-1);c<f;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,!0),f){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,n);break;case 4:l[c].fn.call(l[c].context,e,n,r);break;default:if(!u)for(h=1,u=new Array(f-1);h<f;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},o.prototype.on=function(t,e,n){return r(this,t,e,n,!1)},o.prototype.once=function(t,e,n){return r(this,t,e,n,!0)},o.prototype.removeListener=function(t,e,n,r){var o=a?a+t:t;if(!this._events[o])return this;if(!e)return i(this,o),this;var s=this._events[o];if(s.fn)s.fn!==e||r&&!s.once||n&&s.context!==n||i(this,o);else{for(var u=0,c=[],l=s.length;u<l;u++)(s[u].fn!==e||r&&!s[u].once||n&&s[u].context!==n)&&c.push(s[u]);c.length?this._events[o]=1===c.length?c[0]:c:i(this,o)}return this},o.prototype.removeAllListeners=function(t){var n;return t?(n=a?a+t:t,this._events[n]&&i(this,n)):(this._events=new e,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,t.exports=o}),Tr=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url,r=e.method,i=void 0===r?\"GET\":r,o=e.type,s=void 0===o?\"arraybuffer\":o,a=e.timeout,u=void 0===a?1e4:a,c=e.data,l=void 0===c?{}:c,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(this,t),new xr(function(t,e){var r=new window.XMLHttpRequest,o=i.toUpperCase(),a=[];s&&(r.responseType=s),u&&(r.timeout=u);for(var c in l)a.push(\"k=\"+l[c]);if(r.onload=function(){200===r.status||206===r.status?t({context:f,res:r}):e(new Error({context:f,res:r,type:\"error\"}))},r.onerror=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.ontimeout=function(t){e(new Error({context:f,res:r,type:\"error\"}))},r.onabort=function(){e(new Error({context:f,res:r,type:\"error\"}))},\"GET\"===o)r.open(o,\"\"+n),r.send();else{if(\"post\"!==o)throw new Error(\"xhr \"+o+\" is not supported\");r.open(o,n),r.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),r.send(a.join(\"&\"))}})},Sr=/^WEBVTT/,Or=/^STYLE+$/,Er=/^\\:\\:cue/,Pr=/^}+$/,jr=/^\\[Script Info\\].*/,Mr=[/[0-9]{1,3}:[0-9]{2}:[0-9]{2}\\.[0-9]{1,3}-->[0-9]{1,3}:[0-9]{2}:[0-9]{2}\\.[0-9]{1,3}/,/[0-9]{1,2}:[0-9]{2}\\.[0-9]{1,3}-->[0-9]{1,2}:[0-9]{2}\\.[0-9]{1,3}/,/[0-9]{1,2}\\.[0-9]{1,3}-->[0-9]{1,2}\\.[0-9]{1,3}/],Ar=/^Format:\\s/,Cr=/^Style:\\s/,Rr=/^Dialogue:\\s/,Nr=function(){function t(){rt(this,t)}return Qe(t,null,[{key:\"parseJson\",value:function(t){for(var e=[],n=0,r=0;r<t.length;r++){if(n>=50&&(n=0),0===n){var i={start:t[r].start,list:[t[r]],end:t[r].end};e.push(i)}else e[e.length-1].list.push(t[r]),e[e.length-1].end=t[r].end;n++}return e}},{key:\"parse\",value:function(e,n){var r=t.checkFormat(e);r||n({format:r});try{var i=[];\"ass\"===r?i=t.parseASS(e):\"vtt\"===r&&(i=t.parseVTT(e)),n({format:r,list:i.list,styles:i.styles})}catch(t){console.error(t),n({format:r},t)}}},{key:\"parseASSItem\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.split(\",\"),i={},s=\"\";try{var a=n.length-e.length;return s=a>0?n.splice(e.length-1,a+1).join(\",\")+\"\":n[n.length-1]+\"\",s=s.replace(/\\\\n+/g,\"\"),s=o(s),n[e.length-1]=s,e.map(function(t,e){\"end\"===t||\"start\"===t?i[t]=r(n[e].split(\":\")):\"text\"===t?i[t]=[n[e]]:\"layer\"===t?(i[t]=[n[e]],i.textTag=[n[e]]):i[t]=\"style\"===t?[n[e]]:Number(n[e])?Number(n[e]):n[e]}),i}catch(t){return console.error(t),{}}}},{key:\"parseASS\",value:function(e){for(var n=e.split(\"\\n\"),r=[],i=0,o=0,s=[],a=[],u=null;i<n.length;){if(Ar.test(n[i]))a=(a=n[i].replace(Ar,\"\").replace(/\\s+/g,\"\").split(\",\")).map(function(t){return t.toLocaleLowerCase()});else if(Cr.test(n[i]))s.push(n[i].replace(Cr,\"\").replace(/\\s+/g,\"\"));else if(Rr.test(n[i])){var c=t.parseASSItem(n[i].replace(Rr,\"\"),a);if(u&&c.start===u.start&&c.end===u.end)try{var l=u,f=l.text,h=l.textTag,d=l.style;f.push(c.text[0]),h.push(c.textTag[0]),d.push(c.style[0])}catch(t){console.error(t)}else{u=c;var p=null;o%50==0?((p={start:u.start,end:u.end,list:[]}).list.push(u),r.push(p)):((p=r[r.length-1]).end=u.end,p.list.push(u)),o++}}i++}return{list:r,style:{}}}},{key:\"parseVTTStyle\",value:function(t,e){var n=t.split(\":\");if(n.length>1){var r=n[0].trim().split(\"-\"),i=\"\";r.length>1?r.map(function(t,e){i+=0===e?t:t.charAt(0).toUpperCase()+t.slice(1)}):i=r[0],e[i]=n[1].trim().replace(/;$/,\"\")}return e}},{key:\"parseVTT\",value:function(t){for(var e=(t=t.replace(Sr,\"\")).split(\"\\n\"),n=[],r=0,o=0,a=null,u=!1,c=!1,l=null,f=null,h=[];r<e.length;){var d=s(r,e).trim();if(!d||u&&i(d))u=!d;else if(Er.test(d)&&Or.test(s(r-1,e).trim())){c=!0;var p=/\\((.+?)\\)/g.exec(d);f=p?p[1]:\"\",l=\"\"}else if(c)Pr.test(d)?(h.push({key:f,style:l}),l=null,f=null,c=!1):l+=d;else if(d){u=!1;var v=this.checkIsTime(e[r]);if(v){var y=this.parseVttTime(v);if(!a||y.start!==a.start||y.end!==a.end){(a=y).text=[],a.textTag=[];var g=null;o%50==0?((g={start:a.start,end:a.end,list:[]}).list.push(a),n.push(g)):((g=n[n.length-1]).end=a.end,g.list.push(a)),o++}}else if(a){var m=a,_=m.text,x=m.textTag,b=this.parseVttText(e[r]);_.push(b.text),x.push(b.tag)}u=!1}r++}return{list:n,styles:h}}},{key:\"checkIsTime\",value:function(t){t=t.replace(/\\s+/g,\"\");for(var e=0,n=null;e<Mr.length&&!(n=Mr[e].exec(t));)e++;return n?n[0]:null}},{key:\"parseVttText\",value:function(t){var e=/^(<?.+?>)/g.exec(t),n=\"\",r=\"default\";if(e){r=e[0].replace(/\\<|\\>|\\&/g,\"\");var i=RegExp(\"^<\"+r+\">(([\\\\s\\\\S])*?)</\"+r+\">$\").exec(t);i?n=i[1]:(n=t,r=\"\")}else n=t;for(var s=/<(\\w+).(\\w+)>/g,a=s.exec(n);a&&a.length>2;)n=n.replace(a[0],\"<\"+a[1]+' class=\"'+a[2]+'\">'),a=s.exec(n);return{tag:r,text:o(n.replace(/\\\\n+/g,\"<br/>\"))}}},{key:\"parseVttTime\",value:function(t){var e=t.split(\"--\\x3e\"),n=void 0,i=0;if(2===e.length){var o=e[0].split(\":\"),s=e[1].split(\":\");n=r(o),i=r(s)}return{start:n,end:i,time:t}}},{key:\"isVTT\",value:function(t){return Sr.test(t)}},{key:\"isASS\",value:function(t){return jr.test(t)}},{key:\"checkFormat\",value:function(t){return t?Sr.test(t)?\"vtt\":jr.test(t)?\"ass\":null:null}}]),t}(),Lr=function(){function t(){var e=this;rt(this,t),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver(function(t){e.__trigger(t)}))}return Qe(t,[{key:\"addObserver\",value:function(t,e){if(this.observer){this.observer&&this.observer.observe(t);for(var n=this.__handlers,r=-1,i=0;i<n.length;i++)n[i]&&t===n[i].target&&(r=i);r>-1?this.__handlers[r].handler.push(e):this.__handlers.push({target:t,handler:[e]})}}},{key:\"unObserver\",value:function(t){var e=-1;this.__handlers.map(function(n,r){t===n.target&&(e=r)}),this.observer&&this.observer.unobserve(t),e>-1&&this.__handlers.splice(e,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(t,e){for(var n=this.__handlers,r=0;r<n.length;r++)if(n[r]&&t===n[r].target){n[r].handler&&n[r].handler.map(function(n){try{n(t,e)}catch(t){console.error(t)}});break}}},{key:\"__trigger\",value:function(t){var e=this;t.map(function(t){var n=t.contentRect;e.__runHandler(t.target,n)})}}]),t}(),Ir=null;!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],i=document.createElement(\"style\");i.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}('xg-text-track.xg-text-track {\\n font-family: \"PingFang SC\",\"SF Pro SC\",\"SF Pro Text\",\"SF Pro Icons\",\"Helvetica Neue\",\"Helvetica\",\"Arial\",sans-serif;\\n -webkit-font-smoothing: antialiased;\\n position: absolute;\\n bottom: 0;\\n color: #fff;\\n left: 0;\\n right: 0;\\n pointer-events: none;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n xg-text-track.xg-text-track.text-track-no-fitvideo {\\n margin-bottom: 2%; }\\n xg-text-track.xg-text-track.text-track-hide {\\n opacity: 0;\\n visibility: hidden; }\\n xg-text-track.xg-text-track.text-track-show {\\n opacity: 1;\\n visibility: visible; }\\n xg-text-track.xg-text-track xg-text-track-inner {\\n display: block;\\n max-width: 92%; }\\n xg-text-track.xg-text-track xg-text-track-span {\\n display: -webkit-box;\\n text-align: center;\\n text-overflow: ellipsis;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n padding: 1px 4px;\\n -webkit-line-clamp: 1;\\n line-height: 120%;\\n word-break: break-word; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-deputy {\\n font-size: 75%; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-single {\\n -webkit-line-clamp: 1; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-double {\\n -webkit-line-clamp: 2; }\\n xg-text-track.xg-text-track xg-text-track-span.text-track-three {\\n -webkit-line-clamp: 3; }\\n xg-text-track.xg-text-track.text-track-bg xg-text-track-inner {\\n background-color: rgba(0, 0, 0, .54);\\n border-radius: 2px; }\\n xg-text-track.xg-text-track.text-track-stroke xg-text-track-inner {\\n background-color: none;\\n border-radius: 0;\\n text-shadow: -1px 1px 0 rgba(0, 0, 0, .7), 1px 1px 0 rgba(0, 0, 0, .7), 1px -1px 0 rgba(0, 0, 0, .7), -1px -1px 0 rgba(0, 0, 0, .7); }\\n');var Fr=[{code:0,msg:\"SUCCESS\"},{code:1,msg:\"LOAD_ERROR\"},{code:2,msg:\"PARSER_ERROR\"},{code:3,msg:\"FORMAT_NOT_SUPPORTED\"},{code:4,msg:\"ID_OR_LANGUAGE_NOT_EXIST\"},{code:5,msg:\"PARAMETERS_ERROR\"},{code:6,msg:\"ABORT\"},{code:7,msg:\"UNKNOWN\"},{code:8,msg:\"DATA_ERROR:subtitle.url is null\"}],zr={RESIZE:\"resize\"},Br=!1;return function(t){function e(t){rt(this,e);var n=Ye(this,(e.__proto__||nt(e)).call(this));return Br=p(),n.currentText=null,n.textTrack=[],n._cid=-1,n._gid=-1,n._cids=[],n._iId=null,n._iC=0,n.player=null,n.root=null,n.config={line:\"double\",bottom:0,mode:\"stroke\",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:\"#fff\"},n._ctime=0,n._loadingTrack={},kr(n.config).map(function(e){void 0!==t[e]&&null!==t[e]&&(n.config[e]=t[e])}),n._isOpen=!1,n._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},t.subTitles&&\"Array\"===h(t.subTitles)?(t.player&&n.attachPlayer(t.player),n.setSubTitles(t.subTitles,n.config.defaultOpen),n):Ye(n)}return fn(e,t),Qe(e,[{key:\"version\",get:function(){return\"1.0.12\"}}]),Qe(e,[{key:\"setSubTitles\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this._isOpen||n;r&&this.innerRoot&&this.switchOff(),this.currentText=null,this.textTrack=[],t.map(function(t){var n={};kr(t).map(function(e){n[e]=t[e]}),n.isDefault&&(e.currentText=n),e.textTrack.push(n)}),this.currentText&&x(this.currentText).then(function(t){e.addStyles(t),i&&e.switch()})}},{key:\"addStyles\",value:function(t){var e=t.styles,n=t.format;e&&\"vtt\"===n&&(e.map(function(t){t.key||(t.key=\"xg-text-track-span\")}),v(e,\"xg-text-track\"))}},{key:\"attachPlayer\",value:function(t){var e=this;if(t){this.player&&this.detachPlayer();var n=this.config,r=n.fontColor,i=n.mode,o=n.fitVideo;this.player=t,this.root=document.createElement(\"xg-text-track\"),this.root.className=\"xg-text-track\",!this._isOpen&&u(this.root,\"text-track-hide\"),!o&&u(this.root,\"text-track-no-fitvideo\"),i&&u(this.root,\"text-track-\"+i),this.innerRoot=document.createElement(\"xg-text-track-inner\"),this.root.appendChild(this.innerRoot),r&&(this.root.style.color=r),this.currentText&&[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.player.root.appendChild(this.root),[\"destroy\",\"__onTimeupdate\",\"_onResize\"].map(function(t){e[t]=e[t].bind(e)}),this.player.on(\"destroy\",this.destroy),this.player.on(\"timeupdate\",this.__onTimeupdate),this._isOpen&&this.switch(),y(t.root,this._onResize)}}},{key:\"detachPlayer\",value:function(){var t=this.player;t&&(t.off(\"destroy\",this.destroy),t.off(\"timeupdate\",this.__onTimeupdate),t.root&&(g(t.root,this._onResize),t.root.removeChild(this.root)),this.innerRoot=null,this.root=null,this.player=null)}},{key:\"switch\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:\"\",language:\"\"};return this._loadingTrack=e,new xr(function(n,r){if(!e.id&&!e.language){if(t.currentText){t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show();var i=m(0,{message:\"switch default subtitle success\"});return void n(i)}var o=m(5,{message:\"no default subtitle\"});return void r(o)}if(t.currentText&&b(e,t.currentText))t._loadingTrack={},t._updateCurrent(t.currentText),t._isOpen=!0,t.show(),n(m(0));else{for(var s=null,a=0;a<t.textTrack.length;a++)if(b(e,t.textTrack[a])){s=t.textTrack[a];break}if(s)s.list?(t._loadingTrack={},t._updateCurrent(s),t._isOpen=!0,t.show(),n(m(0))):x(s).then(function(e){if(t.addStyles(e),t._loadingTrack.id===s.id||t._loadingTrack.language===e.language)t._loadingTrack={},t._updateCurrent(e),t._isOpen=!0,t.show(),n(m(0));else{var i=m(6,{message:\"check _loadingTrack fail id: \"+t._loadingTrack.id+\" nextSubtitle:\"+e.id});console.trace(i),r(i)}}).catch(function(t){r(t)});else{var u=m(4,new Error(\"The is no subtitle with id:[{\"+e.id+\"}] or language:[\"+e.language+\"]\"));console.trace(u),r(u)}}})}},{key:\"switchOff\",value:function(){this._isOpen=!1,this.hide()}},{key:\"_updateCurrent\",value:function(t){var e=this;if(this.root){this.currentText=t,[\"language\",\"id\",\"label\"].map(function(t){e.root.setAttribute(\"data-\"+t,e.currentText[t]||\"\")}),this.__remove(this._cids);var n=this.player.currentTime;this._cids=[],this._gid=-1,this._cid=-1,this._update(n)}}},{key:\"__loadAll\",value:function(){this.textTrack.map(function(t){x(t)})}},{key:\"getDelCid\",value:function(t,e){for(var n=[],r=0;r<t.length;r++)e.includes(t[r])||n.push(t[r]);return n}},{key:\"getNewCid\",value:function(t,e){for(var n=[],r=0;r<e.length;r++)t.includes(e[r])||n.push(e[r]);return n}},{key:\"_update\",value:function(t){var e=this,n=l(t,this.currentText.list,this._gid),r=[];if(n>-1&&(r=f(t,this.currentText.list[n].list,this._cid)),r.length<1)return this._cids.length>0&&this.__remove(this._cids),void(this._cids=[]);if(this._cids!==r||n!==this._gid){this._gid=n,this._cid=r[0];var i=this.getDelCid(this._cids,r),o=this.getNewCid(this._cids,r);this._cids=r,this.__remove(i);var s=[];o.map(function(t){var r=e.currentText.list[n].list[t];r.index=t,s.push(r)}),this.__render(s,t)}}},{key:\"__onTimeupdate\",value:function(){if(this._isOpen){var t=this.player.video,e=t.videoWidth,n=t.videoHeight;!this._videoMeta.scale&&e&&n&&this._onResize(this.player.root);var r=this.player.currentTime;Math.round(Math.abs(1e3*r-this._ctime))<200||(this._ctime=1e3*r,this.currentText&&this.currentText.list&&this._update(r))}}},{key:\"_onResize\",value:function(t){var e=this._videoMeta;if(t&&t instanceof window.Element||(t=this.player.root),this._iId&&(clearTimeout(this._iId),this._iId=null),!e.scale){if(!this.player.video)return;var n=this.player.video,r=n.videoWidth,i=n.videoHeight;if(!r||!i)return;e.videoWidth=r,e.videoHeight=i,e.scale=parseInt(i/r*100,10)}this.__startResize(t)}},{key:\"resize\",value:function(t,e){var n=this,r=this.config,i=r.baseSizeX,o=r.baseSizeY,s=r.minMobileSize,a=r.minSize,u=r.fitVideo,c=r.offsetBottom,l=this._videoMeta.scale;this._videoMeta.lwidth=t,this._videoMeta.lheight=e;var f=void 0,h=0;e/t*100>=l?(h=parseInt(l*t,10)/100,f=t):(h=e,f=parseInt(e/l*100,10)),this._videoMeta.vWidth=f,this._videoMeta.vHeight=h;var d=0,p=0;l>120?(d=o,p=parseInt(d*h/1080,10)):(d=i,p=parseInt(d*f/1920,10));var v=Br?s:a,y={fontSize:p=p<v?v:p>d?d:p},g=parseInt((e-h)/2,10),m=parseInt((t-f)/2,10),_=parseInt(h*c,10)/100;this._videoMeta.vBottom=g,this._videoMeta.vLeft=m,this._videoMeta.marginBottom=_,u&&(y.bottom=g+_,y.left=y.right=m),kr(y).map(function(t){n.root.style[t]=y[t]+\"px\"}),this.emit(zr.RESIZE,{vLeft:m,vBottom:g,marginBottom:_,vWidth:f,vHeight:h,fontSize:p,scale:l})}},{key:\"__startResize\",value:function(t){var e=this,n=t.getBoundingClientRect(),r=this._videoMeta,i=n.width,o=n.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),i>0&&o>0&&(i!==r.lwidth||o!==r.lheight))this._iC=0,this.resize(i,o);else{if(this._iC>=5)return void(this._iC=0);this._iC++,this._iId=setTimeout(function(){e.__startResize(t)},50)}}},{key:\"__remove\",value:function(t){var e=this;if(t&&!(t.length<1)){for(var n=this.innerRoot.children,r=[],i=0;i<n.length;i++){var o=Number(n[i].getAttribute(\"data-index\"));t.includes(o)&&r.push(n[i])}r.map(function(t){e.innerRoot.removeChild(t)})}}},{key:\"__render\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length>0&&e.map(function(e){var n=\"text-track-\"+t.config.line;e.text.map(function(r,i){i>0&&(n+=\" text-track-deputy\");var o={\"data-start\":e.start,\"data-end\":e.end,\"data-index\":e.index};t.innerRoot.appendChild(d(\"xg-text-track-span\",r,o,n))})})}},{key:\"show\",value:function(){c(this.root,\"text-track-hide\")}},{key:\"hide\",value:function(){u(this.root,\"text-track-hide\"),this.innerRoot.innerHTML=\"\"}},{key:\"destroy\",value:function(){this.detachPlayer(),this.removeAllListeners(),this.player=null,this.textTrack=null}},{key:\"marginBottom\",get:function(){var t=this._videoMeta,e=t.bottom,n=t.marginBottom;return this.config.fitVideo?e+n:n}}]),e}(wr)});\n//# sourceMappingURL=index.min.js.map\n","import Player from '../player'\n\nimport I18n from './controls/i18n.js'\nimport Enter from './controls/enter.js'\nimport Play from './controls/play.js'\nimport Start from './controls/start.js'\nimport Poster from './controls/poster.js'\nimport Flex from './controls/flex.js'\nimport Fullscreen from './controls/fullscreen.js'\nimport CssFullscreen from './controls/cssFullscreen.js'\nimport Volume from './controls/volume.js'\nimport Definition from './controls/definition.js'\nimport Loading from './controls/loading.js'\nimport Progress from './controls/progress.js'\nimport Time from './controls/time.js'\nimport Replay from './controls/replay.js'\nimport PlaybackRate from './controls/playbackRate.js'\nimport LocalPreview from './controls/localPreview.js'\nimport Download from './controls/download.js'\nimport Danmu from './controls/danmu.js'\nimport Pip from './controls/pip.js'\nimport Miniplayer from './controls/miniplayer.js'\nimport PlayNext from './controls/playNext.js'\nimport Rotate from './controls/rotate.js'\nimport Reload from './controls/reload.js'\nimport ScreenShot from './controls/screenShot.js'\nimport NativeTextTrack from './controls/nativeTextTrack.js'\nimport TextTrack from './controls/textTrack.js'\nimport ErrorControl from './controls/error.js'\nimport MemoryPlay from './controls/memoryPlay.js'\nimport Airplay from './controls/airplay.js'\n\nPlayer.installAll([\n I18n,\n Enter,\n Play,\n Start,\n Poster,\n Flex,\n Fullscreen,\n CssFullscreen,\n Volume,\n Definition,\n Loading,\n Progress,\n Time,\n Replay,\n PlaybackRate,\n LocalPreview,\n Download,\n Danmu,\n Pip,\n Miniplayer,\n PlayNext,\n Rotate,\n Reload,\n ScreenShot,\n NativeTextTrack,\n TextTrack,\n ErrorControl,\n MemoryPlay,\n Airplay\n])","import { createDom } from '../../utils/util'\nimport '../style/controls/enter.scss'\n\nlet s_enter = function () {\n let player = this\n let root = player.root\n\n let barStr = ''\n for(let i = 1; i <= 12; i++) {\n barStr += `<div class=\"xgplayer-enter-bar${i}\"></div>`\n }\n let enter = createDom('xg-enter', `<div class=\"xgplayer-enter-spinner\">\n ${barStr}\n </div>`, {}, 'xgplayer-enter');\n root.appendChild(enter)\n}\n\nexport default {\n name: 's_enter',\n method: s_enter\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./enter.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-enter{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background:#000;z-index:120}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner{display:block;position:absolute;left:50%;top:50%;height:100px;width:100px;position:relative;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div{width:12%;height:26%;background-color:hsla(0,0%,100%,.7);position:absolute;left:44%;top:37%;opacity:0;border-radius:30px;-webkit-animation:fade 1s linear infinite;animation:fade 1s linear infinite}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar1{-webkit-transform:rotate(0deg) translateY(-142%);-ms-transform:rotate(0deg) translateY(-142%);transform:rotate(0deg) translateY(-142%);-webkit-animation-delay:0s;animation-delay:0s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar2{-webkit-transform:rotate(30deg) translateY(-142%);-ms-transform:rotate(30deg) translateY(-142%);transform:rotate(30deg) translateY(-142%);-webkit-animation-delay:-.9163s;animation-delay:-.9163s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar3{-webkit-transform:rotate(60deg) translateY(-142%);-ms-transform:rotate(60deg) translateY(-142%);transform:rotate(60deg) translateY(-142%);-webkit-animation-delay:-.833s;animation-delay:-.833s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar4{-webkit-transform:rotate(90deg) translateY(-142%);-ms-transform:rotate(90deg) translateY(-142%);transform:rotate(90deg) translateY(-142%);-webkit-animation-delay:-.7497s;animation-delay:-.7497s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar5{-webkit-transform:rotate(120deg) translateY(-142%);-ms-transform:rotate(120deg) translateY(-142%);transform:rotate(120deg) translateY(-142%);-webkit-animation-delay:-.6664s;animation-delay:-.6664s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar6{-webkit-transform:rotate(150deg) translateY(-142%);-ms-transform:rotate(150deg) translateY(-142%);transform:rotate(150deg) translateY(-142%);-webkit-animation-delay:-.5831s;animation-delay:-.5831s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar7{-webkit-transform:rotate(180deg) translateY(-142%);-ms-transform:rotate(180deg) translateY(-142%);transform:rotate(180deg) translateY(-142%);-webkit-animation-delay:-.4998s;animation-delay:-.4998s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar8{-webkit-transform:rotate(210deg) translateY(-142%);-ms-transform:rotate(210deg) translateY(-142%);transform:rotate(210deg) translateY(-142%);-webkit-animation-delay:-.4165s;animation-delay:-.4165s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar9{-webkit-transform:rotate(240deg) translateY(-142%);-ms-transform:rotate(240deg) translateY(-142%);transform:rotate(240deg) translateY(-142%);-webkit-animation-delay:-.3332s;animation-delay:-.3332s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar10{-webkit-transform:rotate(270deg) translateY(-142%);-ms-transform:rotate(270deg) translateY(-142%);transform:rotate(270deg) translateY(-142%);-webkit-animation-delay:-.2499s;animation-delay:-.2499s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar11{-webkit-transform:rotate(300deg) translateY(-142%);-ms-transform:rotate(300deg) translateY(-142%);transform:rotate(300deg) translateY(-142%);-webkit-animation-delay:-.1666s;animation-delay:-.1666s}.xgplayer-skin-default .xgplayer-enter .xgplayer-enter-spinner div.xgplayer-enter-bar12{-webkit-transform:rotate(330deg) translateY(-142%);-ms-transform:rotate(330deg) translateY(-142%);transform:rotate(330deg) translateY(-142%);-webkit-animation-delay:-.0833s;animation-delay:-.0833s}@-webkit-keyframes fade{0%{opacity:1}to{opacity:.25}}@keyframes fade{0%{opacity:1}to{opacity:.25}}.xgplayer-skin-default.xgplayer-is-enter .xgplayer-enter{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RequestCssFullIcon from '../assets/requestCssFull.svg'\nimport ExitCssFullIcon from '../assets/exitCssFull.svg'\nimport '../style/controls/cssfullscreen.scss'\n\nlet s_cssFullscreen = function () {\n let player = this\n if (!player.config.cssFullscreen) { return }\n let btn = createDom('xg-cssfullscreen', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-requestfull\">${RequestCssFullIcon}</div>\n <div class=\"xgplayer-icon-exitfull\">${ExitCssFullIcon}</div>\n </xg-icon>`, {}, 'xgplayer-cssfullscreen')\n\n let tipsText = {}\n tipsText.requestfull = player.lang.CSSFULLSCREEN_TIPS\n tipsText.exitfull = player.lang.EXITCSSFULLSCREEN_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-requestfull\">${tipsText.requestfull}</span>\n <span class=\"xgplayer-tip-exitfull\">${tipsText.exitfull}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('cssFullscreenBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_cssFullscreen',\n method: s_cssFullscreen\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M843.617212 67.898413 175.411567 67.898413c-61.502749 0-111.367437 49.856501-111.367437 111.367437l0 668.205645c0 61.510936 49.864688 111.367437 111.367437 111.367437L843.617212 958.838931c61.510936 0 111.367437-49.856501 111.367437-111.367437L954.984648 179.26585C954.984648 117.754914 905.12917 67.898413 843.617212 67.898413zM398.146441 736.104057c15.380292 0 27.842115 12.461823 27.842115 27.842115 0 15.379269-12.461823 27.841092-27.842115 27.841092L259.725858 791.787264c-7.785314 0-14.781658-3.217275-19.838837-8.365528-5.383614-4.577249-8.791224-11.228739-8.791224-19.475564L231.095797 624.736621c0-15.371082 12.471033-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115l-0.61603 71.426773 133.036969-133.037992 39.378869 39.378869L324.962651 736.113267 398.146441 736.104057zM419.199942 463.611943 286.162974 330.565764l0.61603 71.435982c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.371082 0-27.842115-12.461823-27.842115-27.842115L231.094774 262.791172c0-8.256034 3.40761-14.908548 8.791224-19.476587 5.057179-5.148253 12.053524-8.374738 19.838837-8.374738l138.420583 0.00921c15.380292 0 27.842115 12.461823 27.842115 27.842115s-12.461823 27.842115-27.842115 27.842115l-73.175603-0.00921 133.607974 133.607974L419.199942 463.611943zM787.932981 763.946172c0 8.247848-3.40761 14.899338-8.791224 19.475564-5.057179 5.148253-12.053524 8.365528-19.839861 8.365528L620.881314 791.787264c-15.379269 0-27.841092-12.461823-27.841092-27.841092 0-15.380292 12.461823-27.842115 27.841092-27.842115l73.185836 0.00921L560.449967 602.50427l39.378869-39.378869L732.875015 696.163393l-0.62524-71.426773c0-15.371082 12.462846-27.842115 27.842115-27.842115 15.380292 0 27.842115 12.471033 27.842115 27.842115L787.934005 763.946172zM787.932981 402.000724c0 15.380292-12.461823 27.842115-27.842115 27.842115-15.379269 0-27.842115-12.461823-27.842115-27.842115l0.62524-71.435982L599.828836 463.611943l-39.378869-39.378869 133.617184-133.607974-73.185836 0.00921c-15.379269 0-27.841092-12.461823-27.841092-27.842115s12.461823-27.842115 27.841092-27.842115l138.421606-0.00921c7.785314 0 14.781658 3.226484 19.839861 8.374738 5.383614 4.568039 8.791224 11.219529 8.791224 19.476587L787.934005 402.000724z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.028 0.028)\\\" d=\\\"M834.56 81.92H189.44c-59.392 0-107.52 48.128-107.52 107.52v645.12c0 59.392 48.128 107.52 107.52 107.52h645.12c59.392 0 107.52-48.128 107.52-107.52V189.44c0-59.392-48.128-107.52-107.52-107.52zM458.24 727.04c0 14.848-12.288 26.624-26.624 26.624S404.48 741.888 404.48 727.04v-69.632L289.28 773.12c-10.752 10.24-27.648 10.24-37.888 0-10.24-10.752-10.24-27.648 0-37.888L366.592 619.52H296.96c-14.848 0-26.624-12.288-26.624-26.624s12.288-26.624 26.624-26.624h134.144c14.848 0 26.624 12.288 26.624 26.624V727.04z m0-295.936c0 14.848-12.288 26.624-26.624 26.624H296.96c-14.848 0-26.624-12.288-26.624-26.624S282.112 404.48 296.96 404.48h69.632L251.392 289.28c-10.24-10.752-10.24-27.648 0-37.888 5.12-5.12 12.288-7.68 18.944-7.68 6.656 0 13.824 2.56 18.944 7.68L404.48 366.592V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v134.144zM773.12 773.12c-10.752 10.24-27.648 10.24-37.888 0L619.52 657.408V727.04c0 14.848-12.288 26.624-26.624 26.624s-26.624-11.776-26.624-26.624v-134.144c0-14.848 12.288-26.624 26.624-26.624H727.04c14.848 0 26.624 12.288 26.624 26.624s-12.288 26.624-26.624 26.624h-69.632l115.2 115.2c10.752 10.752 10.752 27.648 0.512 38.4z m0-483.84L657.408 404.48H727.04c14.848 0 26.624 12.288 26.624 26.624 0 14.848-12.288 26.624-26.624 26.624h-134.144c-14.848 0-26.624-12.288-26.624-26.624V296.96c0-14.848 12.288-26.624 26.624-26.624s26.624 12.288 26.624 26.624v69.632L734.72 250.88c5.12-5.12 12.288-7.68 18.944-7.68s13.824 2.56 18.944 7.68c10.752 10.752 10.752 27.648 0.512 38.4z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./cssfullscreen.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-cssfullscreen,.xgplayer-skin-default .xgplayer-cssfullscreen-img{position:relative;-webkit-order:12;-moz-box-ordinal-group:13;order:12;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon{width:32px;margin-top:5px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon div,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-40px}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:block}.xgplayer-skin-default .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:none}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover,.xgplayer-skin-default .xgplayer-cssfullscreen:hover{opacity:.85}.xgplayer-skin-default .xgplayer-cssfullscreen-img:hover .xgplayer-tips,.xgplayer-skin-default .xgplayer-cssfullscreen:hover .xgplayer-tips{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-icon .xgplayer-icon-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-icon .xgplayer-icon-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-47px}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-requestfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-requestfull{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips .xgplayer-tip-exitfull,.xgplayer-skin-default.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips .xgplayer-tip-exitfull{display:block}.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen,.xgplayer-skin-default.xgplayer-is-fullscreen .xgplayer-cssfullscreen-img{display:none}.xgplayer-skin-default.xgplayer-is-cssfullscreen{position:fixed!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:99999!important}.xgplayer-lang-is-en .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en .xgplayer-cssfullscreen .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.xgplayer-lang-is-en.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-46px}.lang-is-jp .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-120px}.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen-img .xgplayer-tips,.lang-is-jp.xgplayer-is-cssfullscreen .xgplayer-cssfullscreen .xgplayer-tips{margin-left:-60px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport MutedIcon from '../assets/volumeMuted.svg'\nimport SmallIcon from '../assets/volumeSmall.svg'\nimport LargeIcon from '../assets/volumeLarge.svg'\nimport '../style/controls/volume.scss'\n\nlet s_volume = function () {\n let player = this\n let container = createDom('xg-volume', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-large\">${LargeIcon}</div>\n <div class=\"xgplayer-icon-small\">${SmallIcon}</div>\n <div class=\"xgplayer-icon-muted\">${MutedIcon}</div>\n </xg-icon>\n <xg-slider class=\"xgplayer-slider\" tabindex=\"2\">\n <xg-bar class=\"xgplayer-bar\">\n <xg-drag class=\"xgplayer-drag\"></xg-drag>\n </xg-bar>\n </xg-slider>`, {}, 'xgplayer-volume')\n player.once('ready', () => {\n if(player.controls) {\n player.controls.appendChild(container)\n }\n })\n let slider = container.querySelector('.xgplayer-slider')\n let bar = container.querySelector('.xgplayer-bar')\n let selected = container.querySelector('.xgplayer-drag')\n let icon = container.querySelector('.xgplayer-icon')\n selected.style.height = `${player.config.volume * 100}%`\n slider.volume = player.config.volume;\n\n bar.addEventListener('mousedown', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeBarClick', e)\n });\n\n ['click', 'touchend'].forEach(item => {\n icon.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconClick')\n })\n })\n\n icon.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconEnter')\n });\n\n ['blur', 'mouseleave'].forEach(item => {\n container.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('volumeIconLeave')\n })\n })\n}\n\nexport default {\n name: 's_volume',\n method: s_volume\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z\\\"></path>\\n <path transform=\\\"scale(0.0220625 0.0220625)\\\" d=\\\"M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./volume.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-volume{outline:none;-webkit-order:4;-moz-box-ordinal-group:5;order:4;width:40px;height:40px;display:block;position:relative;z-index:18}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon{margin-top:8px;cursor:pointer;position:absolute;bottom:-9px}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:none}.xgplayer-skin-default .xgplayer-slider{display:none;position:absolute;width:28px;height:92px;background:rgba(0,0,0,.54);border-radius:1px;bottom:42px;outline:none}.xgplayer-skin-default .xgplayer-slider:after{content:\\\" \\\";display:block;height:15px;width:28px;position:absolute;bottom:-15px;left:0;z-index:20}.xgplayer-skin-default .xgplayer-bar,.xgplayer-skin-default .xgplayer-drag{display:block;position:absolute;bottom:6px;left:12px;background:hsla(0,0%,100%,.3);border-radius:100px;width:4px;height:76px;outline:none;cursor:pointer}.xgplayer-skin-default .xgplayer-drag{bottom:0;left:0;background:#fa1f41;max-height:76px}.xgplayer-skin-default .xgplayer-drag:after{content:\\\" \\\";display:inline-block;width:8px;height:8px;background:#fff;box-shadow:0 0 5px 0 rgba(0,0,0,.26);position:absolute;border-radius:50%;left:-2px;top:-6px}.xgplayer-skin-default.xgplayer-volume-active .xgplayer-slider,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:block}.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted,.xgplayer-skin-default.xgplayer-volume-large .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-large{display:none}.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-small{display:block}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-large,.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-small,.xgplayer-skin-default.xgplayer-volume-small .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:none}.xgplayer-skin-default.xgplayer-volume-muted .xgplayer-volume .xgplayer-icon .xgplayer-icon-muted{display:block}.xgplayer-skin-default.xgplayer-mobile .xgplayer-volume .xgplayer-slider{display:none}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/definition.scss'\n\nlet s_definition = function () {\n let player = this\n let root = player.root\n let paused\n let container = createDom('xg-definition', '', {tabindex: 3}, 'xgplayer-definition')\n if (sniffer.device === 'mobile') {\n player.config.definitionActive = 'click'\n }\n\n function onCanplayResourceReady () {\n let list = player.definitionList\n let tmp = ['<ul>'], src = player.config.url, a = document.createElement('a')\n if (player.switchURL) {\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n a.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n a.href = player[item]._options.url\n } else {\n a.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n a.href = player[item].originUrl || player[item].url\n src = a.href\n }\n src = a.href\n return false\n } else {\n return true\n }\n })\n } else {\n src = player.currentSrc || player.src\n }\n list.forEach(item => {\n a.href = item.url\n if (player.dash) {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.name}</li>`)\n } else {\n tmp.push(`<li url='${item.url}' cname='${item.name}' class='${a.href === src ? 'selected' : ''}'>${item.name}</li>`)\n }\n })\n let cursrc = list.filter(item => {\n a.href = item.url\n if (player.dash) {\n return item.selected === true\n } else {\n return a.href === src\n }\n })\n console.warn('cursrc:', cursrc, 'src:', src, 'list:', list)\n tmp.push(`</ul><p class='name'>${(cursrc[0] || {name: ''}).name}</p>`)\n let urlInRoot = root.querySelector('.xgplayer-definition')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.definitionActive || player.config.definitionActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-definition-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n }\n function onResourceReady (list) {\n player.definitionList = list\n if (list && list instanceof Array && list.length > 0) {\n addClass(root, 'xgplayer-is-definition')\n player.once('canplay', onCanplayResourceReady)\n }\n }\n player.on('resourceReady', onResourceReady)\n\n function onPlayingChangeDefinition () {\n player.currentTime = player.curTime\n if (paused) {\n player.pause()\n } else {\n let playPromise = player.play()\n if (playPromise !== undefined && playPromise) {\n playPromise.catch(err => {})\n }\n }\n };\n function onTimeupdateChangeDefinition () {\n player.once('timeupdate', onPlayingChangeDefinition)\n };\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let list = player.definitionList\n let li = e.target || e.srcElement, a = document.createElement('a')\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = item.getAttribute('cname')\n removeClass(item, 'selected')\n player.emit('beforeDefinitionChange', item.getAttribute('url'))\n }\n })\n if (player.dash) {\n list.forEach(item => {\n item.selected = false\n if (item.name === li.innerHTML) {\n item.selected = true\n }\n })\n }\n\n addClass(li, 'selected')\n to = li.getAttribute('cname')\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}`\n a.href = li.getAttribute('url')\n paused = player.paused\n if (player.switchURL) {\n let curRUL = document.createElement('a');\n ['mp4', 'hls', '__flv__', 'dash'].every(item => {\n if (player[item]) {\n if(player[item].url) {\n curRUL.href = player[item].url\n }\n if(item === '__flv__') {\n if(player[item]._options) {\n curRUL.href = player[item]._options.url\n } else {\n curRUL.href = player[item]._mediaDataSource.url\n }\n }\n if(item === 'hls') {\n curRUL.href = player[item].originUrl || player[item].url\n }\n return false\n } else {\n return true\n }\n })\n if (curRUL.href !== a.href && !player.ended) {\n player.switchURL(a.href)\n }\n } else {\n if (player['hls']) {\n let curRUL = document.createElement('a')\n curRUL = player['hls'].url\n }\n if (a.href !== player.currentSrc) {\n player.curTime = player.currentTime\n if (!player.ended) {\n player.src = a.href\n }\n }\n }\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.once('timeupdate', onTimeupdateChangeDefinition)\n } else {\n player.once('loadedmetadata', onPlayingChangeDefinition)\n }\n player.emit('definitionChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-definition-active')\n }\n } else if (player.config.definitionActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-definition-active')\n } else {\n addClass(player.root, 'xgplayer-definition-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(root, 'xgplayer-definition-active')\n })\n\n function onBlur () {\n removeClass(root, 'xgplayer-definition-active')\n }\n player.on('blur', onBlur)\n\n function onDestroy () {\n player.off('resourceReady', onResourceReady)\n player.off('canplay', onCanplayResourceReady)\n if(navigator.userAgent.toLowerCase().indexOf('android') > -1) {\n player.off('timeupdate', onTimeupdateChangeDefinition)\n player.off('timeupdate', onPlayingChangeDefinition)\n } else {\n player.off('loadedmetadata', onPlayingChangeDefinition)\n }\n player.off('blur', onBlur)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n\n player.getCurrentDefinition = function () {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].className && liList[i].className.indexOf('selected') > -1) {\n return {\n name: liList[i].getAttribute('cname'),\n url: liList[i].getAttribute('url')\n }\n }\n }\n return {\n name: liList[0].getAttribute('cname'),\n url: liList[0].getAttribute('url')\n }\n }\n\n player.switchDefinition = function (definitionObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-definition ul li')\n for(let i = 0; i < liList.length; i++) {\n if(liList[i].getAttribute('cname') === definitionObj.name || liList[i].getAttribute('url') === definitionObj.url || i === definitionObj.index) {\n liList[i].click()\n }\n }\n }\n}\n\nexport default {\n name: 's_definition',\n method: s_definition\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./definition.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-definition{-webkit-order:5;-moz-box-ordinal-group:6;order:5;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-left:10px;margin-top:-119px}.xgplayer-skin-default .xgplayer-definition ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:0;text-align:center;white-space:nowrap;margin-left:-10px;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-definition ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);padding:6px 13px}.xgplayer-skin-default .xgplayer-definition ul li.selected,.xgplayer-skin-default .xgplayer-definition ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-definition .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default.xgplayer-definition-active .xgplayer-definition ul,.xgplayer-skin-default.xgplayer-is-definition .xgplayer-definition{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass, toggleClass } from '../../utils/util'\nimport sniffer from '../../utils/sniffer'\nimport '../style/controls/playbackRate.scss'\n\nlet s_playbackRate = function () {\n let player = this\n let playbackRateList = []\n if (player.config.playbackRate) {\n playbackRateList = [].concat(player.config.playbackRate)\n playbackRateList.sort((a, b) => b - a)\n } else {\n return false\n }\n let unit = player.config.playbackRateUnit !== undefined ? player.config.playbackRateUnit : 'x'\n let container = createDom('xg-playbackrate', \" \", {}, 'xgplayer-playbackrate')\n if (sniffer.device === 'mobile') {\n player.config.playbackRateActive = 'click'\n }\n\n let list = []\n playbackRateList.forEach(item => {\n list.push({name: `${item}`, rate: `${item}${unit}`, selected: false})\n })\n let selectedSpeed = 1\n let tmp = ['<ul>']\n list.forEach(item => {\n if(player.config.defaultPlaybackRate && player.config.defaultPlaybackRate.toString() === item.name) {\n item.selected = true\n selectedSpeed = player.config.defaultPlaybackRate\n player.once('playing', () => { player.video.playbackRate = player.config.defaultPlaybackRate})\n } else if (item.name === '1.0' || item.name === '1') {\n if(!player.config.defaultPlaybackRate || player.config.defaultPlaybackRate === 1) {\n item.selected = true\n }\n }\n tmp.push(`<li cname='${item.name}' class='${item.selected ? 'selected' : ''}'>${item.rate}</li>`)\n })\n tmp.push(`</ul><p class='name'>${selectedSpeed}${unit}</p>`)\n let playbackDom = player.root.querySelector('.xgplayer-playbackrate')\n if (playbackDom) {\n playbackDom.innerHTML = tmp.join('')\n let cur = playbackDom.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n playbackDom.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.playbackRateActive || player.config.playbackRateActive === 'hover') {\n cur.addEventListener('mouseenter', (e) => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-playbackrate-active')\n container.focus()\n })\n }\n player.once('ready', () => {\n player.controls.appendChild(container)\n })\n }\n\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n container.addEventListener(item, e => {\n e.stopPropagation()\n e.preventDefault()\n let li = e.target\n if(li && li.tagName.toLocaleLowerCase() === 'li') {\n let from, to\n list.forEach(item => {\n item.selected = false\n if (li.textContent.replace(/\\s+/g,\"\") === item.rate) {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n if(hasClass(item, 'selected')) {\n from = Number(item.getAttribute('cname'))\n removeClass(item, 'selected')\n }\n })\n item.selected = true\n player.video.playbackRate = item.name * 1\n selectedSpeed = item.name * 1\n }\n })\n addClass(li, 'selected')\n to = Number(li.getAttribute('cname'))\n li.parentNode.nextSibling.innerHTML = `${li.getAttribute('cname')}${unit}`\n player.emit('playbackrateChange', {from, to})\n if (sniffer.device === 'mobile') {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n } else if (player.config.playbackRateActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'span')) {\n if(sniffer.device === 'mobile') {\n toggleClass(player.root, 'xgplayer-playbackrate-active')\n } else {\n addClass(player.root, 'xgplayer-playbackrate-active')\n }\n container.focus()\n }\n player.emit('focus')\n }, false)\n })\n container.addEventListener('mouseleave', (e) => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-playbackrate-active')\n })\n\n function onBlur () {\n removeClass(player.root, 'xgplayer-playbackrate-active')\n }\n player.on('blur', onBlur)\n\n player.on('play', () => {\n if(player.video.playbackRate.toFixed(1) !== selectedSpeed.toFixed(1) ) {\n player.video.playbackRate = selectedSpeed\n }\n })\n\n player.switchPlaybackRate = function (playbackRateObj = {}) {\n let liList = player.controls.querySelectorAll('.xgplayer-playbackrate ul li')\n for(let i = 0; i < liList.length; i++) {\n if(!hasClass(liList[i], 'selected') && (liList[i].getAttribute('cname') === `${playbackRateObj.playbackRate}` || i === playbackRateObj.index)) {\n liList[i].click()\n }\n }\n }\n\n player.on('ratechange', () => {\n player.switchPlaybackRate({ playbackRate: player.playbackRate })\n })\n}\n\nexport default {\n name: 's_playbackRate',\n method: s_playbackRate\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playbackRate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playbackrate{-webkit-order:8;-moz-box-ordinal-group:9;order:8;width:60px;height:150px;z-index:18;position:relative;display:inline-block;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-playbackrate ul{display:none;list-style:none;width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);text-align:left;white-space:nowrap;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-playbackrate ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);position:relative;padding:4px 0;text-align:center}.xgplayer-skin-default .xgplayer-playbackrate ul li.selected,.xgplayer-skin-default .xgplayer-playbackrate ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-playbackrate ul li:first-child{position:relative;margin-top:12px}.xgplayer-skin-default .xgplayer-playbackrate ul li:last-child{position:relative;margin-bottom:12px}.xgplayer-skin-default .xgplayer-playbackrate .name{width:60px;height:20px;position:absolute;bottom:0;text-align:center;font-family:PingFangSC-Regular;font-size:13px;background:rgba(0,0,0,.38);color:hsla(0,0%,100%,.8);border-radius:10px;line-height:20px}.xgplayer-skin-default .xgplayer-playbackrate span{position:relative;top:19px;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.6)}.xgplayer-skin-default .xgplayer-playbackrate:hover{opacity:1}.xgplayer-skin-default.xgplayer-playbackrate-active .xgplayer-playbackrate ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\n\nlet s_localPreview = function () {\n let player = this\n if (player.config.preview && player.config.preview.uploadEl) {\n let preview = createDom('xg-preview', '<input type=\"file\">', {}, 'xgplayer-preview')\n let upload = preview.querySelector('input')\n player.config.preview.uploadEl.appendChild(preview)\n upload.onchange = function () {\n player.emit('upload', upload)\n }\n }\n}\n\nexport default {\n name: 's_localPreview',\n method: s_localPreview\n}","import { createDom } from '../../utils/util'\nimport DownloadIcon from '../assets/download.svg'\nimport '../style/controls/download.scss'\n\nlet s_download = function () {\n let player = this\n if (!player.config.download) { return }\n let btn = createDom('xg-download', `<xg-icon class=\"xgplayer-icon\">${DownloadIcon}</xg-icon>`, {}, 'xgplayer-download')\n\n let tipsText = player.lang.DOWNLOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-download\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('downloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_download',\n method: s_download\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24px\\\" height=\\\"24px\\\" viewBox=\\\"0 0 24 24\\\">\\n <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g transform=\\\"translate(-488.000000, -340.000000)\\\" fill=\\\"#FFFFFF\\\">\\n <g id=\\\"Group-2\\\">\\n <g id=\\\"volme_big-copy\\\" transform=\\\"translate(488.000000, 340.000000)\\\">\\n <rect id=\\\"Rectangle-18\\\" x=\\\"11\\\" y=\\\"4\\\" width=\\\"2\\\" height=\\\"12\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" x=\\\"3\\\" y=\\\"18\\\" width=\\\"18\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <rect id=\\\"Rectangle-2\\\" transform=\\\"translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) \\\" x=\\\"1.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect><rect id=\\\"Rectangle-2-Copy-3\\\" transform=\\\"translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) \\\" x=\\\"17.5\\\" y=\\\"16.5\\\" width=\\\"5\\\" height=\\\"2\\\" rx=\\\"1\\\"></rect>\\n <path d=\\\"M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z\\\" id=\\\"Combined-Shape\\\" transform=\\\"translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) \\\"></path>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./download.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-download{position:relative;-webkit-order:9;-moz-box-ordinal-group:10;order:9;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-download .xgplayer-icon{margin-top:3px}.xgplayer-skin-default .xgplayer-download .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-download .xgplayer-icon svg{position:relative;top:5px;left:5px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips{margin-left:-20px}.xgplayer-skin-default .xgplayer-download .xgplayer-tips .xgplayer-tip-download{display:block}.xgplayer-skin-default .xgplayer-download:hover{opacity:.85}.xgplayer-skin-default .xgplayer-download:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-download .xgplayer-tips{margin-left:-32px}.xgplayer-lang-is-jp .xgplayer-download .xgplayer-tips{margin-left:-40px}\", \"\"]);\n\n// exports\n","import { createDom, deepCopy, addClass, removeClass } from '../../utils/util'\nimport DanmuJs from 'danmu.js'\nimport PanelIcon from '../assets/panel.svg'\nimport '../style/controls/danmu.scss'\n\nlet s_danmu = function () {\n let player = this\n let root = player.root\n if(!player.config.danmu) { return }\n let container = createDom('xg-danmu', '', {}, 'xgplayer-danmu')\n player.once('ready', () => {\n root.appendChild(container)\n })\n let config = deepCopy({\n container,\n player: player.video,\n comments: [],\n area: {\n start: 0,\n end: 1\n }\n }, player.config.danmu)\n let panelBtn\n if (player.config.danmu.panel) {\n panelBtn = createDom('xg-panel', `<xg-panel-icon class=\"xgplayer-panel-icon\">\n ${PanelIcon}\n </xg-panel-icon>\n <xg-panel-slider class=\"xgplayer-panel-slider\">\n <xg-hidemode class=\"xgplayer-hidemode\">\n <p class=\"xgplayer-hidemode-font\">屏蔽类型</p>\n <ul class=\"xgplayer-hidemode-radio\">\n <li class=\"xgplayer-hidemode-scroll\" id=\"false\">滚动</li><li class=\"xgplayer-hidemode-top\" id=\"false\">顶部</li><li class=\"xgplayer-hidemode-bottom\" id=\"false\">底部</li><li class=\"xgplayer-hidemode-color\" id=\"false\">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class=\"xgplayer-transparency\">\n <span>不透明度</span>\n <input class=\"xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient\" type=\"range\" min=\"0\" max=\"100\" step=\"0.1\" value=\"50\"></input>\n </xg-transparency>\n <xg-showarea class=\"xgplayer-showarea\">\n <div class=\"xgplayer-showarea-name\">显示区域</div>\n <div class=\"xgplayer-showarea-control\">\n <div class=\"xgplayer-showarea-control-up\">\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-onequarters\">1/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color\">1/2</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-threequarters\">3/4</span>\n <span class=\"xgplayer-showarea-control-up-item xgplayer-showarea-full\">1</span>\n </div>\n <div class=\"xgplayer-showarea-control-down\">\n <div class=\"xgplayer-showarea-control-down-dots\">\n <span class=\"xgplayer-showarea-onequarters-dot\"></span>\n <span class=\"xgplayer-showarea-twoquarters-dot\"></span>\n <span class=\"xgplayer-showarea-threequarters-dot\"></span>\n <span class=\"xgplayer-showarea-full-dot\"></span>\n </div>\n <input class=\"xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient\" type=\"range\" min=\"1\" max=\"4\" step=\"1\" value=\"1\">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class=\"xgplayer-danmuspeed\">\n <div class=\"xgplayer-danmuspeed-name\">弹幕速度</div>\n <div class=\"xgplayer-danmuspeed-control\">\n <div class=\"xgplayer-danmuspeed-control-up\">\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small\">慢</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color\">中</span>\n <span class=\"xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large\">快</span>\n </div>\n <div class=\"xgplayer-danmuspeed-control-down\">\n <div class=\"xgplayer-danmuspeed-control-down-dots\">\n <span class=\"xgplayer-danmuspeed-small-dot\"></span>\n <span class=\"xgplayer-danmuspeed-middle-dot\"></span>\n <span class=\"xgplayer-danmuspeed-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient\" type=\"range\" min=\"50\" max=\"150\" step=\"50\" value=\"100\">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class=\"xgplayer-danmufont\">\n <div class=\"xgplayer-danmufont-name\">字体大小</div>\n <div class=\"xgplayer-danmufont-control\">\n <div class=\"xgplayer-danmufont-control-up\">\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-small\">小</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-middle\">中</span>\n <span class=\"xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color\">大</span>\n </div>\n <div class=\"xgplayer-danmufont-control-down\">\n <div class=\"xgplayer-danmufont-control-down-dots\">\n <span class=\"xgplayer-danmufont-small-dot\"></span>\n <span class=\"xgplayer-danmufont-middle-dot\"></span>\n <span class=\"xgplayer-danmufont-large-dot\"></span>\n </div>\n <input class=\"xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient\" type=\"range\" min=\"20\" max=\"30\" step=\"5\" value=\"25\">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>`, {tabindex: 7}, 'xgplayer-panel')\n player.once('ready', () => {\n player.controls.appendChild(panelBtn)\n })\n }\n player.once('complete', () => {\n let danmujs = new DanmuJs(config)\n player.emit('initDefaultDanmu', danmujs)\n player.danmu = danmujs\n\n if (!player.config.danmu.panel) {\n return\n }\n\n let slider = panelBtn.querySelector('.xgplayer-panel-slider')\n let focusStatus\n let focusarray = ['mouseenter', 'touchend', 'click']\n focusarray.forEach(item => {\n panelBtn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n addClass(slider, 'xgplayer-panel-active')\n panelBtn.focus()\n focusStatus = true\n })\n })\n panelBtn.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n removeClass(slider, 'xgplayer-panel-active')\n focusStatus = false\n })\n slider.addEventListener('mouseleave', function (e) {\n e.preventDefault()\n e.stopPropagation()\n if (focusStatus === false) {\n removeClass(slider, 'xgplayer-panel-active')\n }\n })\n\n let danmuConfig = player.config.danmu\n let hidemodeScroll = panelBtn.querySelector('.xgplayer-hidemode-scroll')\n let hidemodeTop = panelBtn.querySelector('.xgplayer-hidemode-top')\n let hidemodeBottom = panelBtn.querySelector('.xgplayer-hidemode-bottom')\n let hidemodeColor = panelBtn.querySelector('.xgplayer-hidemode-color')\n let hidemodeArray = {\n 'scroll': hidemodeScroll,\n 'top': hidemodeTop,\n 'bottom': hidemodeBottom,\n 'color': hidemodeColor\n }\n for (let key in hidemodeArray) {\n let keys = key\n let ev = ['touchend', 'click']\n ev.forEach(item => {\n hidemodeArray[keys].addEventListener(item, function (e) {\n if (hidemodeArray[keys].getAttribute('id') !== 'true') {\n hidemodeArray[keys].style.color = '#f85959'\n hidemodeArray[keys].setAttribute('id', 'true')\n player.danmu.hide(keys)\n } else {\n hidemodeArray[keys].style.color = '#aaa'\n hidemodeArray[keys].setAttribute('id', 'false')\n player.danmu.show(keys)\n }\n })\n })\n }\n let transparency = panelBtn.querySelector('.xgplayer-transparency-line')\n let transparencyGradient = panelBtn.querySelector('.xgplayer-transparency-gradient')\n let transparencyValue = 50\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n transparency.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n transparencyValue = e.target.value\n transparencyGradient.style.background = 'linear-gradient(to right, #f85959 0%, #f85959 ' + transparencyValue + '%, #aaa ' + transparencyValue + '%, #aaa)'\n danmuConfig.comments.forEach(item => {\n item.style.opacity = transparencyValue / 100\n })\n })\n let showarea = panelBtn.querySelector('.xgplayer-showarea-line')\n showarea.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let showareaValue = e.target.value\n player.danmu.config.area.end = showareaValue / 100\n player.config.danmu.area.end = showareaValue / 100\n player.danmu.bulletBtn.main.channel.resize()\n })\n let danmuspeed = panelBtn.querySelector('.xgplayer-danmuspeed-line')\n danmuspeed.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmuspeedValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.duration = (200 - danmuspeedValue) * 100\n })\n })\n let danmufont = panelBtn.querySelector('.xgplayer-danmufont-line')\n danmufont.addEventListener('input', function (e) {\n e.preventDefault()\n e.stopPropagation()\n let danmufontValue = e.target.value\n danmuConfig.comments.forEach(item => {\n item.style.fontSize = danmufontValue + 'px'\n })\n })\n if(navigator.userAgent.indexOf(\"Firefox\") > -1) {\n for (let i = 0; i < slider.querySelectorAll('input').length; i++) {\n slider.querySelectorAll('input')[i].style.marginTop = '10px'\n }\n }\n })\n}\n\nexport default {\n name: 's_danmu',\n method: s_danmu\n}","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports[\"danmu.js\"]=t():e[\"danmu.js\"]=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=4)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i={createDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"div\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",o=document.createElement(e);return o.className=i,o.innerHTML=t,Object.keys(n).forEach((function(t){var i=t,r=n[t];\"video\"===e||\"audio\"===e?r&&o.setAttribute(i,r):o.setAttribute(i,r)})),o},hasClass:function(e,t){return e.classList?Array.prototype.some.call(e.classList,(function(e){return e===t})):!!e.className.match(new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\"))},addClass:function(e,t){e.classList?t.replace(/(^\\s+|\\s+$)/g,\"\").split(/\\s+/g).forEach((function(t){t&&e.classList.add(t)})):i.hasClass(e,t)||(e.className+=\" \"+t)},removeClass:function(e,t){e.classList?t.split(/\\s+/g).forEach((function(t){e.classList.remove(t)})):i.hasClass(e,t)&&t.split(/\\s+/g).forEach((function(t){var n=new RegExp(\"(\\\\s|^)\"+t+\"(\\\\s|$)\");e.className=e.className.replace(n,\" \")}))},toggleClass:function(e,t){t.split(/\\s+/g).forEach((function(t){i.hasClass(e,t)?i.removeClass(e,t):i.addClass(e,t)}))},findDom:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=arguments[1],n=void 0;try{n=e.querySelector(t)}catch(i){t.startsWith(\"#\")&&(n=e.getElementById(t.slice(1)))}return n},deepCopy:function(e,t){if(\"Object\"===i.typeOf(t)&&\"Object\"===i.typeOf(e))return Object.keys(t).forEach((function(n){\"Object\"!==i.typeOf(t[n])||t[n]instanceof Node?\"Array\"===i.typeOf(t[n])?e[n]=\"Array\"===i.typeOf(e[n])?e[n].concat(t[n]):t[n]:e[n]=t[n]:e[n]?i.deepCopy(e[n],t[n]):e[n]=t[n]})),e},typeOf:function(e){return Object.prototype.toString.call(e).match(/([^\\s.*]+)(?=]$)/g)[0]},copyDom:function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return\"\"},formatTime:function(e){var t=Math.floor(e);return 1e3*t+(e-t)},offInDestroy:function(e,t,n,i){e.once(i,(function o(){e.off(t,n),e.off(i,o)}))},on:function(e,t,n,o){if(o)e.on(t,n),i.offInDestroy(e,t,n,o);else{e.on(t,(function i(o){n(o),e.off(t,i)}))}},style:function(e,t,n){var i=e.style;try{i[t]=n}catch(e){i.setProperty(t,n)}}};t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(26),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}return o(e,[{key:\"setLogger\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";this.logger=new a.default(e+\".js\")}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";var i=n(19)();e.exports=function(e){return e!==i&&null!==e}},function(e,t,n){\"use strict\";e.exports=function(e){return null!=e}},function(e,t,n){e.exports=n(5)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(6),r=(i=o)&&i.__esModule?i:{default:i};n(34),t.default=r.default,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=f(n(7)),r=f(n(1)),a=f(n(27)),s=f(n(31)),l=f(n(0)),u=n(32),c=n(33);function f(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"danmu\"),n.logger&&n.logger.info(\"danmu.js version: \"+u.version);var i=n;if(i.config=l.default.deepCopy({overlap:!1,area:{start:0,end:1},live:!1,comments:[],direction:\"r2l\",needResizeObserver:!1},e),i.hideArr=[],i.domObj=new s.default,(0,o.default)(i),i.config.comments.forEach((function(e){e.duration=e.duration?e.duration:5e3,e.mode||(e.mode=\"scroll\")})),!i.config.container||1!==i.config.container.nodeType)return i.emit(\"error\",\"container id can't be empty\"),!1,h(n,!1);if(i.container=i.config.container,i.config.containerStyle){var r=i.config.containerStyle;Object.keys(r).forEach((function(e){i.container.style[e]=r[e]}))}return i.live=i.config.live,i.player=i.config.player,i.direction=i.config.direction,l.default.addClass(i.container,\"danmu\"),i.bulletBtn=new a.default(i),i.isReady=!0,i.emit(\"ready\"),n.logger&&n.logger.info(\"ready\"),n.addResizeObserver(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"addResizeObserver\",value:function(){var e=this;this.config.needResizeObserver&&(0,c.addObserver)(this.container,(function(){e.logger&&e.logger.info(\"needResizeObserver\"),e.resize()}))}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\"),this.bulletBtn.main.start()}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.bulletBtn.main.pause()}},{key:\"play\",value:function(){this.logger&&this.logger.info(\"play\"),this.bulletBtn.main.play()}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\"),this.bulletBtn.main.stop()}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.bulletBtn.main.clear()}},{key:\"destroy\",value:function(){for(var e in(0,c.unObserver)(this.container),this.logger&&this.logger.info(\"destroy\"),this.stop(),this.bulletBtn.destroy(),this.domObj.destroy(),this)delete this[e];this.emit(\"destroy\")}},{key:\"sendComment\",value:function(e){this.logger&&this.logger.info(\"sendComment: \"+(e.txt||\"[DOM Element]\")),e.duration||(e.duration=15e3),e&&e.id&&e.duration&&(e.el||e.txt)&&(e.duration=e.duration?e.duration:5e3,e.style||(e.style={opacity:void 0,fontSize:void 0}),e.style&&(this.opacity&&this.opacity!==e.style.opacity&&(e.style.opacity=this.opacity),this.fontSize&&this.fontSize!==e.style.fontSize&&(e.style.fontSize=this.fontSize),this.like&&(e.like=e.like?e.like:this.like)),e.prior||e.realTime?(this.bulletBtn.main.data.unshift(e),e.realTime&&(this.bulletBtn.main.readData(),this.bulletBtn.main.dataHandle())):this.bulletBtn.main.data.push(e))}},{key:\"setCommentID\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentID: oldID \"+e+\" newID \"+t);var i=this.container.getBoundingClientRect();e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.id=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.id=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentDuration\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setCommentDuration: id \"+e+\" duration \"+t);var i=this.container.getBoundingClientRect();e&&t&&(t=t||5e3,this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.duration=t,!0)})),this.bulletBtn.main.queue.some((function(o){return o.id===e&&(o.duration=t,o.pauseMove(i),\"paused\"!==n.bulletBtn.main.status&&o.startMove(i),!0)})))}},{key:\"setCommentLike\",value:function(e,t){this.logger&&this.logger.info(\"setCommentLike: id \"+e+\" like \"+t);var n=this.container.getBoundingClientRect();this.like=t,e&&t&&(this.bulletBtn.main.data.some((function(n){return n.id===e&&(n.like=t,!0)})),this.bulletBtn.main.queue.some((function(i){return i.id===e&&(i.pauseMove(n),i.setLikeDom(t.el,t.style),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n),!0)})))}},{key:\"restartComment\",value:function(e){this.logger&&this.logger.info(\"restartComment: id \"+e),this.mouseControl=!1;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(\"paused\"!==n.danmu.bulletBtn.main.status?n.startMove(t,!0):n.status=\"paused\",!0)}))}},{key:\"freezeComment\",value:function(e){this.logger&&this.logger.info(\"freezeComment: id \"+e),this.mouseControl=!0;var t=this.container.getBoundingClientRect();e&&this.bulletBtn.main.queue.some((function(n){return n.id===e&&(n.status=\"forcedPause\",n.pauseMove(t),n.el&&n.el.style&&l.default.style(n.el,\"zIndex\",10),!0)}))}},{key:\"removeComment\",value:function(e){this.logger&&this.logger.info(\"removeComment: id \"+e),e&&(this.bulletBtn.main.queue.some((function(t){return t.id===e&&(t.remove(),!0)})),this.bulletBtn.main.data=this.bulletBtn.main.data.filter((function(t){return t.id!==e})))}},{key:\"updateComments\",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&(this.bulletBtn.main.data=[]),this.bulletBtn.main.data=this.bulletBtn.main.data.concat(e)}},{key:\"setAllDuration\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\",t=arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.logger&&this.logger.info(\"setAllDuration: mode \"+e+\" duration \"+t+\" force \"+n);var i=this.container.getBoundingClientRect();t&&(t=t||5e3,n&&(this.bulletBtn.main.forceDuration=t),this.bulletBtn.main.data.forEach((function(n){e===n.mode&&(n.duration=t)})),this.bulletBtn.main.queue.forEach((function(n){e===n.mode&&(n.duration=t,n.pauseMove(i),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(i))})))}},{key:\"setOpacity\",value:function(e){this.logger&&this.logger.info(\"setOpacity: opacity \"+e),this.container.style.opacity=e}},{key:\"setFontSize\",value:function(e,t){var n=this;this.logger&&this.logger.info(\"setFontSize: size \"+e+\" channelSize \"+t),this.fontSize=e+\"px\",e&&(this.bulletBtn.main.data.forEach((function(e){e.style&&(e.style.fontSize=n.fontSize)})),this.bulletBtn.main.queue.forEach((function(e){e.options.style||(e.options.style={}),e.options.style.fontSize=n.fontSize,e.setFontSize(n.fontSize),t&&(e.top=e.channel_id[0]*t,e.topInit())}))),t&&(this.config.channelSize=t,this.bulletBtn.main.channel.resize(!0))}},{key:\"setArea\",value:function(e){this.logger&&this.logger.info(\"setArea: area \"+e),this.config.area=e,this.bulletBtn.main.channel.resize(!0)}},{key:\"hide\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"hide: mode \"+e),this.hideArr.indexOf(e)<0&&this.hideArr.push(e);var t=this.bulletBtn.main.queue.filter((function(t){return e===t.mode||\"color\"===e&&t.color}));t.forEach((function(e){return e.remove()}))}},{key:\"show\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"scroll\";this.logger&&this.logger.info(\"show: mode \"+e);var t=this.hideArr.indexOf(e);t>-1&&this.hideArr.splice(t,1)}},{key:\"setDirection\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"r2l\";this.logger&&this.logger.info(\"setDirection: direction \"+e),this.emit(\"changeDirection\",e)}},{key:\"resize\",value:function(){this.logger&&this.logger.info(\"resize\"),this.emit(\"channel_resize\")}}]),t}(r.default);t.default=d,e.exports=t.default},function(e,t,n){\"use strict\";var i,o,r,a,s,l,u,c=n(8),f=n(25),h=Function.prototype.apply,d=Function.prototype.call,g=Object.create,p=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0};o=function(e,t){var n,o;return f(t),o=this,i.call(this,e,n=function(){r.call(o,e,n),h.call(t,this,arguments)}),n.__eeOnceListener__=t,this},s={on:i=function(e,t){var n;return f(t),v.call(this,\"__ee__\")?n=this.__ee__:(n=b.value=g(null),p(this,\"__ee__\",b),b.value=null),n[e]?\"object\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:o,off:r=function(e,t){var n,i,o,r;if(f(t),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[e])return this;if(\"object\"==typeof(i=n[e]))for(r=0;o=i[r];++r)o!==t&&o.__eeOnceListener__!==t||(2===i.length?n[e]=i[r?0:1]:i.splice(r,1));else i!==t&&i.__eeOnceListener__!==t||delete n[e];return this},emit:a=function(e){var t,n,i,o,r;if(v.call(this,\"__ee__\")&&(o=this.__ee__[e]))if(\"object\"==typeof o){for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];for(o=o.slice(),t=0;i=o[t];++t)h.call(i,this,r)}else switch(arguments.length){case 1:d.call(o,this);break;case 2:d.call(o,this,arguments[1]);break;case 3:d.call(o,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,r=new Array(n-1),t=1;t<n;++t)r[t-1]=arguments[t];h.call(o,this,r)}}},l={on:c(i),once:c(o),off:c(r),emit:c(a)},u=m({},l),e.exports=t=function(e){return null==e?g(u):m(Object(e),l)},t.methods=s},function(e,t,n){\"use strict\";var i=n(3),o=n(9),r=n(13),a=n(21),s=n(22);(e.exports=function(e,t){var n,o,l,u,c;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],i(e)?(n=s.call(e,\"c\"),o=s.call(e,\"e\"),l=s.call(e,\"w\")):(n=l=!0,o=!1),c={value:t,configurable:n,enumerable:o,writable:l},u?r(a(u),c):c}).gs=function(e,t,n){var l,u,c,f;return\"string\"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],i(t)?o(t)?i(n)?o(n)||(c=n,n=void 0):n=void 0:(c=t,t=n=void 0):t=void 0,i(e)?(l=s.call(e,\"c\"),u=s.call(e,\"e\")):(l=!0,u=!1),f={get:t,set:n,configurable:l,enumerable:u},c?r(a(c),f):f}},function(e,t,n){\"use strict\";var i=n(10),o=/^\\s*class[\\s{/}]/,r=Function.prototype.toString;e.exports=function(e){return!!i(e)&&!o.test(r.call(e))}},function(e,t,n){\"use strict\";var i=n(11);e.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!i(e)}},function(e,t,n){\"use strict\";var i=n(12);e.exports=function(e){if(!i(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(3),o={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!i(e)&&hasOwnProperty.call(o,typeof e)}},function(e,t,n){\"use strict\";e.exports=n(14)()?Object.assign:n(15)},function(e,t,n){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},function(e,t,n){\"use strict\";var i=n(16),o=n(20),r=Math.max;e.exports=function(e,t){var n,a,s,l=r(arguments.length,2);for(e=Object(o(e)),s=function(i){try{e[i]=t[i]}catch(e){n||(n=e)}},a=1;a<l;++a)i(t=arguments[a]).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){\"use strict\";e.exports=n(17)()?Object.keys:n(18)},function(e,t,n){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},function(e,t,n){\"use strict\";var i=n(2),o=Object.keys;e.exports=function(e){return o(i(e)?Object(e):e)}},function(e,t,n){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var i=n(2);e.exports=function(e){if(!i(e))throw new TypeError(\"Cannot use null or undefined\");return e}},function(e,t,n){\"use strict\";var i=n(2),o=Array.prototype.forEach,r=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=r(null);return o.call(arguments,(function(e){i(e)&&a(Object(e),t)})),t}},function(e,t,n){\"use strict\";e.exports=n(23)()?String.prototype.contains:n(24)},function(e,t,n){\"use strict\";var i=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof i.contains&&(!0===i.contains(\"dwa\")&&!1===i.contains(\"foo\"))}},function(e,t,n){\"use strict\";var i=String.prototype.indexOf;e.exports=function(e){return i.call(this,e,arguments[1])>-1}},function(e,t,n){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=\"undefined\"!=typeof window&&window.location.href.indexOf(\"danmu-debug\")>-1,r=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.constructorName=t||\"\"}return i(e,[{key:\"info\",value:function(e){for(var t,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];o&&(t=console).log.apply(t,[\"[Danmu Log][\"+this.constructorName+\"]\",e].concat(i))}}]),e}();t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=s(n(1)),r=s(n(0)),a=s(n(28));function s(e){return e&&e.__esModule?e:{default:e}}var l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.setLogger(\"control\"),n.danmu=e,n.main=new a.default(e),e.config.defaultOff||n.main.start(),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"createSwitch\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.logger&&this.logger.info(\"createSwitch\"),this.switchBtn=r.default.createDom(\"dk-switch\",'<span class=\"txt\">弹</span>',{},\"danmu-switch \"+(e?\"danmu-switch-active\":\"\")),this.switchBtn}},{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),this.main.destroy(),this)delete this[e]}}]),t}(o.default);t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=l(n(1)),r=l(n(29)),a=l(n(30)),s=l(n(0));function l(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"main\"),n.danmu=e,n.container=e.container,n.channel=new r.default(e),n.data=[].concat(e.config.comments),n.playedData=[],n.queue=[],n.timer=null,n.retryTimer=null,n.retryStatus=\"normal\",n.interval=e.config.interval||2e3,n.status=\"idle\",s.default.on(e,\"bullet_remove\",n.updateQueue.bind(n),\"destroy\");var i=n;return s.default.on(n.danmu,\"changeDirection\",(function(e){i.danmu.direction=e}),\"destroy\"),n.nums=0,n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.dataHandleTimer),this.channel.destroy(),this.data=[],this)delete this[e]}},{key:\"updateQueue\",value:function(e){this.logger&&this.logger.info(\"updateQueue\");var t=this;t.queue.some((function(n,i){return n.id===e.bullet.id&&(t.queue.splice(i,1),!0)})),t.data.some((function(t,n){return t.id===e.bullet.id&&(t.hasAttached=!1,!0)}))}},{key:\"init\",value:function(e,t){t.logger&&t.logger.info(\"init\"),t||(t=this),t.retryStatus=\"normal\",t.data.sort((function(e,t){return e.start-t.start}));t.retryTimer||function e(){\"closed\"===t.status&&\"stop\"===t.retryStatus||(\"playing\"===t.status&&(t.readData(),t.dataHandle()),\"stop\"===t.retryStatus&&\"paused\"!==t.status||(t.dataHandleTimer=setTimeout((function(){e()}),t.interval-1e3)))}()}},{key:\"start\",value:function(){this.logger&&this.logger.info(\"start\");this.status=\"playing\",this.queue=[],this.container.innerHTML=\"\",this.channel.resetWithCb(this.init,this)}},{key:\"stop\",value:function(){this.logger&&this.logger.info(\"stop\");this.status=\"closed\",this.retryTimer=null,this.retryStatus=\"stop\",this.channel.reset(),this.queue=[],this.container.innerHTML=\"\"}},{key:\"clear\",value:function(){this.logger&&this.logger.info(\"clear\"),this.channel.reset(),this.data=[],this.queue=[],this.container.innerHTML=\"\"}},{key:\"play\",value:function(){var e=this;this.logger&&this.logger.info(\"play\"),this.status=\"playing\";var t=this.channel.channels,n=this.danmu.container.getBoundingClientRect();t&&t.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(i){e.queue.forEach((function(e){e.startMove(n),e.resized=!0}));for(var o=0;o<t.length;o++)t[o].queue[i].forEach((function(e){e.resized=!1}))}))}},{key:\"pause\",value:function(){this.logger&&this.logger.info(\"pause\"),this.status=\"paused\";var e=this.channel.channels,t=this.danmu.container.getBoundingClientRect();e&&e.length>0&&this.queue.forEach((function(e){e.pauseMove(t)}))}},{key:\"dataHandle\",value:function(){var e=this;\"paused\"!==this.status&&\"closed\"!==this.status&&e.queue.length&&e.queue.forEach((function(t){\"waiting\"===t.status&&t.startMove(e.channel.containerPos)}))}},{key:\"readData\",value:function(){var e=this,t=this.danmu;if(t.isReady){var n=0;t.player&&t.player.currentTime&&(n=s.default.formatTime(t.player.currentTime));var i=void 0,o=e.interval,r=e.channel,l=void 0;t.player?(l=e.data.filter((function(t){return!t.start&&e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&(t.start=n),e.danmu.hideArr.indexOf(t.mode)<0&&(!t.color||e.danmu.hideArr.indexOf(\"color\")<0)&&t.start-o<=n&&n<=t.start+o})),t.live&&(e.data=[])):0===(l=e.data.splice(0,1)).length&&(l=e.playedData.splice(0,1)),l.length>0&&l.forEach((function(n){if(e.forceDuration&&e.forceDuration!=n.duration&&(n.duration=e.forceDuration),i=new a.default(t,n),n.hasAttached){for(var o in i.detach(),i)delete i[o];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}else if(i.attach(),n.hasAttached=!0,r.addBullet(i).result)e.queue.push(i),e.nums++,i.topInit();else{for(var s in i.detach(),i)delete i[s];i=null,n.hasAttached=!1,n.noDiscard&&(n.prior?e.data.unshift(n):e.data.push(n))}}))}}}]),t}(o.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));n.setLogger(\"channel\"),n.danmu=e,n.reset(!0);var i=n;return r.default.on(n.danmu,\"bullet_remove\",(function(e){i.removeBullet(e.bullet)}),\"destroy\"),n.direction=e.direction,r.default.on(n.danmu,\"changeDirection\",(function(e){i.direction=e}),\"destroy\"),n.containerPos=n.danmu.container.getBoundingClientRect(),n.containerWidth=n.containerPos.width,n.containerHeight=n.containerPos.height,n.containerLeft=n.containerPos.left,n.containerRight=n.containerPos.right,r.default.on(n.danmu,\"channel_resize\",(function(){i.containerPos=i.danmu.container.getBoundingClientRect(),i.resizing||(i.containerWidth=i.containerPos.width,i.containerHeight=i.containerPos.height,i.containerLeft=i.containerPos.left,i.containerRight=i.containerPos.right,i.resize(!0))}),\"destroy\"),n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"destroy\",value:function(){for(var e in this.logger&&this.logger.info(\"destroy\"),clearTimeout(this.resizeTimer),this.channels=[],this)delete this[e]}},{key:\"resize\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"resize\");var t=this.danmu.container,n=this;n.resizing||(n.resizing=!0,this.resizeTimer=setTimeout((function(){n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.bookChannelId&&(delete e.bookChannelId,n.logger&&n.logger.info(\"resize导致\"+e.id+\"号优先弹幕预定取消\"))})),n.logger&&n.logger.info(\"resize导致所有轨道恢复正常使用\");var i=t.getBoundingClientRect();n.width=i.width,n.height=i.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var o=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),r=void 0;r=\"b2t\"===n.direction?Math.floor(n.width/o):Math.floor(n.height/o);for(var a=[],s=0;s<r;s++)a[s]={id:s,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(n.channels&&n.channels.length<=a.length){for(var l=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(i){n.channels[t].queue[i].forEach((function(o){o.el&&(a[t].queue[i].push(o),o.resized||(o.pauseMove(n.containerPos,e),\"paused\"!==o.danmu.bulletBtn.main.status&&o.startMove(n.containerPos),o.resized=!0))}))})),n.channels[t].queue.bottom.forEach((function(i){if(i.el){if(a[t+a.length-n.channels.length].queue.bottom.push(i),i.channel_id[0]+i.channel_id[1]-1===t){var r=[].concat(i.channel_id);i.channel_id=[r[0]-n.channels.length+a.length,r[1]],i.top=i.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(i.top+=n.containerHeight*n.danmu.config.area.start),i.topInit()}i.resized||(i.pauseMove(n.containerPos,e),\"paused\"!==i.danmu.bulletBtn.main.status&&i.startMove(n.containerPos),i.resized=!0)}}))},u=0;u<n.channels.length;u++)l(u);for(var c=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},f=0;f<a.length;f++)c(f);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}else if(n.channels&&n.channels.length>a.length){for(var h=function(t){a[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(i){if(\"top\"===i&&t>Math.floor(a.length/2));else if(\"bottom\"===i&&t<=Math.floor(a.length/2));else{var r=\"bottom\"===i?t-a.length+n.channels.length:t;n.channels[r].queue[i].forEach((function(s,l){if(s.el){if(a[t].queue[i].push(s),\"bottom\"===i&&s.channel_id[0]+s.channel_id[1]-1===r){var u=[].concat(s.channel_id);s.channel_id=[u[0]-n.channels.length+a.length,u[1]],s.top=s.channel_id[0]*o,n.danmu.config.area&&n.danmu.config.area.start&&(s.top+=n.containerHeight*n.danmu.config.area.start),s.topInit()}s.pauseMove(n.containerPos,e),\"paused\"!==s.danmu.bulletBtn.main.status&&s.startMove(n.containerPos),s.resized||(s.resized=!0)}n.channels[r].queue[i].splice(l,1)}))}}))},d=0;d<a.length;d++)h(d);for(var g=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){a[e].queue[t].forEach((function(e){e.resized=!1}))}))},p=0;p<a.length;p++)g(p);n.channels=a,\"b2t\"===n.direction?n.channelWidth=o:n.channelHeight=o}n.resizing=!1}),10))}},{key:\"addBullet\",value:function(e){var t=this,n=this.danmu,i=this.channels,o=void 0,r=void 0,a=void 0;if(\"b2t\"===t.direction?(r=this.channelWidth,a=Math.ceil(e.width/r)):(o=this.channelHeight,a=Math.ceil(e.height/o)),a>i.length)return{result:!1,message:\"exceed channels.length, occupy=\"+a+\",channelsSize=\"+i.length};for(var s=!0,l=void 0,u=-1,c=0,f=i.length;c<f;c++)if(i[c].queue[e.mode].some((function(t){return t.id===e.id})))return{result:!1,message:\"exsited, channelOrder=\"+c+\",danmu_id=\"+e.id};if(\"scroll\"===e.mode)for(var h=0,d=i.length-a;h<=d;h++){s=!0;for(var g=h;g<h+a;g++){if((l=i[g]).operating.scroll){s=!1;break}if(l.bookId.scroll&&l.bookId.scroll!==e.id){s=!1;break}l.operating.scroll=!0;var p=l.queue.scroll[0];if(p){var m=p.el.getBoundingClientRect();if(\"b2t\"===t.direction){if(m.bottom>t.containerPos.bottom){s=!1,l.operating.scroll=!1;break}}else if(m.right>t.containerPos.right){s=!1,l.operating.scroll=!1;break}var v,b=void 0,y=void 0,w=void 0,_=void 0;if(\"b2t\"===t.direction?(y=(m.top-t.containerPos.top+m.height)/(b=(t.containerPos.height+m.height)/p.duration),w=t.containerPos.height,_=(t.containerPos.height+e.height)/e.duration):(y=(m.left-t.containerPos.left+m.width)/(b=(t.containerPos.width+m.width)/p.duration),w=t.containerPos.width,_=(t.containerPos.width+e.width)/e.duration),v=w/_,n.config.bOffset||(n.config.bOffset=0),b<_&&y+n.config.bOffset>v){s=!1,l.operating.scroll=!1;break}}l.operating.scroll=!1}if(s){u=h;break}}else if(\"top\"===e.mode)for(var O=0,k=i.length-a;O<=k;O++){s=!0;for(var x=O;x<O+a;x++){if(x>Math.floor(i.length/2)){s=!1;break}if((l=i[x]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=O;break}}else if(\"bottom\"===e.mode)for(var M=i.length-a;M>=0;M--){s=!0;for(var C=M;C<M+a;C++){if(C<=Math.floor(i.length/2)){s=!1;break}if((l=i[C]).operating[e.mode]){s=!1;break}if((l.bookId[e.mode]||e.prior)&&l.bookId[e.mode]!==e.id){s=!1;break}if(l.operating[e.mode]=!0,l.queue[e.mode].length>0){s=!1,l.operating[e.mode]=!1;break}l.operating[e.mode]=!1}if(s){u=M;break}}if(-1!==u){for(var E=u,j=u+a;E<j;E++)(l=i[E]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&(delete l.bookId[e.mode],t.logger&&t.logger.info(E+\"号轨道恢复正常使用\")),l.operating[e.mode]=!1;if(e.prior)if(t.logger&&t.logger.info(e.id+\"号优先弹幕运行完毕\"),delete e.bookChannelId,n.player)n.bulletBtn.main.data.some((function(t){return t.id===e.id&&(delete t.bookChannelId,!0)}));return e.channel_id=[u,a],\"b2t\"===t.direction?(e.top=u*r,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerWidth*t.danmu.config.area.start)):(e.top=u*o,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start)),{result:e,message:\"success\"}}if(e.options.realTime){var B=0,T=-1,P=null;if(t.danmu.bulletBtn.main.queue.forEach((function(e,n){!e.prior&&!e.options.realTime&&e.el&&e.el.getBoundingClientRect().left>t.containerPos.right&&e.start>=B&&(B=e.start,T=n,P=e)})),P){P.remove(),t.removeBullet(P),t.danmu.bulletBtn.main.queue.splice(T,1),e.channel_id=P.channel_id;for(var z=P.channel_id[0],S=P.channel_id[0]+P.channel_id[1];z<S;z++)(l=i[z]).operating[e.mode]=!0,l.queue[e.mode].unshift(e),e.prior&&delete l.bookId[e.mode],l.operating[e.mode]=!1;return e.top=P.top,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start),{result:e,message:\"success\"}}}if(e.prior)if(e.bookChannelId||t.danmu.live){if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,!0)}))}else{u=-1;for(var L=0,D=i.length-a;L<=D;L++){s=!0;for(var q=L;q<L+a;q++)if(i[q].bookId[e.mode]){s=!1;break}if(s){u=L;break}}if(-1!==u){for(var R=u;R<u+a;R++)i[R].bookId[e.mode]=e.id,t.logger&&t.logger.info(R+\"号轨道被\"+e.id+\"号优先弹幕预定\");if(n.player)n.bulletBtn.main.data.some((function(n){return n.id===e.id&&(t.logger&&t.logger.info(e.id+\"号优先弹幕将于2秒后再次请求注册\"),n.start+=2e3,n.bookChannelId=[u,a],t.logger&&t.logger.info(e.id+\"号优先弹幕预定了\"+u+\"~\"+(u+a-1)+\"号轨道\"),!0)}))}}return{result:!1,message:\"no surplus will right\"}}},{key:\"removeBullet\",value:function(e){this.logger&&this.logger.info(\"removeBullet \"+(e.options.txt||\"[DOM Element]\"));for(var t=this.channels,n=e.channel_id,i=void 0,o=n[0],r=n[0]+n[1];o<r;o++)if(i=t[o]){i.operating[e.mode]=!0;var a=-1;i.queue[e.mode].some((function(t,n){return t.id===e.id&&(a=n,!0)})),a>-1&&i.queue[e.mode].splice(a,1),i.operating[e.mode]=!1}e.options.loop&&this.danmu.bulletBtn.main.playedData.push(e.options)}},{key:\"resetArea\",value:function(){this.logger&&this.logger.info(\"resetArea\");var e=this.danmu.container,t=this,n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,t.danmu.config.area&&t.danmu.config.area.start>=0&&t.danmu.config.area.end>=t.danmu.config.area.start&&(\"b2t\"===t.direction?t.width=t.width*(t.danmu.config.area.end-t.danmu.config.area.start):t.height=t.height*(t.danmu.config.area.end-t.danmu.config.area.start)),t.container=e;var i=t.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===t.direction?Math.floor(t.width/i):Math.floor(t.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};if(t.channels&&t.channels.length<=r.length){for(var s=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\"].forEach((function(n){t.channels[e].queue[n].forEach((function(i){i.el&&(r[e].queue[n].push(i),i.resized||(i.pauseMove(t.containerPos,!1),i.startMove(t.containerPos),i.resized=!0))}))})),t.channels[e].queue.bottom.forEach((function(n){if(n.el){if(r[e+r.length-t.channels.length].queue.bottom.push(n),n.channel_id[0]+n.channel_id[1]-1===e){var o=[].concat(n.channel_id);n.channel_id=[o[0]-t.channels.length+r.length,o[1]],n.top=n.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(n.top+=t.containerHeight*t.danmu.config.area.start),n.topInit()}n.resized||(n.pauseMove(t.containerPos,!1),n.startMove(t.containerPos),n.resized=!0)}}))},l=0;l<t.channels.length;l++)s(l);for(var u=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},c=0;c<r.length;c++)u(c);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}else if(t.channels&&t.channels.length>r.length){for(var f=function(e){r[e]={id:e,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}},[\"scroll\",\"top\",\"bottom\"].forEach((function(n){if(\"top\"===n&&e>Math.floor(r.length/2));else if(\"bottom\"===n&&e<=Math.floor(r.length/2));else{var o=\"bottom\"===n?e-r.length+t.channels.length:e;t.channels[o].queue[n].forEach((function(a,s){if(a.el){if(r[e].queue[n].push(a),\"bottom\"===n&&a.channel_id[0]+a.channel_id[1]-1===o){var l=[].concat(a.channel_id);a.channel_id=[l[0]-t.channels.length+r.length,l[1]],a.top=a.channel_id[0]*i,t.danmu.config.area&&t.danmu.config.area.start&&(a.top+=t.containerHeight*t.danmu.config.area.start),a.topInit()}a.resized||(a.pauseMove(t.containerPos,!1),a.startMove(t.containerPos),a.resized=!0)}t.channels[o].queue[n].splice(s,1)}))}}))},h=0;h<r.length;h++)f(h);for(var d=function(e){[\"scroll\",\"top\",\"bottom\"].forEach((function(t){r[e].queue[t].forEach((function(e){e.resized=!1}))}))},g=0;g<r.length;g++)d(g);t.channels=r,\"b2t\"===t.direction?t.channelWidth=i:t.channelHeight=i}}},{key:\"reset\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info(\"reset\");var t=this.danmu.container,n=this;function i(){var e=t.getBoundingClientRect();n.width=e.width,n.height=e.height,n.danmu.config.area&&n.danmu.config.area.start>=0&&n.danmu.config.area.end>=n.danmu.config.area.start&&(\"b2t\"===n.direction?n.width=n.width*(n.danmu.config.area.end-n.danmu.config.area.start):n.height=n.height*(n.danmu.config.area.end-n.danmu.config.area.start)),n.container=t;var i=n.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),o=void 0;o=\"b2t\"===n.direction?Math.floor(n.width/i):Math.floor(n.height/i);for(var r=[],a=0;a<o;a++)r[a]={id:a,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};n.channels=r,\"b2t\"===n.direction?n.channelWidth=i:n.channelHeight=i}n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.queue.forEach((function(e){e.pauseMove(n.containerPos),e.remove()})),n.channels&&n.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<n.channels.length;t++)n.channels[t].queue[e].forEach((function(e){e.pauseMove(n.containerPos),e.remove()}))})),n.danmu.bulletBtn&&n.danmu.bulletBtn.main&&n.danmu.bulletBtn.main.data&&n.danmu.bulletBtn.main.data.forEach((function(e){e.hasAttached=!1})),e?this.resetTimer=setTimeout(i,200):i()}},{key:\"resetWithCb\",value:function(e,t){this.logger&&this.logger.info(\"resetWithCb\");var n=this.danmu.container,i=this;i.channels&&i.channels.length>0&&[\"scroll\",\"top\",\"bottom\"].forEach((function(e){for(var t=0;t<i.channels.length;t++)i.channels[t].queue[e].forEach((function(e){e.pauseMove(i.containerPos),e.remove()}))}));var o=n.getBoundingClientRect();i.width=o.width,i.height=o.height,i.danmu.config.area&&i.danmu.config.area.start>=0&&i.danmu.config.area.end>=i.danmu.config.area.start&&(\"b2t\"===i.direction?i.width=i.width*(i.danmu.config.area.end-i.danmu.config.area.start):i.height=i.height*(i.danmu.config.area.end-i.danmu.config.area.start)),i.container=n;var r=i.danmu.config.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12),a=void 0;a=\"b2t\"===i.direction?Math.floor(i.width/r):Math.floor(i.height/r);for(var s=[],l=0;l<a;l++)s[l]={id:l,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};i.channels=s,i.channelHeight=r,e&&e(!0,t)}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=a(n(1)),r=a(n(0));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));i.setLogger(\"bullet\"),i.danmu=e,i.options=n,i.duration=n.duration,i.moveV=n.moveV,i.id=n.id,i.container=e.container,i.start=n.start,i.prior=n.prior,i.color=n.color,i.bookChannelId=n.bookChannelId,i.direction=e.direction;var o=i;i.onChangeDirection=function(e){o.direction=e},i.danmu.on(\"changeDirection\",i.onChangeDirection);var a=void 0;if(i.domObj=e.domObj,n.el&&1===n.el.nodeType){a=i.domObj.use();var s=r.default.copyDom(n.el);n.eventListeners&&n.eventListeners.length>0&&n.eventListeners.forEach((function(e){s.addEventListener(e.event,e.listener,e.useCapture||!1)})),a.appendChild(s)}else(a=i.domObj.use()).textContent=n.txt;if(n.style){var l=n.style;Object.keys(l).forEach((function(e){r.default.style(a,e,l[e])}))}\"top\"===n.mode||\"bottom\"===n.mode?i.mode=n.mode:i.mode=\"scroll\",i.el=a,n.like&&n.like.el&&i.setLikeDom(n.like.el,n.like.style),i.status=\"waiting\";var u=i.container.getBoundingClientRect(),c=Math.floor(Math.random()*(u.width/10>100?200:u.width/10));n.realTime&&(c=0);var f=u.width+c+\"px\";return r.default.style(i.el,\"left\",f),i.containerPos=u,i}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"attach\",value:function(){if(this.container.appendChild(this.el),this.elPos=this.el.getBoundingClientRect(),\"b2t\"===this.direction?(this.width=this.elPos.height,this.height=this.elPos.width):(this.width=this.elPos.width,this.height=this.elPos.height),this.moveV){var e=this.containerPos;this.duration=(e.width+this.width)/this.moveV*1e3}this.danmu.config&&this.danmu.config.mouseControl&&(this.mouseoverFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseover\",this.mouseoverFunWrapper,!1)),this.danmu.config&&this.danmu.config.mouseEnterControl&&(this.mouseEnterFunWrapper=this.mouseoverFun.bind(this),this.el.addEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1))}},{key:\"mouseoverFun\",value:function(e){this.danmu&&this.danmu.mouseControl&&this.danmu.config.mouseControlPause||\"waiting\"===this.status||\"end\"===this.status||this.danmu&&this.danmu.emit(\"bullet_hover\",{bullet:this,event:e})}},{key:\"detach\",value:function(){this.el&&(this.danmu.config&&this.danmu.config.mouseControl&&this.el.removeEventListener(\"mouseover\",this.mouseoverFunWrapper,!1),this.danmu.config&&this.danmu.config.mouseEnterControl&&this.el.removeEventListener(\"mouseenter\",this.mouseEnterFunWrapper,!1),this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.domObj.unuse(this.el),this.el=null),this.danmu.off(\"changeDirection\",this.onChangeDirection)}},{key:\"topInit\",value:function(){if(this.logger&&this.logger.info(\"topInit #\"+(this.options.txt||\"[DOM Element]\")+\"#\"),\"b2t\"===this.direction){var e=this.containerPos;r.default.style(this.el,\"transformOrigin\",\"left top\"),r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+e.height+\"px) translateZ(0px) rotate(90deg)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else r.default.style(this.el,\"top\",this.top+\"px\")}},{key:\"pauseMove\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.logger&&this.logger.info(\"pauseMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(\"paused\"!==this.status&&(\"forcedPause\"!==n.status&&(this.status=\"paused\"),clearTimeout(n.removeTimer),this.el))if(r.default.style(this.el,\"willChange\",\"auto\"),\"scroll\"===this.mode){if(t){var i=((new Date).getTime()-n.moveTime)/1e3,o=i*this.moveV,a=0;a=n.moveMoreS-o>=0?\"b2t\"===this.direction?(n.moveMoreS-o)/n.moveContainerHeight*e.height:(n.moveMoreS-o)/n.moveContainerWidth*e.width:n.moveMoreS-o,\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+a+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",a+\"px\")}else\"b2t\"===this.direction?r.default.style(this.el,\"transform\",\"translateX(-\"+this.top+\"px) translateY(\"+(this.el.getBoundingClientRect().top-e.top)+\"px) translateZ(0px) rotate(90deg)\"):r.default.style(this.el,\"left\",this.el.getBoundingClientRect().left-e.left+\"px\");\"b2t\"===this.direction||r.default.style(this.el,\"transform\",\"translateX(0px) translateY(0px) translateZ(0px)\"),r.default.style(this.el,\"transition\",\"transform 0s linear 0s\")}else this.pastDuration&&this.startTime?this.pastDuration=this.pastDuration+(new Date).getTime()-this.startTime:this.pastDuration=1}},{key:\"startMove\",value:function(e,t){this.logger&&this.logger.info(\"startMove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");var n=this;if(n.hasMove||(n.danmu.emit(\"bullet_start\",n),n.hasMove=!0),(\"forcedPause\"!==n.status||t)&&this.el&&\"start\"!==this.status)if(this.status=\"start\",r.default.style(this.el,\"willChange\",\"transform\"),\"scroll\"===this.mode)if(\"b2t\"===this.direction){this.moveV=(e.height+this.height)/this.duration*1e3;var i=(n.el.getBoundingClientRect().bottom-e.top)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+i+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){n.el&&(r.default.style(n.el,\"transform\",\"translateX(-\"+n.top+\"px) translateY(-\"+n.height+\"px) translateZ(0px) rotate(90deg)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=n.el.getBoundingClientRect().top-e.top,n.moveContainerHeight=e.height,n.removeTimer=setTimeout(l,1e3*i))}),20)}else{var o=this.el.getBoundingClientRect();this.moveV=(e.width+this.width)/this.duration*1e3;var a=(o.right-e.left)/this.moveV;r.default.style(this.el,\"transition\",\"transform \"+a+\"s linear 0s\"),this.startMoveTimer=setTimeout((function(){if(n.el){var t=n.el.getBoundingClientRect(),i=(t.right-e.left)/a;t.right>e.left&&i>n.moveV-1&&i<n.moveV+1?(r.default.style(n.el,\"transform\",\"translateX(-\"+(t.right-e.left)+\"px) translateY(0px) translateZ(0px)\"),n.moveTime=(new Date).getTime(),n.moveMoreS=t.left-e.left,n.moveContainerWidth=e.width,n.removeTimer=setTimeout(l,1e3*a)):(n.status=\"end\",n.remove())}}),0)}else{r.default.style(this.el,\"left\",\"50%\"),r.default.style(this.el,\"margin\",\"0 0 0 -\"+this.width/2+\"px\"),this.pastDuration||(this.pastDuration=1);var s=this.duration>=this.pastDuration?this.duration-this.pastDuration:0;this.removeTimer=setTimeout(l,s),this.startTime=(new Date).getTime()}function l(){if(n.el)if(\"scroll\"===n.mode){var e=n.containerPos,t=n.el.getBoundingClientRect();\"b2t\"===n.direction?t&&t.bottom<=e.top+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e)):t&&t.right<=e.left+100?(n.status=\"end\",n.remove()):(n.pauseMove(e),\"paused\"!==n.danmu.bulletBtn.main.status&&n.startMove(e))}else n.status=\"end\",n.remove()}}},{key:\"remove\",value:function(){this.logger&&this.logger.info(\"remove #\"+(this.options.txt||\"[DOM Element]\")+\"#\");this.removeTimer&&clearTimeout(this.removeTimer),this.startMoveTimer&&clearTimeout(this.startMoveTimer),this.el&&this.el.parentNode&&(r.default.style(this.el,\"willChange\",\"auto\"),this.detach(),this.danmu.emit(\"bullet_remove\",{bullet:this}))}},{key:\"setFontSize\",value:function(e){this.el&&(this.el.style.fontSize=e)}},{key:\"setLikeDom\",value:function(e,t){if(e){Object.keys(t).forEach((function(n){e.style[n]=t[n]}));if(e.className=\"danmu-like\",this.el){var n=this.el.querySelector(\".danmu-like\");n&&this.el.removeChild(n),this.el.innerHTML=\"\"+this.el.innerHTML+e.outerHTML}}return e}}]),t}(o.default);t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(0),a=(i=r)&&i.__esModule?i:{default:i};var s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),t={initDOM:function(){return document.createElement(\"div\")},initSize:10},this.init(t)}return o(e,[{key:\"init\",value:function(e){this.idleList=[],this.usingList=[],this._id=0,this.options=e,this._expand(e.initSize)}},{key:\"use\",value:function(){this.idleList.length||this._expand(1);var e=this.idleList.shift();return this.usingList.push(e),e}},{key:\"unuse\",value:function(e){var t=this.usingList.indexOf(e);t<0||(this.usingList.splice(t,1),e.innerHTML=\"\",e.textcontent=\"\",this.clearElementStyle(e),this.idleList.push(e))}},{key:\"_expand\",value:function(e){for(var t=0;t<e;t++)this.idleList.push(this.options.initDOM(this._id++))}},{key:\"destroy\",value:function(){for(var e=0;e<this.idleList.length;e++)this.idleList[e].innerHTML=\"\",this.idleList[e].textcontent=\"\",this.clearElementStyle(this.idleList[e]);for(var t=0;t<this.usingList.length;t++)this.usingList[t].innerHTML=\"\",this.usingList[t].textcontent=\"\",this.clearElementStyle(this.usingList[t]);for(var n in this)delete this[n]}},{key:\"clearElementStyle\",value:function(e){var t=\"undefined\"!=typeof window?window.navigator.userAgent:null;t&&(t.indexOf(\"MSIE \")>-1||t.indexOf(\"Trident/\")>-1?a.default.style(e,\"transform\",\"none\"):e.setAttribute(\"style\",\"\"))}}]),e}();t.default=s,e.exports=t.default},function(e){e.exports=JSON.parse('{\"version\":\"0.5.10\"}')},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var o=new(function(){function e(){var t=this;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.__handlers=[],window.ResizeObserver)try{this.observer=new window.ResizeObserver((function(e){var n=(new Date).getTime();n-t.timeStampe<200||(t.timeStampe=n,t.__trigger(e))})),this.timeStampe=(new Date).getTime()}catch(e){}}return i(e,[{key:\"addObserver\",value:function(e,t){if(this.observer){this.observer&&this.observer.observe(e);for(var n=this.__handlers,i=-1,o=0;o<n.length;o++)n[o]&&e===n[o].target&&(i=o);i>-1?this.__handlers[i].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:\"unObserver\",value:function(e){var t=-1;this.__handlers.map((function(n,i){e===n.target&&(t=i)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}},{key:\"destroyObserver\",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:\"__runHandler\",value:function(e){for(var t=this.__handlers,n=0;n<t.length;n++)if(t[n]&&e===t[n].target){t[n].handler&&t[n].handler.map((function(e){try{e()}catch(e){console.error(e)}}));break}}},{key:\"__trigger\",value:function(e){var t=this;e.map((function(e){t.__runHandler(e.target)}))}}]),e}());t.addObserver=function(e,t){o.addObserver(e,t)},t.unObserver=function(e,t){o.unObserver(e,t)},t.destroyObserver=function(e,t){o.destroyObserver(e,t)}},function(e,t,n){var i=n(35);\"string\"==typeof i&&(i=[[e.i,i,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(37)(i,o);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(36)(!1)).push([e.i,\".danmu{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#ffffff;-webkit-box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);box-shadow:-2px 0 0 0 rgba(0, 0, 0, .04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=(a=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),r=i.sources.map((function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"}));return[n].concat(r).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var r=this[o][0];\"number\"==typeof r&&(i[r]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){var i,o,r={},a=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=i.apply(this,arguments)),o}),s=function(e){return document.querySelector(e)},l=function(e){var t={};return function(e){if(\"function\"==typeof e)return e();if(void 0===t[e]){var n=s.call(this,e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),u=null,c=0,f=[],h=n(38);function d(e,t){for(var n=0;n<e.length;n++){var i=e[n],o=r[i.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](i.parts[a]);for(;a<i.parts.length;a++)o.parts.push(y(i.parts[a],t))}else{var s=[];for(a=0;a<i.parts.length;a++)s.push(y(i.parts[a],t));r[i.id]={id:i.id,refs:1,parts:s}}}}function g(e,t){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=t.base?r[0]+t.base:r[0],s={css:r[1],media:r[2],sourceMap:r[3]};i[a]?i[a].parts.push(s):n.push(i[a]={id:a,parts:[s]})}return n}function p(e,t){var n=l(e.insertInto);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var i=f[f.length-1];if(\"top\"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),f.push(t);else if(\"bottom\"===e.insertAt)n.appendChild(t);else{if(\"object\"!=typeof e.insertAt||!e.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var o=l(e.insertInto+\" \"+e.insertAt.before);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=f.indexOf(e);t>=0&&f.splice(t,1)}function v(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),b(t,e.attrs),p(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,i,o,r;if(t.transform&&e.css){if(!(r=t.transform(e.css)))return function(){};e.css=r}if(t.singleton){var a=c++;n=u||(u=v(t)),i=O.bind(null,n,a,!1),o=O.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",b(t,e.attrs),p(e,t),t}(t),i=x.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),i=k.bind(null,n),o=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=g(e,t);return d(n,t),function(e){for(var i=[],o=0;o<n.length;o++){var a=n[o];(s=r[a.id]).refs--,i.push(s)}e&&d(g(e,t),t);for(o=0;o<i.length;o++){var s;if(0===(s=i[o]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete r[s.id]}}}};var w,_=(w=[],function(e,t){return w[e]=t,w.filter(Boolean).join(\"\\n\")});function O(e,t,n,i){var o=n?\"\":i.css;if(e.styleSheet)e.styleSheet.cssText=_(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function k(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute(\"media\",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function x(e,t,n){var i=n.css,o=n.sourceMap,r=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||r)&&(i=h(i)),o&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([i],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,i=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,(function(e,t){var o,r=t.trim().replace(/^\"(.*)\"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(r)?e:(o=0===r.indexOf(\"//\")?r:0===r.indexOf(\"/\")?n+r:i+r.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\")}))}}])}));\n//# sourceMappingURL=index.js.map","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 40 40\\\" width=\\\"40\\\" height=\\\"40\\\">\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z\\\"/>\\n <path fill=\\\"#f85959\\\" transform=\\\"scale(0.8 0.8)\\\" d=\\\"M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./danmu.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .danmu-switch{-webkit-order:6;-moz-box-ordinal-group:7;order:6;z-index:26}.xgplayer-skin-default .xgplayer-danmu{display:none;position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;z-index:9;outline:none}.xgplayer-skin-default .xgplayer-danmu>*{position:absolute;white-space:nowrap;z-index:9}.xgplayer-skin-default .xgplayer-danmu.xgplayer-has-danmu{display:block}.xgplayer-skin-default .xgplayer-panel{outline:none;-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:40px;height:40px;display:inline-block;position:relative;font-family:PingFangSC-Regular;font-size:13px;color:hsla(0,0%,100%,.8);z-index:36}.xgplayer-skin-default .xgplayer-panel .xgplayer-panel-icon{cursor:pointer;position:absolute;margin-left:5px;top:10px}.xgplayer-skin-default .xgplayer-panel-active{display:block!important;bottom:30px}.xgplayer-skin-default .xgplayer-panel-slider{z-index:36;display:none;position:absolute;width:230px;height:230px;background:rgba(0,0,0,.54);border-radius:1px;padding:10px 20px;outline:none;left:-115px;bottom:40px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode{padding-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-radio li{display:inline;list-style:none;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode ul{display:-webkit-flex;display:-moz-box;display:flex;-webkit-justify-content:space-around;justify-content:space-around}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode li{margin:0 12px;font-size:11px;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-hidemode-font{margin-bottom:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency{display:block;margin-top:10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-transparency .xgplayer-transparency-bar::-moz-range-progress{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,#f85959,#f85959 100%,#aaa)}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea{display:block;margin-top:8px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-threequarters,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-twoquarters{margin-left:-6px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea-full{margin-right:3px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-full-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-onequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-threequarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-twoquarters-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-showarea .xgplayer-showarea-zero-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmuspeed .xgplayer-danmuspeed-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont{display:block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-name{display:inline-block;position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control{display:inline-block}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-up{width:150px;margin-left:10px;display:-moz-box;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;color:#aaa}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down{position:relative;top:-10px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont-control-down-dots{display:-webkit-flex;display:-moz-box;display:flex;width:150px;margin-left:10px;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;width:150px;height:4px;background:#aaa;border-radius:4px;border-style:none;margin-left:10px;margin-top:-2px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-line::-moz-focus-outer{border:0!important}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-webkit-slider-runnable-track{outline:none;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-moz-range-track{outline:none;background-color:#aaa;border-color:transparent;cursor:pointer;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-color::-ms-track{outline:none;background-color:#aaa;color:transparent;border-color:transparent;width:150px;height:4px;border-radius:4px}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-webkit-slider-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;margin-top:-4px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-moz-range-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:0;width:0;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-bar::-ms-thumb{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:6px solid #f85959;height:6px;width:6px;border-radius:6px;cursor:pointer}.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-large-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-middle-dot,.xgplayer-skin-default .xgplayer-panel-slider .xgplayer-danmufont .xgplayer-danmufont-small-dot{width:3px;height:3px;border:3px solid #aaa;border-radius:50%;background-color:#aaa;position:relative;top:16px;z-index:-1}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/pip.scss'\n\nlet s_pip = function () {\n let player = this\n if (!player.config.pip || typeof player.video.requestPictureInPicture !== 'function') { return }\n let pip = player.lang.PIP\n let btn = createDom('xg-pip', `<p class=\"name\"><span>${pip}</span></p>`, {tabindex: 9}, 'xgplayer-pip')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('pipBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_pip',\n method: s_pip\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./pip.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-pip{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-pip .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-pip .name span{width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.lang-is-jp .xgplayer-pip .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/miniplayer.scss'\n\nlet s_miniplayer = function () {\n let player = this\n if (!player.config.miniplayer) { return }\n let miniplayer = player.lang.MINIPLAYER\n let btn = createDom('xg-miniplayer', `<p class=\"name\"><span>${miniplayer}</span></p>`, {tabindex: 9}, 'xgplayer-miniplayer')\n\n player.once('ready', () => {\n player.controls.appendChild(btn);\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('miniplayerBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_miniplayer',\n method: s_miniplayer\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./miniplayer.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-miniplayer{-webkit-order:9;-moz-box-ordinal-group:10;order:9;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-miniplayer .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-miniplayer .name span{width:80px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-miniplayer-lay{position:absolute;top:26px;left:0;width:100%;height:100%;z-index:130;cursor:pointer;background-color:transparent;display:none}.xgplayer-skin-default .xgplayer-miniplayer-lay div{width:100%;height:100%}.xgplayer-skin-default .xgplayer-miniplayer-drag{cursor:move;position:absolute;top:0;left:0;width:100%;height:26px;line-height:26px;background-image:linear-gradient(rgba(0,0,0,.3),transparent);z-index:130;display:none}.xgplayer-skin-default .xgplayer-miniplayer-drag .drag-handle{width:100%}.xgplayer-skin-default.xgplayer-miniplayer-active{position:fixed;right:0;bottom:200px;width:320px;height:180px;z-index:110}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-controls,.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-danmu{display:none}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-lay{display:block}.xgplayer-skin-default.xgplayer-miniplayer-active .xgplayer-miniplayer-drag{display:-webkit-flex;display:-moz-box;display:flex}.xgplayer-skin-default.xgplayer-inactive .xgplayer-miniplayer-drag{display:none}.lang-is-jp .xgplayer-miniplayer .name span{width:70px;height:20px}\", \"\"]);\n\n// exports\n","import { createDom, addClass } from '../../utils/util'\nimport PlayNextIcon from '../assets/playNext.svg'\nimport '../style/controls/playNext.scss'\n\nlet s_playNext = function () {\n let player = this\n let nextBtn = player.config.playNext\n if (!nextBtn || !nextBtn.urlList) { return }\n let btn = createDom('xg-playnext', `<xg-icon class=\"xgplayer-icon\">${PlayNextIcon}</xg-icon>`, {}, 'xgplayer-playnext')\n let tipsText = player.lang.PLAYNEXT_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-playnext\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-is-enter')\n player.userGestureTrigEvent('playNextBtnClick')\n })\n })\n\n let onUrlListEnd = function () {\n addClass(player.root, 'xgplayer-playnext-inactive')\n }\n player.on('urlListEnd', onUrlListEnd) \n\n function onDestroy () {\n player.off('urlListEnd', onUrlListEnd)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_playNext',\n method: s_playNext\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\">\\n <path transform=\\\"scale(0.038 0.028)\\\" d=\\\"M800 380v768h-128v-352l-320 320v-704l320 320v-352z\\\"></path>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./playNext.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-playnext{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;cursor:pointer;top:-2px}.xgplayer-skin-default .xgplayer-playnext .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-playnext .xgplayer-tips .xgplayer-tip-playnext{display:block}.xgplayer-skin-default .xgplayer-playnext:hover{opacity:.85}.xgplayer-skin-default .xgplayer-playnext:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-playnext .xgplayer-tips{margin-left:-25px}.xgplayer-lang-is-jp .xgplayer-playnext .xgplayer-tips{margin-left:-38px}.xgplayer-skin-default.xgplayer-playnext-inactive .xgplayer-playnext{display:none}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport RotateIcon from '../assets/rotate.svg'\nimport '../style/controls/rotate.scss'\n\nlet s_rotate = function () {\n let player = this\n if (!player.config.rotate) { return }\n let btn = createDom('xg-rotate', `<xg-icon class=\"xgplayer-icon\">${RotateIcon}</xg-icon>`, {}, 'xgplayer-rotate')\n\n let tipsText = player.lang.ROTATE_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-rotate\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('rotateBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_rotate',\n method: s_rotate\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"32\\\" viewBox=\\\"0 0 40 40\\\" fill=\\\"none\\\">\\n <g clip-path=\\\"url(#clip0)\\\">\\n <path transform=\\\"scale(1.5 1.5)\\\" d=\\\"M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z\\\" fill=\\\"white\\\"/>\\n <path transform=\\\"scale(1.5 1.5)\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z\\\" fill=\\\"white\\\"/>\\n </g>\\n <defs>\\n <clipPath id=\\\"clip0\\\">\\n <rect width=\\\"40\\\" height=\\\"40\\\" fill=\\\"white\\\"/>\\n </clipPath>\\n </defs>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./rotate.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-rotate{position:relative;-webkit-order:10;-moz-box-ordinal-group:11;order:10;display:block;cursor:pointer}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-rotate .xgplayer-tips .xgplayer-tip-rotate{display:block}.xgplayer-skin-default .xgplayer-rotate:hover{opacity:.85}.xgplayer-skin-default .xgplayer-rotate:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-rotate .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-rotate .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport ReloadIcon from '../assets/reload.svg'\nimport '../style/controls/reload.scss'\n\nlet s_reload = function () {\n let player = this\n if (!player.config.reload) { return }\n let btn = createDom('xg-reload', `<xg-icon class=\"xgplayer-icon\">${ReloadIcon}</xg-icon>`, {}, 'xgplayer-reload')\n\n let tipsText = player.lang.RELOAD_TIPS\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-reload\">${tipsText}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('reloadBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_reload',\n method: s_reload\n}","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"28\\\" height=\\\"28\\\" viewBox=\\\"0 0 28 28\\\">\\n <path fill=\\\"#FFF\\\" fill-opacity=\\\"1\\\" fill-rule=\\\"nonzero\\\" d=\\\"M18.17 19.988a7.182 7.182 0 0 1-4.256 1.318 7.806 7.806 0 0 1-.595-.03c-.08-.008-.16-.021-.242-.031a8.004 8.004 0 0 1-.458-.071c-.094-.018-.185-.042-.276-.063a7.743 7.743 0 0 1-.439-.113c-.068-.022-.136-.047-.205-.07a7.03 7.03 0 0 1-.492-.181c-.037-.015-.072-.032-.108-.049a7.295 7.295 0 0 1-.554-.269l-.025-.012a7.347 7.347 0 0 1-2.111-1.753c-.03-.036-.057-.074-.086-.11a7.305 7.305 0 0 1-1.594-4.557h1.686a.123.123 0 0 0 .108-.064.119.119 0 0 0-.006-.125L5.684 9.532a.123.123 0 0 0-.103-.056.123.123 0 0 0-.102.056l-2.834 4.276a.121.121 0 0 0-.005.125c.022.04.064.064.107.064h1.687c0 2.025.627 3.902 1.693 5.454.013.021.022.044.037.066.11.159.233.305.352.455.043.057.085.116.13.171.175.213.36.413.55.61.02.018.036.038.054.055a9.447 9.447 0 0 0 2.91 1.996c.058.026.115.054.175.079.202.084.41.158.619.228.098.034.196.069.296.1.183.054.37.1.558.145.125.029.249.06.376.085.052.01.102.027.155.035.177.032.355.05.533.071.064.007.128.018.19.026.32.03.639.052.956.052a9.46 9.46 0 0 0 5.47-1.746 1.16 1.16 0 0 0 .282-1.608 1.143 1.143 0 0 0-1.6-.283zm5.397-5.991a9.604 9.604 0 0 0-1.685-5.441c-.016-.027-.026-.054-.043-.078-.132-.19-.276-.366-.419-.543-.017-.022-.032-.044-.05-.065a9.467 9.467 0 0 0-3.571-2.7l-.114-.051a11.2 11.2 0 0 0-.673-.248c-.082-.027-.163-.057-.247-.082a9.188 9.188 0 0 0-.6-.156c-.113-.026-.224-.055-.337-.077-.057-.011-.109-.028-.164-.037-.151-.027-.304-.039-.455-.058-.104-.013-.208-.03-.313-.04a10.05 10.05 0 0 0-.759-.039c-.045 0-.09-.007-.136-.007l-.025.003a9.45 9.45 0 0 0-5.46 1.737 1.16 1.16 0 0 0-.284 1.608c.363.523 1.08.65 1.6.284a7.182 7.182 0 0 1 4.222-1.32c.217.002.429.013.639.033.065.007.129.017.193.025.173.021.344.046.513.08.075.014.149.033.221.05.166.037.331.077.494.127l.152.051c.185.061.366.127.545.201l.054.025a7.308 7.308 0 0 1 2.741 2.067l.013.018a7.302 7.302 0 0 1 1.652 4.633h-1.686a.123.123 0 0 0-.108.064.12.12 0 0 0 .006.124l2.834 4.277c.022.033.06.054.103.054.042 0 .08-.021.102-.054l2.833-4.277a.12.12 0 0 0 .005-.124.123.123 0 0 0-.108-.064h-1.685z\\\"/>\\n</svg>\\n\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./reload.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-reload{position:relative;-webkit-order:1;-moz-box-ordinal-group:2;order:1;display:block;width:40px;height:40px;cursor:pointer}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon{margin-top:7px;width:26px}.xgplayer-skin-default .xgplayer-reload .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips{margin-left:-22px}.xgplayer-skin-default .xgplayer-reload .xgplayer-tips .xgplayer-tip-reload{display:block}.xgplayer-skin-default .xgplayer-reload:hover{opacity:.85}.xgplayer-skin-default .xgplayer-reload:hover .xgplayer-tips{display:block}.xgplayer-lang-is-en .xgplayer-reload .xgplayer-tips{margin-left:-26px}.xgplayer-lang-is-jp .xgplayer-reload .xgplayer-tips{margin-left:-38px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport '../style/controls/screenShot.scss'\n\nlet s_screenShot = function () {\n let player = this\n if (!player.config.screenShot || player.config.screenShot.hideButton) {\n return\n }\n let screenShotText = player.lang.SCREENSHOT\n let btn = createDom('xg-screenshot', `<p class=\"name\"><span>${player.config.screenShot.iconText || screenShotText}</span></p>`, {tabindex: 11}, 'xgplayer-screenshot')\n player.once('ready', () => {\n player.controls.appendChild(btn)\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, e => {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('screenShotBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_screenShot',\n method: s_screenShot\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./screenShot.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-screenshot{-webkit-order:11;-moz-box-ordinal-group:12;order:11;position:relative;outline:none;display:block;cursor:pointer;height:20px;top:10px}.xgplayer-skin-default .xgplayer-screenshot .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;line-height:20px;height:20px;color:hsla(0,0%,100%,.8)}.xgplayer-skin-default .xgplayer-screenshot .name span{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0 10px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-lang-is-en .xgplayer-screenshot .name span,.xgplayer-lang-is-jp .xgplayer-screenshot .name span{width:75px;height:20px}\", \"\"]);\n\n// exports\n","import Player from '../../player'\nimport '../style/controls/textTrack.scss'\n\nlet s_nativeTextTrack = function () {\n if (!this.config.nativeTextTrack) {\n return\n }\n let player = this\n let root = player.root\n let util = Player.util\n let container = util.createDom('xg-texttrack', '', {tabindex: 7}, 'xgplayer-texttrack')\n let list = player.config.nativeTextTrack\n if (list && Array.isArray(list) && list.length > 0) {\n util.addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', function () {\n let tmp = ['<ul>']\n tmp.push(`<li class='${this.textTrackShowDefault ? '' : 'selected'}'}'>${player.lang.OFF}</li>`)\n list.forEach(item => {\n tmp.push(`<li class='${item.default && this.textTrackShowDefault ? 'selected' : ''}'>${item.label}</li>`)\n })\n let controlText = player.lang.TEXTTRACK\n tmp.push(`</ul><p class=\"name\">${controlText}</p>`)\n\n let urlInRoot = root.querySelector('.xgplayer-texttrack')\n if (urlInRoot) {\n urlInRoot.innerHTML = tmp.join('')\n let cur = urlInRoot.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(root, 'xgplayer-texttrack-active')\n urlInRoot.focus()\n })\n }\n } else {\n container.innerHTML = tmp.join('')\n let cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n }\n player.controls.appendChild(container)\n }\n })\n };\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n util.removeClass(item, 'selected')\n })\n util.addClass(li, 'selected')\n let trackDoms = player.root.getElementsByTagName('Track')\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n trackDoms[0].style.display = 'block'\n util.addClass(player.root, 'xgplayer-texttrack-active')\n trackDoms[0].track.mode = 'showing'\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n player.emit('textTrackChange', li.innerHTML)\n }\n } else if (player.config.textTrackActive === 'click' && li && (li.tagName.toLocaleLowerCase() === 'p' || li.tagName.toLocaleLowerCase() === 'em')) {\n util.addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n }\n }, false)\n })\n\n player.on('play', () => {\n let ul = root.querySelector('.xgplayer-texttrack ul')\n let trackDoms = root.getElementsByTagName('Track')\n if (!player['hls'] || !ul || !trackDoms) return\n trackDoms[0].src = ''\n Array.prototype.forEach.call(ul.childNodes, li => {\n if (util.hasClass(li, 'selected')) {\n if (li.innerHTML === player.lang.OFF) {\n trackDoms[0].track.mode = 'hidden'\n trackDoms[0].src = ''\n } else {\n trackDoms[0].track.mode = 'hidden'\n\n list.some(item => {\n if (item.label !== li.innerHTML) {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n return true\n }\n })\n\n list.some(item => {\n if (item.label === li.innerHTML) {\n setTimeout(() => {\n trackDoms[0].src = item.src\n if (item.kind) {\n trackDoms[0].kind = item.kind\n }\n trackDoms[0].label = item.label\n if (item.srclang) {\n trackDoms[0].srclang = item.srclang\n }\n trackDoms[0].track.mode = 'showing'\n })\n return true\n }\n })\n }\n }\n })\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n util.removeClass(player.root, 'xgplayer-texttrack-active')\n })\n}\n\nexport default {\n name: 's_nativeTextTrack',\n method: s_nativeTextTrack\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-texttrack{-webkit-order:7;-moz-box-ordinal-group:8;order:7;width:60px;height:150px;z-index:18;position:relative;outline:none;display:none;cursor:default;margin-top:-119px}.xgplayer-skin-default .xgplayer-texttrack ul{display:none;list-style:none;min-width:78px;background:rgba(0,0,0,.54);border-radius:1px;position:absolute;bottom:30px;text-align:center;white-space:nowrap;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:26;cursor:pointer}.xgplayer-skin-default .xgplayer-texttrack ul li{opacity:.7;font-family:PingFangSC-Regular;font-size:11px;color:hsla(0,0%,100%,.8);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;padding:6px 13px}.xgplayer-skin-default .xgplayer-texttrack ul li.selected,.xgplayer-skin-default .xgplayer-texttrack ul li:hover{color:#fff;opacity:1}.xgplayer-skin-default .xgplayer-texttrack .name{text-align:center;font-family:PingFangSC-Regular;font-size:13px;cursor:pointer;color:hsla(0,0%,100%,.8);position:absolute;bottom:0;width:60px;height:20px;line-height:20px;background:rgba(0,0,0,.38);border-radius:10px;display:inline-block;vertical-align:middle}.xgplayer-skin-default .xgplayer-texttrack.xgplayer-texttrack-hide{display:none}xg-text-track{transition:bottom .3s ease}.xgplayer-skin-default.xgplayer-is-texttrack .xgplayer-texttrack,.xgplayer-skin-default.xgplayer-texttrack-active .xgplayer-texttrack ul{display:block}\", \"\"]);\n\n// exports\n","import { createDom, addClass, removeClass, hasClass } from '../../utils/util'\nimport '../style/controls/textTrack.scss'\n\nfunction renderList (root, textTrack, offText, isDefaultShow) {\n if (textTrack.length === 0) {\n root.innerHTML = ''\n return\n }\n let tmp = []\n tmp.push(`<li data-type=\"off\" class=\"${isDefaultShow ? '' : 'selected'}\">${offText}</li>`)\n textTrack.forEach(item => {\n tmp.push(`<li data-id=${item.id} data-language=${item.language} class=\"${item.isDefault && isDefaultShow ? 'selected' : ''}\">${item.label}</li>`)\n })\n root.innerHTML = tmp.join('')\n}\n\n// eslint-disable-next-line camelcase\nlet s_textTrack = function () {\n let player = this\n if (!this.config.textTrack) {\n return\n }\n let textTrack = this.config.textTrack\n let controlText = player.lang.TEXTTRACK\n const container = createDom('xg-texttrack', `<ul></ul><p class=\"name\">${controlText}</p>`, {tabindex: 7}, 'xgplayer-texttrack')\n\n function onCanPlay () {\n const urlInRoot = player.root.querySelector('.xgplayer-texttrack')\n if (!urlInRoot) {\n player.controls.appendChild(container)\n const cur = container.querySelector('.name')\n if (!player.config.textTrackActive || player.config.textTrackActive === 'hover') {\n cur.addEventListener('mouseenter', e => {\n e.preventDefault()\n e.stopPropagation()\n addClass(player.root, 'xgplayer-texttrack-active')\n container.focus()\n })\n container.addEventListener('mouseleave', e => {\n e.preventDefault()\n e.stopPropagation()\n removeClass(player.root, 'xgplayer-texttrack-active')\n })\n } else {\n cur.addEventListener('click', e => {\n e.preventDefault()\n e.stopPropagation()\n if (hasClass(player.root, 'xgplayer-texttrack-active')) {\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n })\n }\n }\n\n ['touchend', 'click'].forEach(item => {\n container.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n let li = e.target || e.srcElement\n if (li && li.tagName.toLocaleLowerCase() === 'li') {\n const id = li.getAttribute('data-id')\n const type = li.getAttribute('data-type')\n const language = li.getAttribute('data-language')\n Array.prototype.forEach.call(li.parentNode.childNodes, item => {\n removeClass(item, 'selected')\n })\n addClass(li, 'selected')\n if (type === 'off') {\n player.switchOffSubtile()\n removeClass(player.root, 'xgplayer-texttrack-active')\n } else {\n player.switchSubTitle({id, language})\n addClass(player.root, 'xgplayer-texttrack-active')\n }\n }\n })\n })\n\n const ul = container.getElementsByTagName('ul')[0]\n renderList(ul, textTrack, player.lang.OFF, player.textTrackShowDefault)\n if (textTrack.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n const onListUpdate = function (data) {\n if (!data.isListUpdate) return\n const ul = container.getElementsByTagName('ul')[0]\n textTrack = data.list\n renderList(ul, data.list, player.lang.OFF, player.textTrackShowDefault)\n data.list.length > 0 ? addClass(player.root, 'xgplayer-is-texttrack') : removeClass(player.root, 'xgplayer-is-texttrack')\n if (data.list.length === 0) {\n addClass(container, 'xgplayer-texttrack-hide')\n } else {\n removeClass(container, 'xgplayer-texttrack-hide')\n }\n }\n\n if (textTrack && Array.isArray(textTrack)) {\n textTrack.length > 0 && addClass(player.root, 'xgplayer-is-texttrack')\n player.once('canplay', onCanPlay)\n player.on('subtitle_change', onListUpdate)\n }\n}\n\nexport default {\n name: 's_textTrack',\n method: s_textTrack\n}\n","import { addClass, removeClass, createDom } from '../../utils/util'\nimport '../style/controls/error.scss'\n\nlet s_error = function () {\n let player = this\n let root = player.root\n\n let error = createDom('xg-error', '<span class=\"xgplayer-error-text\">请<span class=\"xgplayer-error-refresh\">刷新</span>试试</span>', {}, 'xgplayer-error')\n player.once('ready', () => {\n root.appendChild(error)\n });\n\n let text = error.querySelector('.xgplayer-error-text')\n if (player.config.lang && player.config.lang === 'zh-cn') {\n text.innerHTML = player.config.errorTips || `请<span class=\"xgplayer-error-refresh\">刷新</span>试试`\n } else {\n text.innerHTML = player.config.errorTips || `please try to <span class=\"xgplayer-error-refresh\">refresh</span>`\n }\n let refresh = null\n\n function onError () {\n // player.controls.style.display = 'none'\n // if (player.error) {\n // text.innerHTML = player.error\n // } else {\n \n // }\n addClass(player.root, 'xgplayer-is-error')\n refresh = error.querySelector('.xgplayer-error-refresh')\n if (refresh) {\n ['touchend', 'click'].forEach(item => {\n refresh.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.autoplay = true\n let currentTime = player.currentTime\n player.once('playing', () => {\n player.currentTime = currentTime\n removeClass(player.root, 'xgplayer-is-error')\n })\n player.src = player.config.url\n })\n })\n }\n }\n player.on('error', onError)\n function onDestroy () {\n player.off('error', onError)\n player.off('destroy', onDestroy)\n }\n player.once('destroy', onDestroy)\n}\n\nexport default {\n name: 's_error',\n method: s_error\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./error.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-error{background:#000;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:125;font-family:PingFangSC-Regular;font-size:14px;color:#fff;text-align:center;line-height:100%;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}.xgplayer-skin-default .xgplayer-error .xgplayer-error-refresh{color:#fa1f41;padding:0 3px;cursor:pointer}.xgplayer-skin-default .xgplayer-error .xgplayer-error-text{line-height:18px;margin:auto 6px}.xgplayer-skin-default.xgplayer-is-error .xgplayer-error{display:-webkit-flex;display:-moz-box;display:flex}\", \"\"]);\n\n// exports\n","import { createDom, format } from '../../utils/util'\nimport '../style/controls/memoryPlay.scss'\n\nlet s_memoryPlay = function () {\n let player = this\n let lastPlayTime = player.config.lastPlayTime || 0\n let lastPlayTimeHideDelay = player.config.lastPlayTimeHideDelay || 0\n let dom = null\n if (lastPlayTime <= 0) {\n return\n }\n dom = createDom('xg-memoryplay', `<div class=\"xgplayer-memoryplay-spot\"><div class=\"xgplayer-progress-tip\">您上次观看到 <span class=\"xgplayer-lasttime\">${format(lastPlayTime)}</span> ,为您自动续播 <span class=\"btn-close\"><svg viewBox=\"64 64 896 896\" focusable=\"false\" class=\"\" data-icon=\"close\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path></svg></span></div></div>`, {}, 'xgplayer-memoryplay');\n dom.addEventListener('mouseover', (e) => {\n e.stopPropagation();\n });\n const removeFunc = () => {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n dom = null\n }\n dom.querySelector('.xgplayer-progress-tip .btn-close').addEventListener('click', removeFunc)\n const handlePlay = () => {\n if(lastPlayTimeHideDelay > 0) {\n player.root.appendChild(dom);\n }\n player.emit('memoryPlayStart', lastPlayTime);\n if (lastPlayTimeHideDelay > 0) {\n setTimeout(() => {\n removeFunc()\n }, lastPlayTimeHideDelay * 1000)\n }\n }\n player.once('playing', handlePlay)\n player.once('ended', removeFunc)\n}\n\nexport default {\n name: 's_memoryPlay',\n method: s_memoryPlay\n}","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./memoryPlay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-memoryplay-spot{position:absolute;height:32px;left:10px;bottom:46px;background:rgba(0,0,0,.5);border-radius:32px;line-height:32px;color:#ddd;z-index:15;padding:0 32px 0 16px}.xgplayer-skin-default .xgplayer-memoryplay-spot .xgplayer-lasttime{color:red;font-weight:700}.xgplayer-skin-default .xgplayer-memoryplay-spot .btn-close{position:absolute;width:16px;height:16px;right:10px;top:2px;cursor:pointer;color:#fff;font-size:16px}\", \"\"]);\n\n// exports\n","import { createDom } from '../../utils/util'\nimport AirplayIcon from '../assets/airplay.svg'\nimport '../style/controls/airplay.scss'\n\nlet s_airplay = function () {\n let player = this\n if(!player.config.airplay || !window.WebKitPlaybackTargetAvailabilityEvent) return\n\n let btn = createDom('xg-airplay', `<xg-icon class=\"xgplayer-icon\">\n <div class=\"xgplayer-icon-airplay\">${AirplayIcon}</div>\n </xg-icon>`, {}, 'xgplayer-airplay')\n\n let tips = createDom('xg-tips', `<span class=\"xgplayer-tip-airplay\">${player.lang.AIRPLAY_TIPS}</span>`, {}, 'xgplayer-tips')\n btn.appendChild(tips)\n player.once('ready', () => {\n player.controls.appendChild(btn)\n player.video.addEventListener('webkitplaybacktargetavailabilitychanged',\n event => {\n switch (event.availability) {\n case \"available\":\n btn.hidden = false;\n btn.disabled = false;\n break;\n case \"not-available\":\n btn.hidden = true;\n btn.disabled = true;\n break;\n }\n });\n });\n\n ['click', 'touchend'].forEach(item => {\n btn.addEventListener(item, function (e) {\n e.preventDefault()\n e.stopPropagation()\n player.userGestureTrigEvent('airplayBtnClick')\n })\n })\n}\n\nexport default {\n name: 's_airplay',\n method: s_airplay\n}","export default \"<svg t=\\\"1600422191774\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"3100\\\" width=\\\"28\\\" height=\\\"28\\\"><path d=\\\"M256 938.666667h512L512 597.333333 256 938.666667z m170.666667-85.333334l85.333333-113.781333L597.333333 853.333333H426.666667zM853.333333 85.333333H170.666667C99.946667 85.333333 42.666667 142.613333 42.666667 213.333333v426.666667c0 70.72 57.28 128 128 128h106.666666l64-85.333333H170.666667c-23.573333 0-42.666667-19.093333-42.666667-42.666667V213.333333c0-23.573333 19.093333-42.666667 42.666667-42.666666h682.666666c23.573333 0 42.666667 19.093333 42.666667 42.666666v426.666667c0 23.573333-19.093333 42.666667-42.666667 42.666667H682.666667l64 85.333333h106.666666c70.72 0 128-57.28 128-128V213.333333c0-70.72-57.28-128-128-128z\\\" p-id=\\\"3101\\\" fill=\\\"#ffffff\\\"></path></svg>\"","\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js??ref--5-1!../../../../node_modules/postcss-loader/lib/index.js!../../../../node_modules/sass-loader/lib/loader.js!./airplay.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".xgplayer-skin-default .xgplayer-airplay{position:relative;-webkit-order:11;-moz-box-ordinal-group:12;order:11;display:block;cursor:pointer;margin-left:5px;margin-right:3px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon{margin-top:6px;margin-left:6px}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon div{position:absolute}.xgplayer-skin-default .xgplayer-airplay .xgplayer-icon .xgplayer-icon-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips{position:absolute;right:0;left:auto}.xgplayer-skin-default .xgplayer-airplay .xgplayer-tips .xgplayer-tip-airplay{display:block}.xgplayer-skin-default .xgplayer-airplay:hover{opacity:.85}.xgplayer-skin-default .xgplayer-airplay:hover .xgplayer-tips{display:block}\", \"\"]);\n\n// exports\n"],"sourceRoot":""}