{"version":3,"sources":["webpack:///./node_modules/can-use-dom/index.js","webpack:///./node_modules/core-js/modules/es.weak-map.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/lodash.throttle/index.js","webpack:///./node_modules/simplebar/dist/simplebar.esm.js","webpack:///./node_modules/simplebar-vue/dist/simplebar-vue.esm.js","webpack:///./node_modules/core-js/internals/collection-weak.js","webpack:///./node_modules/lodash.memoize/index.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/core-js/internals/number-parse-int.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.parse-int.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/lodash.debounce/index.js"],"names":["canUseDOM","window","document","createElement","module","exports","InternalWeakMap","global","redefineAll","InternalMetadataModule","collection","collectionWeak","isObject","enforceIternalState","enforce","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","isExtensible","Object","wrapper","init","this","arguments","length","undefined","$WeakMap","getConstructor","REQUIRED","WeakMapPrototype","prototype","nativeDelete","nativeHas","has","nativeGet","get","nativeSet","set","key","state","frozen","call","value","$","$reduce","left","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","STRICT_METHOD","CHROME_BUG","target","proto","forced","reduce","callbackfn","forEach","isForced","redefine","iterate","anInstance","fails","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","CONSTRUCTOR_NAME","common","IS_MAP","indexOf","IS_WEAK","ADDER","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","KEY","nativeMethod","REPLACE","entries","next","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","iterable","BUGGY_ZERO","$instance","index","dummy","that","AS_ENTRIES","constructor","clear","setStrong","MapShim","Map","getIndex","arr","result","some","entry","class_1","__entries__","defineProperty","enumerable","configurable","push","delete","splice","callback","ctx","_i","_a","isBrowser","global$1","Math","self","Function","requestAnimationFrame$1","requestAnimationFrame","bind","setTimeout","Date","now","trailingTimeout","throttle","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","REFRESH_DELAY","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","addObserver","observer","connect_","removeObserver","observers","disconnect_","changesDetected","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","isReflowProperty","getInstance","instance_","defineConfigurable","props","keys","writable","getWindowOf","ownerGlobal","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","size","position","getPaddings","paddings","positions_1","getSVGContentRect","bbox","getBBox","width","height","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","horizPad","right","vertPad","top","bottom","boxSizing","round","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","documentElement","getContentRect","createReadOnlyRect","x","y","Constr","DOMRectReadOnly","rect","create","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","contentRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","apply","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","freeSelf","root","objectProto","objectToString","toString","nativeMax","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","toNumber","type","isObjectLike","isSymbol","other","valueOf","replace","isBinary","test","slice","getOptions","obj","Array","acc","attribute","option","name","match","chr","toUpperCase","getElementWindow","element","getElementDocument","cachedScrollbarWidth","cachedDevicePixelRatio","scrollbarWidth","el","body","box","classList","add","appendChild","getBoundingClientRect","removeChild","devicePixelRatio","SimpleBar","onScroll","elWindow","scrollXTicking","scrollX","scrollYTicking","scrollY","axis","isOverflowing","showScrollbar","positionScrollbar","onMouseEnter","onMouseMove","e","mouseX","clientX","mouseY","clientY","forceVisible","onMouseMoveForAxis","onMouseLeave","onMouseLeaveForAxis","onWindowResize","getScrollbarWidth","hideNativeScrollbar","hideScrollbars","track","isWithinBounds","scrollbar","remove","classNames","visible","isVisible","onPointerEvent","isWithinTrackXBounds","isWithinTrackYBounds","preventDefault","stopPropagation","onDragStart","onTrackClick","drag","eventOffset","draggedAxis","trackSize","sizeAttr","contentSize","contentWrapperEl","scrollSizeAttr","hostSize","elStyles","pageY","pageX","dragPos","offsetAttr","dragOffset","dragPerc","scrollPos","isRtl","getRtlHelpers","isRtlScrollbarInverted","isRtlScrollingInverted","scrollOffsetAttr","onEndDrag","elDocument","dragging","removePreventClickId","preventClick","minScrollbarWidth","assign","defaultOptions","offsetSizeAttr","overflowAttr","instances","recalculate","timeout","dummyDiv","innerHTML","scrollbarDummyEl","firstElementChild","dummyContainerChild","scrollLeft","dummyContainerOffset","getOffset","dummyContainerChildOffset","dummyContainerScrollOffsetAfterScroll","pageYOffset","scrollTop","pageXOffset","_proto","initDOM","initListeners","_this2","children","child","contains","wrapperEl","querySelector","scrollableNode","contentWrapper","contentEl","contentNode","offsetEl","offset","maskEl","mask","placeholderEl","findChild","placeholder","heightAutoObserverWrapperEl","heightAutoObserverEl","horizontal","vertical","firstChild","cloneNode","autoHide","setAttribute","_this3","capture","passive","resizeObserverStarted","resizeObserver","mutationObserver","direction","isHeightAuto","offsetHeight","isWidthAuto","offsetWidth","contentElOffsetWidth","contentWrapperElOffsetWidth","elOverflowX","overflowX","elOverflowY","overflowY","style","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","contentElScrollHeight","scrollHeight","contentElScrollWidth","scrollWidth","contentWrapperElOffsetHeight","offsetForXScrollbar","offsetForYScrollbar","getScrollbarSize","toggleTrackVisibility","scrollbarSize","scrollbarRatio","scrollbarMinSize","scrollbarMaxSize","scrollOffset","scrollPourcent","handleOffset","transform","visibility","display","isWithinScrollbarBoundsX","hover","_this4","clickOnTrack","scrollbarOffset","scrolled","t","dir","scrollSize","scrollTo","_this4$contentWrapper","_this4$contentWrapper2","clickOnTrackSpeed","getContentElement","getScrollElement","removeListeners","_this5","unMount","query","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","initDOMLoadedElements","querySelectorAll","getAttribute","globalObserver","initHtmlApi","handleMutations","readyState","doScroll","mutations","mutation","addedNodes","addedNode","nodeType","hasAttribute","removedNodes","removedNode","script","mounted","$refs","computed","scrollElement","contentElement","__vue_script__","__vue_render__","_vm","_h","$createElement","_c","_self","ref","staticClass","_m","_v","_t","__vue_staticRenderFns__","_withStripped","__vue_inject_styles__","__vue_scope_id__","__vue_is_functional_template__","__vue_normalize__","template","scope","functional","moduleIdentifier","createInjector","createInjectorSSR","component","__file","render","staticRenderFns","_compiled","_scopeId","simplebar","getWeakData","anObject","ArrayIterationModule","$has","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","find","findIndex","id","uncaughtFrozenStore","store","UncaughtFrozenStore","findUncaughtFrozen","it","C","getInternalState","define","data","HASH_UNDEFINED","funcTag","genTag","reRegExpChar","reIsHostCtor","getValue","object","isHostObject","arrayProto","funcProto","coreJsData","maskSrcKey","uid","exec","IE_PROTO","funcToString","hasOwnProperty","reIsNative","RegExp","getNative","nativeCreate","Hash","hashClear","__data__","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","lastIndex","pop","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","array","eq","baseIsNative","isMasked","pattern","isFunction","toSource","isKeyable","memoize","resolver","memoized","cache","Cache","tag","preventExtensions","trim","whitespaces","$parseInt","hex","FORCED","string","radix","S","String","aFunction","toObject","IndexedObject","toLength","createMethod","IS_RIGHT","argumentsLength","memo","O","i","parseIntImplementation","hiddenKeys","f","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","onFreeze","meta"],"mappings":"mGAAA,IAAIA,IACgB,qBAAXC,SACPA,OAAOC,WACPD,OAAOC,SAASC,eAGlBC,EAAOC,QAAUL,G,oCCLjB,IAYIM,EAZAC,EAAS,EAAQ,QACjBC,EAAc,EAAQ,QACtBC,EAAyB,EAAQ,QACjCC,EAAa,EAAQ,QACrBC,EAAiB,EAAQ,QACzBC,EAAW,EAAQ,QACnBC,EAAsB,EAAQ,QAA+BC,QAC7DC,EAAkB,EAAQ,QAE1BC,GAAWT,EAAOU,eAAiB,kBAAmBV,EAEtDW,EAAeC,OAAOD,aAGtBE,EAAU,SAAUC,GACtB,OAAO,WACL,OAAOA,EAAKC,KAAMC,UAAUC,OAASD,UAAU,QAAKE,KAMpDC,EAAWtB,EAAOC,QAAUK,EAAW,UAAWU,EAAST,GAK/D,GAAII,GAAmBC,EAAS,CAC9BV,EAAkBK,EAAegB,eAAeP,EAAS,WAAW,GACpEX,EAAuBmB,UAAW,EAClC,IAAIC,EAAmBH,EAASI,UAC5BC,EAAeF,EAAiB,UAChCG,EAAYH,EAAiBI,IAC7BC,EAAYL,EAAiBM,IAC7BC,EAAYP,EAAiBQ,IACjC7B,EAAYqB,EAAkB,CAC5B,OAAU,SAAUS,GAClB,GAAI1B,EAAS0B,KAASpB,EAAaoB,GAAM,CACvC,IAAIC,EAAQ1B,EAAoBS,MAEhC,OADKiB,EAAMC,SAAQD,EAAMC,OAAS,IAAIlC,GAC/ByB,EAAaU,KAAKnB,KAAMgB,IAAQC,EAAMC,OAAO,UAAUF,GAC9D,OAAOP,EAAaU,KAAKnB,KAAMgB,IAEnCL,IAAK,SAAaK,GAChB,GAAI1B,EAAS0B,KAASpB,EAAaoB,GAAM,CACvC,IAAIC,EAAQ1B,EAAoBS,MAEhC,OADKiB,EAAMC,SAAQD,EAAMC,OAAS,IAAIlC,GAC/B0B,EAAUS,KAAKnB,KAAMgB,IAAQC,EAAMC,OAAOP,IAAIK,GACrD,OAAON,EAAUS,KAAKnB,KAAMgB,IAEhCH,IAAK,SAAaG,GAChB,GAAI1B,EAAS0B,KAASpB,EAAaoB,GAAM,CACvC,IAAIC,EAAQ1B,EAAoBS,MAEhC,OADKiB,EAAMC,SAAQD,EAAMC,OAAS,IAAIlC,GAC/B0B,EAAUS,KAAKnB,KAAMgB,GAAOJ,EAAUO,KAAKnB,KAAMgB,GAAOC,EAAMC,OAAOL,IAAIG,GAChF,OAAOJ,EAAUO,KAAKnB,KAAMgB,IAEhCD,IAAK,SAAaC,EAAKI,GACrB,GAAI9B,EAAS0B,KAASpB,EAAaoB,GAAM,CACvC,IAAIC,EAAQ1B,EAAoBS,MAC3BiB,EAAMC,SAAQD,EAAMC,OAAS,IAAIlC,GACtC0B,EAAUS,KAAKnB,KAAMgB,GAAOF,EAAUK,KAAKnB,KAAMgB,EAAKI,GAASH,EAAMC,OAAOH,IAAIC,EAAKI,QAChFN,EAAUK,KAAKnB,KAAMgB,EAAKI,GACjC,OAAOpB,U,oCC/Db,IAAIqB,EAAI,EAAQ,QACZC,EAAU,EAAQ,QAA6BC,KAC/CC,EAAsB,EAAQ,QAC9BC,EAAiB,EAAQ,QACzBC,EAAU,EAAQ,QAElBC,EAAgBH,EAAoB,UAGpCI,GAAcF,GAAWD,EAAiB,IAAMA,EAAiB,GAIrEJ,EAAE,CAAEQ,OAAQ,QAASC,OAAO,EAAMC,QAASJ,GAAiBC,GAAc,CACxEI,OAAQ,SAAgBC,GACtB,OAAOX,EAAQtB,KAAMiC,EAAYhC,UAAUC,OAAQD,UAAUC,OAAS,EAAID,UAAU,QAAKE,O,kCCf7F,IAAIkB,EAAI,EAAQ,QACZa,EAAU,EAAQ,QAKtBb,EAAE,CAAEQ,OAAQ,QAASC,OAAO,EAAMC,OAAQ,GAAGG,SAAWA,GAAW,CACjEA,QAASA,K,oCCPX,IAAIb,EAAI,EAAQ,QACZpC,EAAS,EAAQ,QACjBkD,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBjD,EAAyB,EAAQ,QACjCkD,EAAU,EAAQ,QAClBC,EAAa,EAAQ,QACrBhD,EAAW,EAAQ,QACnBiD,EAAQ,EAAQ,QAChBC,EAA8B,EAAQ,QACtCC,EAAiB,EAAQ,QACzBC,EAAoB,EAAQ,QAEhC5D,EAAOC,QAAU,SAAU4D,EAAkB7C,EAAS8C,GACpD,IAAIC,GAA8C,IAArCF,EAAiBG,QAAQ,OAClCC,GAAgD,IAAtCJ,EAAiBG,QAAQ,QACnCE,EAAQH,EAAS,MAAQ,MACzBI,EAAoBhE,EAAO0D,GAC3BO,EAAkBD,GAAqBA,EAAkBzC,UACzD2C,EAAcF,EACdG,EAAW,GAEXC,EAAY,SAAUC,GACxB,IAAIC,EAAeL,EAAgBI,GACnClB,EAASc,EAAiBI,EACjB,OAAPA,EAAe,SAAalC,GAE1B,OADAmC,EAAapC,KAAKnB,KAAgB,IAAVoB,EAAc,EAAIA,GACnCpB,MACE,UAAPsD,EAAkB,SAAUtC,GAC9B,QAAO+B,IAAYzD,EAAS0B,KAAeuC,EAAapC,KAAKnB,KAAc,IAARgB,EAAY,EAAIA,IAC1E,OAAPsC,EAAe,SAAatC,GAC9B,OAAO+B,IAAYzD,EAAS0B,QAAOb,EAAYoD,EAAapC,KAAKnB,KAAc,IAARgB,EAAY,EAAIA,IAC9E,OAAPsC,EAAe,SAAatC,GAC9B,QAAO+B,IAAYzD,EAAS0B,KAAeuC,EAAapC,KAAKnB,KAAc,IAARgB,EAAY,EAAIA,IACjF,SAAaA,EAAKI,GAEpB,OADAmC,EAAapC,KAAKnB,KAAc,IAARgB,EAAY,EAAIA,EAAKI,GACtCpB,QAKTwD,EAAUrB,EACZQ,EAC4B,mBAArBM,KAAqCF,GAAWG,EAAgBhB,UAAYK,GAAM,YACvF,IAAIU,GAAoBQ,UAAUC,YAItC,GAAIF,EAEFL,EAAcP,EAAOvC,eAAeP,EAAS6C,EAAkBE,EAAQG,GACvE7D,EAAuBmB,UAAW,OAC7B,GAAI6B,EAASQ,GAAkB,GAAO,CAC3C,IAAIgB,EAAW,IAAIR,EAEfS,EAAiBD,EAASX,GAAOD,EAAU,IAAM,EAAG,IAAMY,EAE1DE,EAAuBtB,GAAM,WAAcoB,EAAShD,IAAI,MAGxDmD,EAAmBtB,GAA4B,SAAUuB,GAAY,IAAId,EAAkBc,MAE3FC,GAAcjB,GAAWR,GAAM,WAEjC,IAAI0B,EAAY,IAAIhB,EAChBiB,EAAQ,EACZ,MAAOA,IAASD,EAAUjB,GAAOkB,EAAOA,GACxC,OAAQD,EAAUtD,KAAK,MAGpBmD,IACHX,EAAcrD,GAAQ,SAAUqE,EAAOJ,GACrCzB,EAAW6B,EAAOhB,EAAaR,GAC/B,IAAIyB,EAAO1B,EAAkB,IAAIO,EAAqBkB,EAAOhB,GAE7D,YADgBhD,GAAZ4D,GAAuB1B,EAAQ0B,EAAUK,EAAKpB,GAAQ,CAAEoB,KAAMA,EAAMC,WAAYxB,IAC7EuB,KAETjB,EAAY3C,UAAY0C,EACxBA,EAAgBoB,YAAcnB,IAG5BU,GAAwBG,KAC1BX,EAAU,UACVA,EAAU,OACVR,GAAUQ,EAAU,SAGlBW,GAAcJ,IAAgBP,EAAUL,GAGxCD,GAAWG,EAAgBqB,cAAcrB,EAAgBqB,MAU/D,OAPAnB,EAAST,GAAoBQ,EAC7B9B,EAAE,CAAEpC,QAAQ,EAAM8C,OAAQoB,GAAeF,GAAqBG,GAE9DX,EAAeU,EAAaR,GAEvBI,GAASH,EAAO4B,UAAUrB,EAAaR,EAAkBE,GAEvDM,I,qCCrGT,YAOA,IAAIsB,EAAU,WACV,GAAmB,qBAARC,IACP,OAAOA,IASX,SAASC,EAASC,EAAK5D,GACnB,IAAI6D,GAAU,EAQd,OAPAD,EAAIE,MAAK,SAAUC,EAAOb,GACtB,OAAIa,EAAM,KAAO/D,IACb6D,EAASX,GACF,MAIRW,EAEX,OAAsB,WAClB,SAASG,IACLhF,KAAKiF,YAAc,GAuEvB,OArEApF,OAAOqF,eAAeF,EAAQxE,UAAW,OAAQ,CAI7CK,IAAK,WACD,OAAOb,KAAKiF,YAAY/E,QAE5BiF,YAAY,EACZC,cAAc,IAMlBJ,EAAQxE,UAAUK,IAAM,SAAUG,GAC9B,IAAIkD,EAAQS,EAAS3E,KAAKiF,YAAajE,GACnC+D,EAAQ/E,KAAKiF,YAAYf,GAC7B,OAAOa,GAASA,EAAM,IAO1BC,EAAQxE,UAAUO,IAAM,SAAUC,EAAKI,GACnC,IAAI8C,EAAQS,EAAS3E,KAAKiF,YAAajE,IAClCkD,EACDlE,KAAKiF,YAAYf,GAAO,GAAK9C,EAG7BpB,KAAKiF,YAAYI,KAAK,CAACrE,EAAKI,KAOpC4D,EAAQxE,UAAU8E,OAAS,SAAUtE,GACjC,IAAIyC,EAAUzD,KAAKiF,YACff,EAAQS,EAASlB,EAASzC,IACzBkD,GACDT,EAAQ8B,OAAOrB,EAAO,IAO9Bc,EAAQxE,UAAUG,IAAM,SAAUK,GAC9B,SAAU2D,EAAS3E,KAAKiF,YAAajE,IAKzCgE,EAAQxE,UAAU+D,MAAQ,WACtBvE,KAAKiF,YAAYM,OAAO,IAO5BP,EAAQxE,UAAU0B,QAAU,SAAUsD,EAAUC,QAChC,IAARA,IAAkBA,EAAM,MAC5B,IAAK,IAAIC,EAAK,EAAGC,EAAK3F,KAAKiF,YAAaS,EAAKC,EAAGzF,OAAQwF,IAAM,CAC1D,IAAIX,EAAQY,EAAGD,GACfF,EAASrE,KAAKsE,EAAKV,EAAM,GAAIA,EAAM,MAGpCC,EAzEU,GAtBX,GAsGVY,EAA8B,qBAAXjH,QAA8C,qBAAbC,UAA4BD,OAAOC,WAAaA,SAGpGiH,EAAW,WACX,MAAsB,qBAAX5G,GAA0BA,EAAO6G,OAASA,KAC1C7G,EAES,qBAAT8G,MAAwBA,KAAKD,OAASA,KACtCC,KAEW,qBAAXpH,QAA0BA,OAAOmH,OAASA,KAC1CnH,OAGJqH,SAAS,cAATA,GAXI,GAoBXC,EAA0B,WAC1B,MAAqC,oBAA1BC,sBAIAA,sBAAsBC,KAAKN,GAE/B,SAAUL,GAAY,OAAOY,YAAW,WAAc,OAAOZ,EAASa,KAAKC,SAAW,IAAO,KAP1E,GAW1BC,EAAkB,EAStB,SAASC,EAAUhB,EAAUiB,GACzB,IAAIC,GAAc,EAAOC,GAAe,EAAOC,EAAe,EAO9D,SAASC,IACDH,IACAA,GAAc,EACdlB,KAEAmB,GACAG,IAUR,SAASC,IACLd,EAAwBY,GAO5B,SAASC,IACL,IAAIE,EAAYX,KAAKC,MACrB,GAAII,EAAa,CAEb,GAAIM,EAAYJ,EAAeL,EAC3B,OAMJI,GAAe,OAGfD,GAAc,EACdC,GAAe,EACfP,WAAWW,EAAiBN,GAEhCG,EAAeI,EAEnB,OAAOF,EAIX,IAAIG,EAAgB,GAGhBC,EAAiB,CAAC,MAAO,QAAS,SAAU,OAAQ,QAAS,SAAU,OAAQ,UAE/EC,EAAwD,qBAArBC,iBAInCC,EAA0C,WAM1C,SAASA,IAMLrH,KAAKsH,YAAa,EAMlBtH,KAAKuH,sBAAuB,EAM5BvH,KAAKwH,mBAAqB,KAM1BxH,KAAKyH,WAAa,GAClBzH,KAAK0H,iBAAmB1H,KAAK0H,iBAAiBvB,KAAKnG,MACnDA,KAAK2H,QAAUnB,EAASxG,KAAK2H,QAAQxB,KAAKnG,MAAOiH,GAgKrD,OAxJAI,EAAyB7G,UAAUoH,YAAc,SAAUC,IACjD7H,KAAKyH,WAAW3E,QAAQ+E,IAC1B7H,KAAKyH,WAAWpC,KAAKwC,GAGpB7H,KAAKsH,YACNtH,KAAK8H,YASbT,EAAyB7G,UAAUuH,eAAiB,SAAUF,GAC1D,IAAIG,EAAYhI,KAAKyH,WACjBvD,EAAQ8D,EAAUlF,QAAQ+E,IAEzB3D,GACD8D,EAAUzC,OAAOrB,EAAO,IAGvB8D,EAAU9H,QAAUF,KAAKsH,YAC1BtH,KAAKiI,eASbZ,EAAyB7G,UAAUmH,QAAU,WACzC,IAAIO,EAAkBlI,KAAKmI,mBAGvBD,GACAlI,KAAK2H,WAWbN,EAAyB7G,UAAU2H,iBAAmB,WAElD,IAAIC,EAAkBpI,KAAKyH,WAAWY,QAAO,SAAUR,GACnD,OAAOA,EAASS,eAAgBT,EAASU,eAQ7C,OADAH,EAAgBlG,SAAQ,SAAU2F,GAAY,OAAOA,EAASW,qBACvDJ,EAAgBlI,OAAS,GAQpCmH,EAAyB7G,UAAUsH,SAAW,WAGrClC,IAAa5F,KAAKsH,aAMvB1I,SAAS6J,iBAAiB,gBAAiBzI,KAAK0H,kBAChD/I,OAAO8J,iBAAiB,SAAUzI,KAAK2H,SACnCR,GACAnH,KAAKwH,mBAAqB,IAAIJ,iBAAiBpH,KAAK2H,SACpD3H,KAAKwH,mBAAmBkB,QAAQ9J,SAAU,CACtC+J,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,MAIblK,SAAS6J,iBAAiB,qBAAsBzI,KAAK2H,SACrD3H,KAAKuH,sBAAuB,GAEhCvH,KAAKsH,YAAa,IAQtBD,EAAyB7G,UAAUyH,YAAc,WAGxCrC,GAAc5F,KAAKsH,aAGxB1I,SAASmK,oBAAoB,gBAAiB/I,KAAK0H,kBACnD/I,OAAOoK,oBAAoB,SAAU/I,KAAK2H,SACtC3H,KAAKwH,oBACLxH,KAAKwH,mBAAmBwB,aAExBhJ,KAAKuH,sBACL3I,SAASmK,oBAAoB,qBAAsB/I,KAAK2H,SAE5D3H,KAAKwH,mBAAqB,KAC1BxH,KAAKuH,sBAAuB,EAC5BvH,KAAKsH,YAAa,IAStBD,EAAyB7G,UAAUkH,iBAAmB,SAAU/B,GAC5D,IAAIsD,EAAKtD,EAAGuD,aAAcA,OAAsB,IAAPD,EAAgB,GAAKA,EAE1DE,EAAmBjC,EAAepC,MAAK,SAAU9D,GACjD,SAAUkI,EAAapG,QAAQ9B,MAE/BmI,GACAnJ,KAAK2H,WAQbN,EAAyB+B,YAAc,WAInC,OAHKpJ,KAAKqJ,YACNrJ,KAAKqJ,UAAY,IAAIhC,GAElBrH,KAAKqJ,WAOhBhC,EAAyBgC,UAAY,KAC9BhC,EAhMkC,GA0MzCiC,EAAqB,SAAWzH,EAAQ0H,GACxC,IAAK,IAAI7D,EAAK,EAAGC,EAAK9F,OAAO2J,KAAKD,GAAQ7D,EAAKC,EAAGzF,OAAQwF,IAAM,CAC5D,IAAI1E,EAAM2E,EAAGD,GACb7F,OAAOqF,eAAerD,EAAQb,EAAK,CAC/BI,MAAOmI,EAAMvI,GACbmE,YAAY,EACZsE,UAAU,EACVrE,cAAc,IAGtB,OAAOvD,GASP6H,EAAc,SAAW7H,GAIzB,IAAI8H,EAAc9H,GAAUA,EAAO+H,eAAiB/H,EAAO+H,cAAcC,YAGzE,OAAOF,GAAe9D,GAItBiE,EAAYC,EAAe,EAAG,EAAG,EAAG,GAOxC,SAASC,EAAQ5I,GACb,OAAO6I,WAAW7I,IAAU,EAShC,SAAS8I,EAAeC,GAEpB,IADA,IAAIC,EAAY,GACP1E,EAAK,EAAGA,EAAKzF,UAAUC,OAAQwF,IACpC0E,EAAU1E,EAAK,GAAKzF,UAAUyF,GAElC,OAAO0E,EAAUpI,QAAO,SAAUqI,EAAMC,GACpC,IAAIlJ,EAAQ+I,EAAO,UAAYG,EAAW,UAC1C,OAAOD,EAAOL,EAAQ5I,KACvB,GAQP,SAASmJ,EAAYJ,GAGjB,IAFA,IAAIC,EAAY,CAAC,MAAO,QAAS,SAAU,QACvCI,EAAW,GACN9E,EAAK,EAAG+E,EAAcL,EAAW1E,EAAK+E,EAAYvK,OAAQwF,IAAM,CACrE,IAAI4E,EAAWG,EAAY/E,GACvBtE,EAAQ+I,EAAO,WAAaG,GAChCE,EAASF,GAAYN,EAAQ5I,GAEjC,OAAOoJ,EASX,SAASE,EAAkB7I,GACvB,IAAI8I,EAAO9I,EAAO+I,UAClB,OAAOb,EAAe,EAAG,EAAGY,EAAKE,MAAOF,EAAKG,QAQjD,SAASC,EAA0BlJ,GAG/B,IAAImJ,EAAcnJ,EAAOmJ,YAAaC,EAAepJ,EAAOoJ,aAS5D,IAAKD,IAAgBC,EACjB,OAAOnB,EAEX,IAAIK,EAAST,EAAY7H,GAAQqJ,iBAAiBrJ,GAC9C2I,EAAWD,EAAYJ,GACvBgB,EAAWX,EAASjJ,KAAOiJ,EAASY,MACpCC,EAAUb,EAASc,IAAMd,EAASe,OAKlCV,EAAQb,EAAQG,EAAOU,OAAQC,EAASd,EAAQG,EAAOW,QAqB3D,GAlByB,eAArBX,EAAOqB,YAOH1F,KAAK2F,MAAMZ,EAAQM,KAAcH,IACjCH,GAASX,EAAeC,EAAQ,OAAQ,SAAWgB,GAEnDrF,KAAK2F,MAAMX,EAASO,KAAaJ,IACjCH,GAAUZ,EAAeC,EAAQ,MAAO,UAAYkB,KAOvDK,EAAkB7J,GAAS,CAK5B,IAAI8J,EAAgB7F,KAAK2F,MAAMZ,EAAQM,GAAYH,EAC/CY,EAAiB9F,KAAK2F,MAAMX,EAASO,GAAWJ,EAMpB,IAA5BnF,KAAK+F,IAAIF,KACTd,GAASc,GAEoB,IAA7B7F,KAAK+F,IAAID,KACTd,GAAUc,GAGlB,OAAO7B,EAAeS,EAASjJ,KAAMiJ,EAASc,IAAKT,EAAOC,GAQ9D,IAAIgB,EAAuB,WAGvB,MAAkC,qBAAvBC,mBACA,SAAUlK,GAAU,OAAOA,aAAkB6H,EAAY7H,GAAQkK,oBAKrE,SAAUlK,GAAU,OAAQA,aAAkB6H,EAAY7H,GAAQmK,YAC3C,oBAAnBnK,EAAO+I,SAVK,GAkB3B,SAASc,EAAkB7J,GACvB,OAAOA,IAAW6H,EAAY7H,GAAQjD,SAASqN,gBAQnD,SAASC,EAAerK,GACpB,OAAK+D,EAGDkG,EAAqBjK,GACd6I,EAAkB7I,GAEtBkJ,EAA0BlJ,GALtBiI,EAcf,SAASqC,EAAmBxG,GACxB,IAAIyG,EAAIzG,EAAGyG,EAAGC,EAAI1G,EAAG0G,EAAGxB,EAAQlF,EAAGkF,MAAOC,EAASnF,EAAGmF,OAElDwB,EAAoC,qBAApBC,gBAAkCA,gBAAkB1M,OACpE2M,EAAO3M,OAAO4M,OAAOH,EAAO9L,WAShC,OAPA8I,EAAmBkD,EAAM,CACrBJ,EAAGA,EAAGC,EAAGA,EAAGxB,MAAOA,EAAOC,OAAQA,EAClCQ,IAAKe,EACLjB,MAAOgB,EAAIvB,EACXU,OAAQT,EAASuB,EACjB9K,KAAM6K,IAEHI,EAYX,SAASzC,EAAeqC,EAAGC,EAAGxB,EAAOC,GACjC,MAAO,CAAEsB,EAAGA,EAAGC,EAAGA,EAAGxB,MAAOA,EAAOC,OAAQA,GAO/C,IAAI4B,EAAmC,WAMnC,SAASA,EAAkB7K,GAMvB7B,KAAK2M,eAAiB,EAMtB3M,KAAK4M,gBAAkB,EAMvB5M,KAAK6M,aAAe9C,EAAe,EAAG,EAAG,EAAG,GAC5C/J,KAAK6B,OAASA,EA0BlB,OAlBA6K,EAAkBlM,UAAUsM,SAAW,WACnC,IAAIN,EAAON,EAAelM,KAAK6B,QAE/B,OADA7B,KAAK6M,aAAeL,EACZA,EAAK3B,QAAU7K,KAAK2M,gBACxBH,EAAK1B,SAAW9K,KAAK4M,iBAQ7BF,EAAkBlM,UAAUuM,cAAgB,WACxC,IAAIP,EAAOxM,KAAK6M,aAGhB,OAFA7M,KAAK2M,eAAiBH,EAAK3B,MAC3B7K,KAAK4M,gBAAkBJ,EAAK1B,OACrB0B,GAEJE,EAnD2B,GAsDlCM,EAAqC,WAOrC,SAASA,EAAoBnL,EAAQoL,GACjC,IAAIC,EAAcf,EAAmBc,GAOrC3D,EAAmBtJ,KAAM,CAAE6B,OAAQA,EAAQqL,YAAaA,IAE5D,OAAOF,EAjB6B,GAoBpCG,EAAmC,WAWnC,SAASA,EAAkB3H,EAAU4H,EAAYC,GAc7C,GAPArN,KAAKsN,oBAAsB,GAM3BtN,KAAKuN,cAAgB,IAAI9I,EACD,oBAAbe,EACP,MAAM,IAAIgI,UAAU,2DAExBxN,KAAKyN,UAAYjI,EACjBxF,KAAK0N,YAAcN,EACnBpN,KAAK2N,aAAeN,EAoHxB,OA5GAF,EAAkB3M,UAAUkI,QAAU,SAAU7G,GAC5C,IAAK5B,UAAUC,OACX,MAAM,IAAIsN,UAAU,4CAGxB,GAAuB,qBAAZI,SAA6BA,mBAAmB/N,OAA3D,CAGA,KAAMgC,aAAkB6H,EAAY7H,GAAQ+L,SACxC,MAAM,IAAIJ,UAAU,yCAExB,IAAIK,EAAe7N,KAAKuN,cAEpBM,EAAalN,IAAIkB,KAGrBgM,EAAa9M,IAAIc,EAAQ,IAAI6K,EAAkB7K,IAC/C7B,KAAK0N,YAAY9F,YAAY5H,MAE7BA,KAAK0N,YAAY/F,aAQrBwF,EAAkB3M,UAAUsN,UAAY,SAAUjM,GAC9C,IAAK5B,UAAUC,OACX,MAAM,IAAIsN,UAAU,4CAGxB,GAAuB,qBAAZI,SAA6BA,mBAAmB/N,OAA3D,CAGA,KAAMgC,aAAkB6H,EAAY7H,GAAQ+L,SACxC,MAAM,IAAIJ,UAAU,yCAExB,IAAIK,EAAe7N,KAAKuN,cAEnBM,EAAalN,IAAIkB,KAGtBgM,EAAavI,OAAOzD,GACfgM,EAAaxD,MACdrK,KAAK0N,YAAY3F,eAAe/H,SAQxCmN,EAAkB3M,UAAUwI,WAAa,WACrChJ,KAAK+N,cACL/N,KAAKuN,cAAchJ,QACnBvE,KAAK0N,YAAY3F,eAAe/H,OAQpCmN,EAAkB3M,UAAU8H,aAAe,WACvC,IAAI0F,EAAQhO,KACZA,KAAK+N,cACL/N,KAAKuN,cAAcrL,SAAQ,SAAU+L,GAC7BA,EAAYnB,YACZkB,EAAMV,oBAAoBjI,KAAK4I,OAU3Cd,EAAkB3M,UAAUgI,gBAAkB,WAE1C,GAAKxI,KAAKuI,YAAV,CAGA,IAAI9C,EAAMzF,KAAK2N,aAEXlK,EAAUzD,KAAKsN,oBAAoBY,KAAI,SAAUD,GACjD,OAAO,IAAIjB,EAAoBiB,EAAYpM,OAAQoM,EAAYlB,oBAEnE/M,KAAKyN,UAAUtM,KAAKsE,EAAKhC,EAASgC,GAClCzF,KAAK+N,gBAOTZ,EAAkB3M,UAAUuN,YAAc,WACtC/N,KAAKsN,oBAAoB/H,OAAO,IAOpC4H,EAAkB3M,UAAU+H,UAAY,WACpC,OAAOvI,KAAKsN,oBAAoBpN,OAAS,GAEtCiN,EAlJ2B,GAwJlCnF,EAA+B,qBAAZmG,QAA0B,IAAIA,QAAY,IAAI1J,EAKjE2J,EAAgC,WAOhC,SAASA,EAAe5I,GACpB,KAAMxF,gBAAgBoO,GAClB,MAAM,IAAIZ,UAAU,sCAExB,IAAKvN,UAAUC,OACX,MAAM,IAAIsN,UAAU,4CAExB,IAAIJ,EAAa/F,EAAyB+B,cACtCvB,EAAW,IAAIsF,EAAkB3H,EAAU4H,EAAYpN,MAC3DgI,EAAUjH,IAAIf,KAAM6H,GAExB,OAAOuG,EAlBwB,GAqBnC,CACI,UACA,YACA,cACFlM,SAAQ,SAAUmM,GAChBD,EAAe5N,UAAU6N,GAAU,WAC/B,IAAI1I,EACJ,OAAQA,EAAKqC,EAAUnH,IAAIb,OAAOqO,GAAQC,MAAM3I,EAAI1F,eAI5D,IAAIiE,EAAQ,WAER,MAAuC,qBAA5B2B,EAASuI,eACTvI,EAASuI,eAEbA,EALC,GAQG,W,8CC/5Bf,YAUA,IAAIG,EAAkB,sBAGlBC,EAAM,IAGNC,EAAY,kBAGZC,EAAS,aAGTC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAeC,SAGfC,EAA8B,iBAAV/P,GAAsBA,GAAUA,EAAOY,SAAWA,QAAUZ,EAGhFgQ,EAA0B,iBAARlJ,MAAoBA,MAAQA,KAAKlG,SAAWA,QAAUkG,KAGxEmJ,EAAOF,GAAcC,GAAYjJ,SAAS,cAATA,GAGjCmJ,EAActP,OAAOW,UAOrB4O,EAAiBD,EAAYE,SAG7BC,EAAYxJ,KAAKyJ,IACjBC,EAAY1J,KAAK2J,IAkBjBnJ,EAAM,WACR,OAAO4I,EAAK7I,KAAKC,OAyDnB,SAASoJ,EAASC,EAAMC,EAAMC,GAC5B,IAAIC,EACAC,EACAC,EACAnL,EACAoL,EACArJ,EACAsJ,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARV,EACT,MAAM,IAAInC,UAAUe,GAUtB,SAAS+B,EAAWC,GAClB,IAAIC,EAAOV,EACPW,EAAUV,EAKd,OAHAD,EAAWC,OAAW5P,EACtB+P,EAAiBK,EACjB1L,EAAS8K,EAAKrB,MAAMmC,EAASD,GACtB3L,EAGT,SAAS6L,EAAYH,GAMnB,OAJAL,EAAiBK,EAEjBN,EAAU7J,WAAWuK,EAAcf,GAE5BO,EAAUG,EAAWC,GAAQ1L,EAGtC,SAAS+L,EAAcL,GACrB,IAAIM,EAAoBN,EAAO3J,EAC3BkK,EAAsBP,EAAOL,EAC7BrL,EAAS+K,EAAOiB,EAEpB,OAAOT,EAASZ,EAAU3K,EAAQmL,EAAUc,GAAuBjM,EAGrE,SAASkM,EAAaR,GACpB,IAAIM,EAAoBN,EAAO3J,EAC3BkK,EAAsBP,EAAOL,EAKjC,YAAyB/P,IAAjByG,GAA+BiK,GAAqBjB,GACzDiB,EAAoB,GAAOT,GAAUU,GAAuBd,EAGjE,SAASW,IACP,IAAIJ,EAAOjK,IACX,GAAIyK,EAAaR,GACf,OAAOS,EAAaT,GAGtBN,EAAU7J,WAAWuK,EAAcC,EAAcL,IAGnD,SAASS,EAAaT,GAKpB,OAJAN,OAAU9P,EAINkQ,GAAYP,EACPQ,EAAWC,IAEpBT,EAAWC,OAAW5P,EACf0E,GAGT,SAASoM,SACS9Q,IAAZ8P,GACFiB,aAAajB,GAEfC,EAAiB,EACjBJ,EAAWlJ,EAAemJ,EAAWE,OAAU9P,EAGjD,SAASgR,IACP,YAAmBhR,IAAZ8P,EAAwBpL,EAASmM,EAAa1K,KAGvD,SAAS8K,IACP,IAAIb,EAAOjK,IACP+K,EAAaN,EAAaR,GAM9B,GAJAT,EAAW7P,UACX8P,EAAW/P,KACX4G,EAAe2J,EAEXc,EAAY,CACd,QAAgBlR,IAAZ8P,EACF,OAAOS,EAAY9J,GAErB,GAAIwJ,EAGF,OADAH,EAAU7J,WAAWuK,EAAcf,GAC5BU,EAAW1J,GAMtB,YAHgBzG,IAAZ8P,IACFA,EAAU7J,WAAWuK,EAAcf,IAE9B/K,EAIT,OAxGA+K,EAAO0B,EAAS1B,IAAS,EACrBtQ,EAASuQ,KACXM,IAAYN,EAAQM,QACpBC,EAAS,YAAaP,EACtBG,EAAUI,EAASd,EAAUgC,EAASzB,EAAQG,UAAY,EAAGJ,GAAQI,EACrEK,EAAW,aAAcR,IAAYA,EAAQQ,SAAWA,GAiG1De,EAAUH,OAASA,EACnBG,EAAUD,MAAQA,EACXC,EA+CT,SAAS5K,EAASmJ,EAAMC,EAAMC,GAC5B,IAAIM,GAAU,EACVE,GAAW,EAEf,GAAmB,mBAARV,EACT,MAAM,IAAInC,UAAUe,GAMtB,OAJIjP,EAASuQ,KACXM,EAAU,YAAaN,IAAYA,EAAQM,QAAUA,EACrDE,EAAW,aAAcR,IAAYA,EAAQQ,SAAWA,GAEnDX,EAASC,EAAMC,EAAM,CAC1B,QAAWO,EACX,QAAWP,EACX,SAAYS,IA6BhB,SAAS/Q,EAAS8B,GAChB,IAAImQ,SAAcnQ,EAClB,QAASA,IAAkB,UAARmQ,GAA4B,YAARA,GA2BzC,SAASC,EAAapQ,GACpB,QAASA,GAAyB,iBAATA,EAoB3B,SAASqQ,EAASrQ,GAChB,MAAuB,iBAATA,GACXoQ,EAAapQ,IAAUgO,EAAejO,KAAKC,IAAUqN,EA0B1D,SAAS6C,EAASlQ,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIqQ,EAASrQ,GACX,OAAOoN,EAET,GAAIlP,EAAS8B,GAAQ,CACnB,IAAIsQ,EAAgC,mBAAjBtQ,EAAMuQ,QAAwBvQ,EAAMuQ,UAAYvQ,EACnEA,EAAQ9B,EAASoS,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATtQ,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQA,EAAMwQ,QAAQlD,EAAQ,IAC9B,IAAImD,EAAWjD,EAAWkD,KAAK1Q,GAC/B,OAAQyQ,GAAYhD,EAAUiD,KAAK1Q,GAC/B0N,EAAa1N,EAAM2Q,MAAM,GAAIF,EAAW,EAAI,GAC3ClD,EAAWmD,KAAK1Q,GAASoN,GAAOpN,EAGvCtC,EAAOC,QAAUyH,I,8QCvZbwL,G,kDAAa,SAAoBC,GACnC,IAAIpC,EAAUqC,MAAM1R,UAAUwB,OAAOb,KAAK8Q,GAAK,SAAUE,EAAKC,GAC5D,IAAIC,EAASD,EAAUE,KAAKC,MAAM,uBAElC,GAAIF,EAAQ,CACV,IAAIrR,EAAMqR,EAAO,GAAGT,QAAQ,WAAW,SAAUxF,EAAGoG,GAClD,OAAOA,EAAIC,iBAGb,OAAQL,EAAUhR,OAChB,IAAK,OACH+Q,EAAInR,IAAO,EACX,MAEF,IAAK,QACHmR,EAAInR,IAAO,EACX,MAEF,UAAKb,EACHgS,EAAInR,IAAO,EACX,MAEF,QACEmR,EAAInR,GAAOoR,EAAUhR,OAI3B,OAAO+Q,IACN,IACH,OAAOtC,IAET,SAAS6C,EAAiBC,GACxB,OAAKA,GAAYA,EAAQ/I,eAAkB+I,EAAQ/I,cAAcC,YAI1D8I,EAAQ/I,cAAcC,YAHpBlL,OAKX,SAASiU,EAAmBD,GAC1B,OAAKA,GAAYA,EAAQ/I,cAIlB+I,EAAQ/I,cAHNhL,SAMX,IAAIiU,EAAuB,KACvBC,EAAyB,KAW7B,SAASC,EAAeC,GACtB,GAA6B,OAAzBH,EAA+B,CACjC,IAAIjU,EAAWgU,EAAmBI,GAElC,GAAwB,qBAAbpU,EAET,OADAiU,EAAuB,EAChBA,EAGT,IAAII,EAAOrU,EAASqU,KAChBC,EAAMtU,EAASC,cAAc,OACjCqU,EAAIC,UAAUC,IAAI,4BAClBH,EAAKI,YAAYH,GACjB,IAAIrI,EAAQqI,EAAII,wBAAwBlI,MACxC6H,EAAKM,YAAYL,GACjBL,EAAuBhI,EAGzB,OAAOgI,EA3BL,KACFlU,OAAO8J,iBAAiB,UAAU,WAC5BqK,IAA2BnU,OAAO6U,mBACpCV,EAAyBnU,OAAO6U,iBAChCX,EAAuB,SA0B7B,IAAI,EAEJ,WACE,SAASY,EAAUd,EAAS9C,GAC1B,IAAI7B,EAAQhO,KAEZA,KAAK0T,SAAW,WACd,IAAIC,EAAWjB,EAAiB1E,EAAMgF,IAEjChF,EAAM4F,iBACTD,EAASzN,sBAAsB8H,EAAM6F,SACrC7F,EAAM4F,gBAAiB,GAGpB5F,EAAM8F,iBACTH,EAASzN,sBAAsB8H,EAAM+F,SACrC/F,EAAM8F,gBAAiB,IAI3B9T,KAAK6T,QAAU,WACT7F,EAAMgG,KAAK5H,EAAE6H,gBACfjG,EAAMkG,cAAc,KAEpBlG,EAAMmG,kBAAkB,MAG1BnG,EAAM4F,gBAAiB,GAGzB5T,KAAK+T,QAAU,WACT/F,EAAMgG,KAAK3H,EAAE4H,gBACfjG,EAAMkG,cAAc,KAEpBlG,EAAMmG,kBAAkB,MAG1BnG,EAAM8F,gBAAiB,GAGzB9T,KAAKoU,aAAe,WAClBpG,EAAMkG,cAAc,KAEpBlG,EAAMkG,cAAc,MAGtBlU,KAAKqU,YAAc,SAAUC,GAC3BtG,EAAMuG,OAASD,EAAEE,QACjBxG,EAAMyG,OAASH,EAAEI,SAEb1G,EAAMgG,KAAK5H,EAAE6H,eAAiBjG,EAAMgG,KAAK5H,EAAEuI,eAC7C3G,EAAM4G,mBAAmB,MAGvB5G,EAAMgG,KAAK3H,EAAE4H,eAAiBjG,EAAMgG,KAAK3H,EAAEsI,eAC7C3G,EAAM4G,mBAAmB,MAI7B5U,KAAK6U,aAAe,WAClB7G,EAAMqG,YAAYpD,UAEdjD,EAAMgG,KAAK5H,EAAE6H,eAAiBjG,EAAMgG,KAAK5H,EAAEuI,eAC7C3G,EAAM8G,oBAAoB,MAGxB9G,EAAMgG,KAAK3H,EAAE4H,eAAiBjG,EAAMgG,KAAK3H,EAAEsI,eAC7C3G,EAAM8G,oBAAoB,KAG5B9G,EAAMuG,QAAU,EAChBvG,EAAMyG,QAAU,GAGlBzU,KAAK+U,eAAiB,WAEpB/G,EAAM+E,eAAiB/E,EAAMgH,oBAE7BhH,EAAMiH,uBAGRjV,KAAKkV,eAAiB,WACpBlH,EAAMgG,KAAK5H,EAAE+I,MAAM3I,KAAOwB,EAAMgG,KAAK5H,EAAE+I,MAAMnC,GAAGM,wBAChDtF,EAAMgG,KAAK3H,EAAE8I,MAAM3I,KAAOwB,EAAMgG,KAAK3H,EAAE8I,MAAMnC,GAAGM,wBAE3CtF,EAAMoH,eAAepH,EAAMgG,KAAK3H,EAAE8I,MAAM3I,QAC3CwB,EAAMgG,KAAK3H,EAAEgJ,UAAUrC,GAAGG,UAAUmC,OAAOtH,EAAMuH,WAAWC,SAE5DxH,EAAMgG,KAAK3H,EAAEoJ,WAAY,GAGtBzH,EAAMoH,eAAepH,EAAMgG,KAAK5H,EAAE+I,MAAM3I,QAC3CwB,EAAMgG,KAAK5H,EAAEiJ,UAAUrC,GAAGG,UAAUmC,OAAOtH,EAAMuH,WAAWC,SAE5DxH,EAAMgG,KAAK5H,EAAEqJ,WAAY,IAI7BzV,KAAK0V,eAAiB,SAAUpB,GAC9B,IAAIqB,EAAsBC,EAC1B5H,EAAMgG,KAAK5H,EAAE+I,MAAM3I,KAAOwB,EAAMgG,KAAK5H,EAAE+I,MAAMnC,GAAGM,wBAChDtF,EAAMgG,KAAK3H,EAAE8I,MAAM3I,KAAOwB,EAAMgG,KAAK3H,EAAE8I,MAAMnC,GAAGM,yBAE5CtF,EAAMgG,KAAK5H,EAAE6H,eAAiBjG,EAAMgG,KAAK5H,EAAEuI,gBAC7CgB,EAAuB3H,EAAMoH,eAAepH,EAAMgG,KAAK5H,EAAE+I,MAAM3I,QAG7DwB,EAAMgG,KAAK3H,EAAE4H,eAAiBjG,EAAMgG,KAAK3H,EAAEsI,gBAC7CiB,EAAuB5H,EAAMoH,eAAepH,EAAMgG,KAAK3H,EAAE8I,MAAM3I,QAI7DmJ,GAAwBC,KAG1BtB,EAAEuB,iBAEFvB,EAAEwB,kBAEa,cAAXxB,EAAE/C,OACAoE,IACF3H,EAAMgG,KAAK5H,EAAEiJ,UAAU7I,KAAOwB,EAAMgG,KAAK5H,EAAEiJ,UAAUrC,GAAGM,wBAEpDtF,EAAMoH,eAAepH,EAAMgG,KAAK5H,EAAEiJ,UAAU7I,MAC9CwB,EAAM+H,YAAYzB,EAAG,KAErBtG,EAAMgI,aAAa1B,EAAG,MAItBsB,IACF5H,EAAMgG,KAAK3H,EAAEgJ,UAAU7I,KAAOwB,EAAMgG,KAAK3H,EAAEgJ,UAAUrC,GAAGM,wBAEpDtF,EAAMoH,eAAepH,EAAMgG,KAAK3H,EAAEgJ,UAAU7I,MAC9CwB,EAAM+H,YAAYzB,EAAG,KAErBtG,EAAMgI,aAAa1B,EAAG,SAOhCtU,KAAKiW,KAAO,SAAU3B,GACpB,IAAI4B,EACAf,EAAQnH,EAAMgG,KAAKhG,EAAMmI,aAAahB,MACtCiB,EAAYjB,EAAM3I,KAAKwB,EAAMgG,KAAKhG,EAAMmI,aAAaE,UACrDhB,EAAYrH,EAAMgG,KAAKhG,EAAMmI,aAAad,UAC1CiB,EAActI,EAAMuI,iBAAiBvI,EAAMgG,KAAKhG,EAAMmI,aAAaK,gBACnEC,EAAW1H,SAASf,EAAM0I,SAAS1I,EAAMgG,KAAKhG,EAAMmI,aAAaE,UAAW,IAChF/B,EAAEuB,iBACFvB,EAAEwB,kBAGAI,EADwB,MAAtBlI,EAAMmI,YACM7B,EAAEqC,MAEFrC,EAAEsC,MAIlB,IAAIC,EAAUX,EAAcf,EAAM3I,KAAKwB,EAAMgG,KAAKhG,EAAMmI,aAAaW,YAAc9I,EAAMgG,KAAKhG,EAAMmI,aAAaY,WAE7GC,EAAWH,GAAWT,EAAYf,EAAUhL,MAE5C4M,EAAYD,GAAYV,EAAcG,GAEhB,MAAtBzI,EAAMmI,cACRc,EAAYjJ,EAAMkJ,OAASzD,EAAU0D,gBAAgBC,uBAAyBH,GAAab,EAAYf,EAAUhL,MAAQ4M,EACzHA,EAAYjJ,EAAMkJ,OAASzD,EAAU0D,gBAAgBE,wBAA0BJ,EAAYA,GAG7FjJ,EAAMuI,iBAAiBvI,EAAMgG,KAAKhG,EAAMmI,aAAamB,kBAAoBL,GAG3EjX,KAAKuX,UAAY,SAAUjD,GACzB,IAAIkD,EAAa5E,EAAmB5E,EAAMgF,IACtCW,EAAWjB,EAAiB1E,EAAMgF,IACtCsB,EAAEuB,iBACFvB,EAAEwB,kBAEF9H,EAAMgF,GAAGG,UAAUmC,OAAOtH,EAAMuH,WAAWkC,UAE3CD,EAAWzO,oBAAoB,YAAaiF,EAAMiI,MAAM,GACxDuB,EAAWzO,oBAAoB,UAAWiF,EAAMuJ,WAAW,GAC3DvJ,EAAM0J,qBAAuB/D,EAASvN,YAAW,WAG/CoR,EAAWzO,oBAAoB,QAASiF,EAAM2J,cAAc,GAC5DH,EAAWzO,oBAAoB,WAAYiF,EAAM2J,cAAc,GAC/D3J,EAAM0J,qBAAuB,SAIjC1X,KAAK2X,aAAe,SAAUrD,GAC5BA,EAAEuB,iBACFvB,EAAEwB,mBAGJ9V,KAAKgT,GAAKL,EACV3S,KAAK4X,kBAAoB,GACzB5X,KAAK6P,QAAUhQ,OAAOgY,OAAO,GAAIpE,EAAUqE,eAAgB,GAAIjI,GAC/D7P,KAAKuV,WAAa1V,OAAOgY,OAAO,GAAIpE,EAAUqE,eAAevC,WAAY,GAAIvV,KAAK6P,QAAQ0F,YAC1FvV,KAAKgU,KAAO,CACV5H,EAAG,CACDkL,iBAAkB,aAClBjB,SAAU,QACVG,eAAgB,cAChBuB,eAAgB,cAChBjB,WAAY,OACZkB,aAAc,YACdjB,WAAY,EACZ9C,eAAe,EACfwB,WAAW,EACXd,cAAc,EACdQ,MAAO,GACPE,UAAW,IAEbhJ,EAAG,CACDiL,iBAAkB,YAClBjB,SAAU,SACVG,eAAgB,eAChBuB,eAAgB,eAChBjB,WAAY,MACZkB,aAAc,YACdjB,WAAY,EACZ9C,eAAe,EACfwB,WAAW,EACXd,cAAc,EACdQ,MAAO,GACPE,UAAW,KAGfrV,KAAK0X,qBAAuB,KAExBjE,EAAUwE,UAAUtX,IAAIX,KAAKgT,MAIjChT,KAAKkY,YAAc,IAASlY,KAAKkY,YAAY/R,KAAKnG,MAAO,IACzDA,KAAKqU,YAAc,IAASrU,KAAKqU,YAAYlO,KAAKnG,MAAO,IACzDA,KAAKkV,eAAiB,IAASlV,KAAKkV,eAAe/O,KAAKnG,MAAOA,KAAK6P,QAAQsI,SAC5EnY,KAAK+U,eAAiB,IAAS/U,KAAK+U,eAAe5O,KAAKnG,MAAO,GAAI,CACjEmQ,SAAS,IAEXsD,EAAU0D,cAAgB,IAAQ1D,EAAU0D,eAC5CnX,KAAKD,QAcP0T,EAAU0D,cAAgB,WACxB,IAAIiB,EAAWxZ,SAASC,cAAc,OACtCuZ,EAASC,UAAY,4GACrB,IAAIC,EAAmBF,EAASG,kBAChC3Z,SAASqU,KAAKI,YAAYiF,GAC1B,IAAIE,EAAsBF,EAAiBC,kBAC3CD,EAAiBG,WAAa,EAC9B,IAAIC,EAAuBjF,EAAUkF,UAAUL,GAC3CM,EAA4BnF,EAAUkF,UAAUH,GACpDF,EAAiBG,WAAa,IAC9B,IAAII,EAAwCpF,EAAUkF,UAAUH,GAChE,MAAO,CAELnB,uBAAwBqB,EAAqBnX,OAASqX,EAA0BrX,MAAQqX,EAA0BrX,KAAOsX,EAAsCtX,OAAS,EAExK6V,uBAAwBsB,EAAqBnX,OAASqX,EAA0BrX,OAIpFkS,EAAUkF,UAAY,SAAmB3F,GACvC,IAAIxG,EAAOwG,EAAGM,wBACVkE,EAAa5E,EAAmBI,GAChCW,EAAWjB,EAAiBM,GAChC,MAAO,CACL1H,IAAKkB,EAAKlB,KAAOqI,EAASmF,aAAetB,EAAWvL,gBAAgB8M,WACpExX,KAAMiL,EAAKjL,MAAQoS,EAASqF,aAAexB,EAAWvL,gBAAgBwM,cAI1E,IAAIQ,EAASxF,EAAUjT,UA2evB,OAzeAyY,EAAOlZ,KAAO,WAEZ0T,EAAUwE,UAAUlX,IAAIf,KAAKgT,GAAIhT,MAE7B,MACFA,KAAKkZ,UACLlZ,KAAK+S,eAAiB/S,KAAKgV,oBAC3BhV,KAAKkY,cACLlY,KAAKmZ,kBAITF,EAAOC,QAAU,WACf,IAAIE,EAASpZ,KAGb,GAAIkS,MAAM1R,UAAU6H,OAAOlH,KAAKnB,KAAKgT,GAAGqG,UAAU,SAAUC,GAC1D,OAAOA,EAAMnG,UAAUoG,SAASH,EAAO7D,WAAWzV,YACjDI,OAEDF,KAAKwZ,UAAYxZ,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWzV,SAC7DE,KAAKuW,iBAAmBvW,KAAK6P,QAAQ6J,gBAAkB1Z,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWoE,gBACnG3Z,KAAK4Z,UAAY5Z,KAAK6P,QAAQgK,aAAe7Z,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWqE,WACzF5Z,KAAK8Z,SAAW9Z,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWwE,QAC5D/Z,KAAKga,OAASha,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAW0E,MAC1Dja,KAAKka,cAAgBla,KAAKma,UAAUna,KAAKwZ,UAAW,IAAMxZ,KAAKuV,WAAW6E,aAC1Epa,KAAKqa,4BAA8Bra,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAW8E,6BAC/Era,KAAKsa,qBAAuBta,KAAKgT,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAW+E,sBACxEta,KAAKgU,KAAK5H,EAAE+I,MAAMnC,GAAKhT,KAAKma,UAAUna,KAAKgT,GAAI,IAAMhT,KAAKuV,WAAWJ,MAAQ,IAAMnV,KAAKuV,WAAWgF,YACnGva,KAAKgU,KAAK3H,EAAE8I,MAAMnC,GAAKhT,KAAKma,UAAUna,KAAKgT,GAAI,IAAMhT,KAAKuV,WAAWJ,MAAQ,IAAMnV,KAAKuV,WAAWiF,cAC9F,CAELxa,KAAKwZ,UAAY5a,SAASC,cAAc,OACxCmB,KAAKuW,iBAAmB3X,SAASC,cAAc,OAC/CmB,KAAK8Z,SAAWlb,SAASC,cAAc,OACvCmB,KAAKga,OAASpb,SAASC,cAAc,OACrCmB,KAAK4Z,UAAYhb,SAASC,cAAc,OACxCmB,KAAKka,cAAgBtb,SAASC,cAAc,OAC5CmB,KAAKqa,4BAA8Bzb,SAASC,cAAc,OAC1DmB,KAAKsa,qBAAuB1b,SAASC,cAAc,OACnDmB,KAAKwZ,UAAUrG,UAAUC,IAAIpT,KAAKuV,WAAWzV,SAC7CE,KAAKuW,iBAAiBpD,UAAUC,IAAIpT,KAAKuV,WAAWoE,gBACpD3Z,KAAK8Z,SAAS3G,UAAUC,IAAIpT,KAAKuV,WAAWwE,QAC5C/Z,KAAKga,OAAO7G,UAAUC,IAAIpT,KAAKuV,WAAW0E,MAC1Cja,KAAK4Z,UAAUzG,UAAUC,IAAIpT,KAAKuV,WAAWqE,WAC7C5Z,KAAKka,cAAc/G,UAAUC,IAAIpT,KAAKuV,WAAW6E,aACjDpa,KAAKqa,4BAA4BlH,UAAUC,IAAIpT,KAAKuV,WAAW8E,6BAC/Dra,KAAKsa,qBAAqBnH,UAAUC,IAAIpT,KAAKuV,WAAW+E,sBAExD,MAAOta,KAAKgT,GAAGyH,WACbza,KAAK4Z,UAAUvG,YAAYrT,KAAKgT,GAAGyH,YAGrCza,KAAKuW,iBAAiBlD,YAAYrT,KAAK4Z,WACvC5Z,KAAK8Z,SAASzG,YAAYrT,KAAKuW,kBAC/BvW,KAAKga,OAAO3G,YAAYrT,KAAK8Z,UAC7B9Z,KAAKqa,4BAA4BhH,YAAYrT,KAAKsa,sBAClDta,KAAKwZ,UAAUnG,YAAYrT,KAAKqa,6BAChCra,KAAKwZ,UAAUnG,YAAYrT,KAAKga,QAChCha,KAAKwZ,UAAUnG,YAAYrT,KAAKka,eAChCla,KAAKgT,GAAGK,YAAYrT,KAAKwZ,WAG3B,IAAKxZ,KAAKgU,KAAK5H,EAAE+I,MAAMnC,KAAOhT,KAAKgU,KAAK3H,EAAE8I,MAAMnC,GAAI,CAClD,IAAImC,EAAQvW,SAASC,cAAc,OAC/BwW,EAAYzW,SAASC,cAAc,OACvCsW,EAAMhC,UAAUC,IAAIpT,KAAKuV,WAAWJ,OACpCE,EAAUlC,UAAUC,IAAIpT,KAAKuV,WAAWF,WACxCF,EAAM9B,YAAYgC,GAClBrV,KAAKgU,KAAK5H,EAAE+I,MAAMnC,GAAKmC,EAAMuF,WAAU,GACvC1a,KAAKgU,KAAK5H,EAAE+I,MAAMnC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWgF,YACnDva,KAAKgU,KAAK3H,EAAE8I,MAAMnC,GAAKmC,EAAMuF,WAAU,GACvC1a,KAAKgU,KAAK3H,EAAE8I,MAAMnC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWiF,UACnDxa,KAAKgT,GAAGK,YAAYrT,KAAKgU,KAAK5H,EAAE+I,MAAMnC,IACtChT,KAAKgT,GAAGK,YAAYrT,KAAKgU,KAAK3H,EAAE8I,MAAMnC,IAGxChT,KAAKgU,KAAK5H,EAAEiJ,UAAUrC,GAAKhT,KAAKgU,KAAK5H,EAAE+I,MAAMnC,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWF,WACpFrV,KAAKgU,KAAK3H,EAAEgJ,UAAUrC,GAAKhT,KAAKgU,KAAK3H,EAAE8I,MAAMnC,GAAGyG,cAAc,IAAMzZ,KAAKuV,WAAWF,WAE/ErV,KAAK6P,QAAQ8K,WAChB3a,KAAKgU,KAAK5H,EAAEiJ,UAAUrC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWC,SACvDxV,KAAKgU,KAAK3H,EAAEgJ,UAAUrC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWC,UAGzDxV,KAAKgT,GAAG4H,aAAa,iBAAkB,SAGzC3B,EAAOE,cAAgB,WACrB,IAAI0B,EAAS7a,KAET2T,EAAWjB,EAAiB1S,KAAKgT,IAEjChT,KAAK6P,QAAQ8K,UACf3a,KAAKgT,GAAGvK,iBAAiB,aAAczI,KAAKoU,cAG9C,CAAC,YAAa,QAAS,YAAYlS,SAAQ,SAAUoS,GACnDuG,EAAO7H,GAAGvK,iBAAiB6L,EAAGuG,EAAOnF,gBAAgB,MAEvD,CAAC,aAAc,WAAY,aAAaxT,SAAQ,SAAUoS,GACxDuG,EAAO7H,GAAGvK,iBAAiB6L,EAAGuG,EAAOnF,eAAgB,CACnDoF,SAAS,EACTC,SAAS,OAGb/a,KAAKgT,GAAGvK,iBAAiB,YAAazI,KAAKqU,aAC3CrU,KAAKgT,GAAGvK,iBAAiB,aAAczI,KAAK6U,cAC5C7U,KAAKuW,iBAAiB9N,iBAAiB,SAAUzI,KAAK0T,UAEtDC,EAASlL,iBAAiB,SAAUzI,KAAK+U,gBAEzC,IAAIiG,GAAwB,EACxBC,EAAiBtH,EAASvF,gBAAkB,OAChDpO,KAAKib,eAAiB,IAAIA,GAAe,WAClCD,GAELH,EAAO3C,iBAETlY,KAAKib,eAAevS,QAAQ1I,KAAKgT,IACjChT,KAAKib,eAAevS,QAAQ1I,KAAK4Z,WACjCjG,EAASzN,uBAAsB,WAC7B8U,GAAwB,KAG1Bhb,KAAKkb,iBAAmB,IAAIvH,EAASvM,iBAAiBpH,KAAKkY,aAC3DlY,KAAKkb,iBAAiBxS,QAAQ1I,KAAK4Z,UAAW,CAC5ChR,WAAW,EACXE,SAAS,EACTD,eAAe,KAInBoQ,EAAOf,YAAc,WACnB,IAAIvE,EAAWjB,EAAiB1S,KAAKgT,IACrChT,KAAK0W,SAAW/C,EAASzI,iBAAiBlL,KAAKgT,IAC/ChT,KAAKkX,MAAoC,QAA5BlX,KAAK0W,SAASyE,UAC3B,IAAIC,EAAepb,KAAKsa,qBAAqBe,cAAgB,EACzDC,EAActb,KAAKsa,qBAAqBiB,aAAe,EACvDC,EAAuBxb,KAAK4Z,UAAU2B,YACtCE,EAA8Bzb,KAAKuW,iBAAiBgF,YACpDG,EAAc1b,KAAK0W,SAASiF,UAC5BC,EAAc5b,KAAK0W,SAASmF,UAChC7b,KAAK4Z,UAAUkC,MAAMC,QAAU/b,KAAK0W,SAASsF,WAAa,IAAMhc,KAAK0W,SAASuF,aAAe,IAAMjc,KAAK0W,SAASwF,cAAgB,IAAMlc,KAAK0W,SAASyF,YACrJnc,KAAKwZ,UAAUsC,MAAMM,OAAS,IAAMpc,KAAK0W,SAASsF,WAAa,KAAOhc,KAAK0W,SAASuF,aAAe,KAAOjc,KAAK0W,SAASwF,cAAgB,KAAOlc,KAAK0W,SAASyF,YAC7J,IAAIE,EAAwBrc,KAAK4Z,UAAU0C,aACvCC,EAAuBvc,KAAK4Z,UAAU4C,YAC1Cxc,KAAKuW,iBAAiBuF,MAAMhR,OAASsQ,EAAe,OAAS,OAE7Dpb,KAAKka,cAAc4B,MAAMjR,MAAQyQ,EAAcE,EAAuB,KAAO,OAC7Exb,KAAKka,cAAc4B,MAAMhR,OAASuR,EAAwB,KAC1D,IAAII,EAA+Bzc,KAAKuW,iBAAiB8E,aACzDrb,KAAKgU,KAAK5H,EAAE6H,cAAgBsI,EAAuBf,EACnDxb,KAAKgU,KAAK3H,EAAE4H,cAAgBoI,EAAwBI,EAEpDzc,KAAKgU,KAAK5H,EAAE6H,cAAgC,WAAhByH,GAAmC1b,KAAKgU,KAAK5H,EAAE6H,cAC3EjU,KAAKgU,KAAK3H,EAAE4H,cAAgC,WAAhB2H,GAAmC5b,KAAKgU,KAAK3H,EAAE4H,cAC3EjU,KAAKgU,KAAK5H,EAAEuI,aAA6C,MAA9B3U,KAAK6P,QAAQ8E,eAAsD,IAA9B3U,KAAK6P,QAAQ8E,aAC7E3U,KAAKgU,KAAK3H,EAAEsI,aAA6C,MAA9B3U,KAAK6P,QAAQ8E,eAAsD,IAA9B3U,KAAK6P,QAAQ8E,aAC7E3U,KAAKiV,sBAEL,IAAIyH,EAAsB1c,KAAKgU,KAAK5H,EAAE6H,cAAgBjU,KAAK+S,eAAiB,EACxE4J,EAAsB3c,KAAKgU,KAAK3H,EAAE4H,cAAgBjU,KAAK+S,eAAiB,EAC5E/S,KAAKgU,KAAK5H,EAAE6H,cAAgBjU,KAAKgU,KAAK5H,EAAE6H,eAAiBsI,EAAuBd,EAA8BkB,EAC9G3c,KAAKgU,KAAK3H,EAAE4H,cAAgBjU,KAAKgU,KAAK3H,EAAE4H,eAAiBoI,EAAwBI,EAA+BC,EAChH1c,KAAKgU,KAAK5H,EAAEiJ,UAAUhL,KAAOrK,KAAK4c,iBAAiB,KACnD5c,KAAKgU,KAAK3H,EAAEgJ,UAAUhL,KAAOrK,KAAK4c,iBAAiB,KACnD5c,KAAKgU,KAAK5H,EAAEiJ,UAAUrC,GAAG8I,MAAMjR,MAAQ7K,KAAKgU,KAAK5H,EAAEiJ,UAAUhL,KAAO,KACpErK,KAAKgU,KAAK3H,EAAEgJ,UAAUrC,GAAG8I,MAAMhR,OAAS9K,KAAKgU,KAAK3H,EAAEgJ,UAAUhL,KAAO,KACrErK,KAAKmU,kBAAkB,KACvBnU,KAAKmU,kBAAkB,KACvBnU,KAAK6c,sBAAsB,KAC3B7c,KAAK6c,sBAAsB,MAO7B5D,EAAO2D,iBAAmB,SAA0B5I,GAKlD,QAJa,IAATA,IACFA,EAAO,MAGJhU,KAAKgU,KAAKA,GAAMC,cACnB,OAAO,EAGT,IAEI6I,EAFAxG,EAActW,KAAK4Z,UAAU5Z,KAAKgU,KAAKA,GAAMwC,gBAC7CJ,EAAYpW,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGhT,KAAKgU,KAAKA,GAAM+D,gBAErDgF,EAAiB3G,EAAYE,EAQjC,OANAwG,EAAgBhX,KAAKyJ,OAAOwN,EAAiB3G,GAAYpW,KAAK6P,QAAQmN,kBAElEhd,KAAK6P,QAAQoN,mBACfH,EAAgBhX,KAAK2J,IAAIqN,EAAe9c,KAAK6P,QAAQoN,mBAGhDH,GAGT7D,EAAO9E,kBAAoB,SAA2BH,GAKpD,QAJa,IAATA,IACFA,EAAO,KAGJhU,KAAKgU,KAAKA,GAAMC,cAArB,CAIA,IAAIqC,EAActW,KAAKuW,iBAAiBvW,KAAKgU,KAAKA,GAAMwC,gBACpDJ,EAAYpW,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGhT,KAAKgU,KAAKA,GAAM+D,gBACrDtB,EAAW1H,SAAS/O,KAAK0W,SAAS1W,KAAKgU,KAAKA,GAAMqC,UAAW,IAC7DhB,EAAYrV,KAAKgU,KAAKA,GAAMqB,UAC5B6H,EAAeld,KAAKuW,iBAAiBvW,KAAKgU,KAAKA,GAAMsD,kBACzD4F,EAAwB,MAATlJ,GAAgBhU,KAAKkX,OAASzD,EAAU0D,gBAAgBE,wBAA0B6F,EAAeA,EAChH,IAAIC,EAAiBD,GAAgB5G,EAAcG,GAC/C2G,MAAmBhH,EAAYf,EAAUhL,MAAQ8S,GACrDC,EAAwB,MAATpJ,GAAgBhU,KAAKkX,OAASzD,EAAU0D,gBAAgBC,uBAAyBgG,GAAgBhH,EAAYf,EAAUhL,MAAQ+S,EAC9I/H,EAAUrC,GAAG8I,MAAMuB,UAAqB,MAATrJ,EAAe,eAAiBoJ,EAAe,YAAc,kBAAoBA,EAAe,WAGjInE,EAAO4D,sBAAwB,SAA+B7I,QAC/C,IAATA,IACFA,EAAO,KAGT,IAAImB,EAAQnV,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAC9BqC,EAAYrV,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAEtChT,KAAKgU,KAAKA,GAAMC,eAAiBjU,KAAKgU,KAAKA,GAAMW,cACnDQ,EAAM2G,MAAMwB,WAAa,UACzBtd,KAAKuW,iBAAiBuF,MAAM9b,KAAKgU,KAAKA,GAAMgE,cAAgB,WAE5D7C,EAAM2G,MAAMwB,WAAa,SACzBtd,KAAKuW,iBAAiBuF,MAAM9b,KAAKgU,KAAKA,GAAMgE,cAAgB,UAI1DhY,KAAKgU,KAAKA,GAAMC,cAClBoB,EAAUyG,MAAMyB,QAAU,QAE1BlI,EAAUyG,MAAMyB,QAAU,QAI9BtE,EAAOhE,oBAAsB,WAC3BjV,KAAK8Z,SAASgC,MAAM9b,KAAKkX,MAAQ,OAAS,SAAWlX,KAAKgU,KAAK3H,EAAE4H,eAAiBjU,KAAKgU,KAAK3H,EAAEsI,aAAe,IAAM3U,KAAK+S,eAAiB,KAAO,EAChJ/S,KAAK8Z,SAASgC,MAAMvQ,OAASvL,KAAKgU,KAAK5H,EAAE6H,eAAiBjU,KAAKgU,KAAK5H,EAAEuI,aAAe,IAAM3U,KAAK+S,eAAiB,KAAO,GAO1HkG,EAAOrE,mBAAqB,SAA4BZ,QACzC,IAATA,IACFA,EAAO,KAGThU,KAAKgU,KAAKA,GAAMmB,MAAM3I,KAAOxM,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGM,wBACtDtT,KAAKgU,KAAKA,GAAMqB,UAAU7I,KAAOxM,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAAGM,wBAC9D,IAAIkK,EAA2Bxd,KAAKoV,eAAepV,KAAKgU,KAAKA,GAAMqB,UAAU7I,MAEzEgR,EACFxd,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWkI,OAE3Dzd,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAAGG,UAAUmC,OAAOtV,KAAKuV,WAAWkI,OAG5Dzd,KAAKoV,eAAepV,KAAKgU,KAAKA,GAAMmB,MAAM3I,OAC5CxM,KAAKkU,cAAcF,GACnBhU,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWkI,QAEvDzd,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGG,UAAUmC,OAAOtV,KAAKuV,WAAWkI,QAI9DxE,EAAOnE,oBAAsB,SAA6Bd,QAC3C,IAATA,IACFA,EAAO,KAGThU,KAAKgU,KAAKA,GAAMmB,MAAMnC,GAAGG,UAAUmC,OAAOtV,KAAKuV,WAAWkI,OAC1Dzd,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAAGG,UAAUmC,OAAOtV,KAAKuV,WAAWkI,QAMhExE,EAAO/E,cAAgB,SAAuBF,QAC/B,IAATA,IACFA,EAAO,KAGT,IAAIqB,EAAYrV,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAErChT,KAAKgU,KAAKA,GAAMyB,YACnBJ,EAAUlC,UAAUC,IAAIpT,KAAKuV,WAAWC,SACxCxV,KAAKgU,KAAKA,GAAMyB,WAAY,GAG1BzV,KAAK6P,QAAQ8K,UACf3a,KAAKkV,kBAWT+D,EAAOlD,YAAc,SAAqBzB,EAAGN,QAC9B,IAATA,IACFA,EAAO,KAGT,IAAIwD,EAAa5E,EAAmB5S,KAAKgT,IACrCW,EAAWjB,EAAiB1S,KAAKgT,IACjCqC,EAAYrV,KAAKgU,KAAKA,GAAMqB,UAE5Ba,EAAuB,MAATlC,EAAeM,EAAEqC,MAAQrC,EAAEsC,MAC7C5W,KAAKgU,KAAKA,GAAM+C,WAAab,EAAcb,EAAU7I,KAAKxM,KAAKgU,KAAKA,GAAM8C,YAC1E9W,KAAKmW,YAAcnC,EACnBhU,KAAKgT,GAAGG,UAAUC,IAAIpT,KAAKuV,WAAWkC,UACtCD,EAAW/O,iBAAiB,YAAazI,KAAKiW,MAAM,GACpDuB,EAAW/O,iBAAiB,UAAWzI,KAAKuX,WAAW,GAErB,OAA9BvX,KAAK0X,sBACPF,EAAW/O,iBAAiB,QAASzI,KAAK2X,cAAc,GACxDH,EAAW/O,iBAAiB,WAAYzI,KAAK2X,cAAc,KAE3DhE,EAASzC,aAAalR,KAAK0X,sBAC3B1X,KAAK0X,qBAAuB,OAQhCuB,EAAOjD,aAAe,SAAsB1B,EAAGN,GAC7C,IAAI0J,EAAS1d,KAMb,QAJa,IAATgU,IACFA,EAAO,KAGJhU,KAAK6P,QAAQ8N,aAAlB,CACA,IAAIhK,EAAWjB,EAAiB1S,KAAKgT,IACrChT,KAAKgU,KAAKA,GAAMqB,UAAU7I,KAAOxM,KAAKgU,KAAKA,GAAMqB,UAAUrC,GAAGM,wBAC9D,IAAI+B,EAAYrV,KAAKgU,KAAKA,GAAMqB,UAC5BuI,EAAkBvI,EAAU7I,KAAKxM,KAAKgU,KAAKA,GAAM8C,YACjDL,EAAW1H,SAAS/O,KAAK0W,SAAS1W,KAAKgU,KAAKA,GAAMqC,UAAW,IAC7DwH,EAAW7d,KAAKuW,iBAAiBvW,KAAKgU,KAAKA,GAAMsD,kBACjDwG,EAAa,MAAT9J,EAAehU,KAAKyU,OAASmJ,EAAkB5d,KAAKuU,OAASqJ,EACjEG,EAAMD,EAAI,GAAK,EAAI,EACnBE,GAAsB,IAATD,EAAaF,EAAWpH,EAAWoH,EAAWpH,EAE3DwH,EAAW,SAASA,IAGlB,IAAIC,EAUAC,GAZK,IAATJ,EACEF,EAAWG,IAGbH,GAAYH,EAAO7N,QAAQuO,kBAE3BV,EAAOnH,iBAAiB0H,UAAUC,EAAwB,GAAIA,EAAsBR,EAAO1J,KAAKA,GAAM8C,YAAc+G,EAAUK,IAE9HvK,EAASzN,sBAAsB+X,IAG7BJ,EAAWG,IAGbH,GAAYH,EAAO7N,QAAQuO,kBAE3BV,EAAOnH,iBAAiB0H,UAAUE,EAAyB,GAAIA,EAAuBT,EAAO1J,KAAKA,GAAM8C,YAAc+G,EAAUM,IAEhIxK,EAASzN,sBAAsB+X,KAKrCA,MAOFhF,EAAOoF,kBAAoB,WACzB,OAAOre,KAAK4Z,WAOdX,EAAOqF,iBAAmB,WACxB,OAAOte,KAAKuW,kBAGd0C,EAAOjE,kBAAoB,WAEzB,IAEE,MAA+E,SAA3E9J,iBAAiBlL,KAAKuW,iBAAkB,uBAAuBgH,SAAsB,mBAAoB3e,SAASqN,gBAAgB6P,OAAS,uBAAwBld,SAASqN,gBAAgB6P,MACvL,EAEA/I,EAAe/S,KAAKgT,IAE7B,MAAOsB,GACP,OAAOvB,EAAe/S,KAAKgT,MAI/BiG,EAAOsF,gBAAkB,WACvB,IAAIC,EAASxe,KAET2T,EAAWjB,EAAiB1S,KAAKgT,IAEjChT,KAAK6P,QAAQ8K,UACf3a,KAAKgT,GAAGjK,oBAAoB,aAAc/I,KAAKoU,cAGjD,CAAC,YAAa,QAAS,YAAYlS,SAAQ,SAAUoS,GACnDkK,EAAOxL,GAAGjK,oBAAoBuL,EAAGkK,EAAO9I,gBAAgB,MAE1D,CAAC,aAAc,WAAY,aAAaxT,SAAQ,SAAUoS,GACxDkK,EAAOxL,GAAGjK,oBAAoBuL,EAAGkK,EAAO9I,eAAgB,CACtDoF,SAAS,EACTC,SAAS,OAGb/a,KAAKgT,GAAGjK,oBAAoB,YAAa/I,KAAKqU,aAC9CrU,KAAKgT,GAAGjK,oBAAoB,aAAc/I,KAAK6U,cAE3C7U,KAAKuW,kBACPvW,KAAKuW,iBAAiBxN,oBAAoB,SAAU/I,KAAK0T,UAG3DC,EAAS5K,oBAAoB,SAAU/I,KAAK+U,gBAExC/U,KAAKkb,kBACPlb,KAAKkb,iBAAiBlS,aAGpBhJ,KAAKib,gBACPjb,KAAKib,eAAejS,aAItBhJ,KAAKkY,YAAYjH,SACjBjR,KAAKqU,YAAYpD,SACjBjR,KAAKkV,eAAejE,SACpBjR,KAAK+U,eAAe9D,UAOtBgI,EAAOwF,QAAU,WACfze,KAAKue,kBACL9K,EAAUwE,UAAU3S,OAAOtF,KAAKgT,KAOlCiG,EAAO7D,eAAiB,SAAwBzK,GAC9C,OAAO3K,KAAKuU,QAAU5J,EAAKpJ,MAAQvB,KAAKuU,QAAU5J,EAAKpJ,KAAOoJ,EAAKE,OAAS7K,KAAKyU,QAAU9J,EAAKW,KAAOtL,KAAKyU,QAAU9J,EAAKW,IAAMX,EAAKG,QAOxImO,EAAOkB,UAAY,SAAmBnH,EAAI0L,GACxC,IAAIC,EAAU3L,EAAG2L,SAAW3L,EAAG4L,uBAAyB5L,EAAG6L,oBAAsB7L,EAAG8L,kBACpF,OAAO5M,MAAM1R,UAAU6H,OAAOlH,KAAK6R,EAAGqG,UAAU,SAAUC,GACxD,OAAOqF,EAAQxd,KAAKmY,EAAOoF,MAC1B,IAGEjL,EAzwBT,GA4wBA,EAAUqE,eAAiB,CACzB6C,UAAU,EACVhG,cAAc,EACdgJ,cAAc,EACdS,kBAAmB,GACnB7I,WAAY,CACVqE,UAAW,oBACXD,eAAgB,4BAChBI,OAAQ,mBACRE,KAAM,iBACNna,QAAS,oBACTsa,YAAa,wBACb/E,UAAW,sBACXF,MAAO,kBACPkF,4BAA6B,yCAC7BC,qBAAsB,iCACtB9E,QAAS,oBACT+E,WAAY,uBACZC,SAAU,qBACViD,MAAO,kBACPhG,SAAU,sBAEZuF,iBAAkB,GAClBC,iBAAkB,EAClB9E,QAAS,KAEX,EAAUF,UAAY,IAAI9J,QAE1B,EAAU4Q,sBAAwB,WAChCngB,SAASmK,oBAAoB,mBAAoB/I,KAAK+e,uBACtDpgB,OAAOoK,oBAAoB,OAAQ/I,KAAK+e,uBACxC7M,MAAM1R,UAAU0B,QAAQf,KAAKvC,SAASogB,iBAAiB,qBAAqB,SAAUhM,GAC1C,SAAtCA,EAAGiM,aAAa,mBAAiC,EAAUhH,UAAUtX,IAAIqS,IAAK,IAAI,EAAUA,EAAIhB,EAAWgB,EAAGrK,iBAItH,EAAUZ,eAAiB,WACzB/H,KAAKkf,eAAelW,cAGtB,EAAUmW,YAAc,WACtBnf,KAAK+e,sBAAwB/e,KAAK+e,sBAAsB5Y,KAAKnG,MAE7B,qBAArBoH,mBAETpH,KAAKkf,eAAiB,IAAI9X,iBAAiB,EAAUgY,iBACrDpf,KAAKkf,eAAexW,QAAQ9J,SAAU,CACpCgK,WAAW,EACXE,SAAS,KAMe,aAAxBlK,SAASygB,YAAqD,YAAxBzgB,SAASygB,aAA6BzgB,SAASqN,gBAAgBqT,SAEvG3gB,OAAOyH,WAAWpG,KAAK+e,wBAEvBngB,SAAS6J,iBAAiB,mBAAoBzI,KAAK+e,uBACnDpgB,OAAO8J,iBAAiB,OAAQzI,KAAK+e,yBAIzC,EAAUK,gBAAkB,SAAUG,GACpCA,EAAUrd,SAAQ,SAAUsd,GAC1BtN,MAAM1R,UAAU0B,QAAQf,KAAKqe,EAASC,YAAY,SAAUC,GAC/B,IAAvBA,EAAUC,WACRD,EAAUE,aAAa,mBACxB,EAAU3H,UAAUtX,IAAI+e,IAAc,IAAI,EAAUA,EAAW1N,EAAW0N,EAAU/W,aAErFuJ,MAAM1R,UAAU0B,QAAQf,KAAKue,EAAUV,iBAAiB,qBAAqB,SAAUhM,GAC3C,SAAtCA,EAAGiM,aAAa,mBAAiC,EAAUhH,UAAUtX,IAAIqS,IAAK,IAAI,EAAUA,EAAIhB,EAAWgB,EAAGrK,oBAK1HuJ,MAAM1R,UAAU0B,QAAQf,KAAKqe,EAASK,cAAc,SAAUC,GAC/B,IAAzBA,EAAYH,WACVG,EAAYF,aAAa,2BAC3B,EAAU3H,UAAUtX,IAAImf,IAAgB,EAAU7H,UAAUpX,IAAIif,GAAarB,UAE7EvM,MAAM1R,UAAU0B,QAAQf,KAAK2e,EAAYd,iBAAiB,4BAA4B,SAAUhM,GAC9F,EAAUiF,UAAUtX,IAAIqS,IAAO,EAAUiF,UAAUpX,IAAImS,GAAIyL,qBAQvE,EAAUzM,WAAaA,EAMnB,KACF,EAAUmN,cAGG,QCn9BXY,EAAS,CACXzN,KAAM,gBACN0N,QAAS,WACP,IAAInQ,EAAU,EAAUmC,WAAWhS,KAAKigB,MAAMtN,QAAQhK,YACtD3I,KAAKyT,UAAY,IAAI,EAAUzT,KAAKigB,MAAMtN,QAAS9C,IAErDqQ,SAAU,CACRC,cAAe,WACb,OAAOngB,KAAKigB,MAAME,eAEpBC,eAAgB,WACd,OAAOpgB,KAAKigB,MAAMG,kBAKpBC,EAAiBN,EAGjBO,EAAiB,WACnB,IAAIC,EAAMvgB,KAENwgB,EAAKD,EAAIE,eAETC,EAAKH,EAAII,MAAMD,IAAMF,EAEzB,OAAOE,EAAG,MAAO,CACfE,IAAK,WACJ,CAACF,EAAG,MAAO,CACZG,YAAa,qBACZ,CAACN,EAAIO,GAAG,GAAIP,EAAIQ,GAAG,KAAML,EAAG,MAAO,CACpCG,YAAa,kBACZ,CAACH,EAAG,MAAO,CACZG,YAAa,oBACZ,CAACH,EAAG,MAAO,CACZE,IAAK,gBACLC,YAAa,6BACZ,CAACH,EAAG,MAAO,CACZE,IAAK,iBACLC,YAAa,qBACZ,CAACN,EAAIS,GAAG,YAAa,SAAUT,EAAIQ,GAAG,KAAML,EAAG,MAAO,CACvDG,YAAa,4BACTN,EAAIQ,GAAG,KAAMR,EAAIO,GAAG,GAAIP,EAAIQ,GAAG,KAAMR,EAAIO,GAAG,MAGhDG,EAA0B,CAAC,WAC7B,IAAIV,EAAMvgB,KAENwgB,EAAKD,EAAIE,eAETC,EAAKH,EAAII,MAAMD,IAAMF,EAEzB,OAAOE,EAAG,MAAO,CACfG,YAAa,0CACZ,CAACH,EAAG,MAAO,CACZG,YAAa,sCAEd,WACD,IAAIN,EAAMvgB,KAENwgB,EAAKD,EAAIE,eAETC,EAAKH,EAAII,MAAMD,IAAMF,EAEzB,OAAOE,EAAG,MAAO,CACfG,YAAa,wCACZ,CAACH,EAAG,MAAO,CACZG,YAAa,2BAEd,WACD,IAAIN,EAAMvgB,KAENwgB,EAAKD,EAAIE,eAETC,EAAKH,EAAII,MAAMD,IAAMF,EAEzB,OAAOE,EAAG,MAAO,CACfG,YAAa,sCACZ,CAACH,EAAG,MAAO,CACZG,YAAa,4BAGjBP,EAAeY,eAAgB,EAG/B,IAAIC,OAAwBhhB,EAGxBihB,OAAmBjhB,EAGnBkhB,GAAiC,EAGrC,SAASC,EAAkBC,EAAUzF,EAAOiE,EAAQyB,EAAOC,EAAYC,EAAkBC,EAAgBC,GACvG,IAAIC,GAA+B,oBAAX9B,EAAwBA,EAAOlQ,QAAUkQ,IAAW,GAa5E,OAXA8B,EAAUC,OAAS,sEAEdD,EAAUE,SACbF,EAAUE,OAASR,EAASQ,OAC5BF,EAAUG,gBAAkBT,EAASS,gBACrCH,EAAUI,WAAY,EAClBR,IAAYI,EAAUJ,YAAa,IAGzCI,EAAUK,SAAWV,EAEdK,EAOT,IAAIM,EAAYb,EAAkB,CAChCS,OAAQzB,EACR0B,gBAAiBf,GAChBE,EAAuBd,EAAgBe,EAAkBC,GAE7C,U,kCCpIf,IAAIniB,EAAc,EAAQ,QACtBkjB,EAAc,EAAQ,QAAkCA,YACxDC,EAAW,EAAQ,QACnB/iB,EAAW,EAAQ,QACnBgD,EAAa,EAAQ,QACrBD,EAAU,EAAQ,QAClBigB,EAAuB,EAAQ,QAC/BC,EAAO,EAAQ,QACfC,EAAsB,EAAQ,QAE9BC,EAAmBD,EAAoBzhB,IACvC2hB,EAAyBF,EAAoBG,UAC7CC,EAAON,EAAqBM,KAC5BC,EAAYP,EAAqBO,UACjCC,EAAK,EAGLC,EAAsB,SAAUC,GAClC,OAAOA,EAAM9hB,SAAW8hB,EAAM9hB,OAAS,IAAI+hB,IAGzCA,EAAsB,WACxBjjB,KAAKyD,QAAU,IAGbyf,EAAqB,SAAUF,EAAOhiB,GACxC,OAAO4hB,EAAKI,EAAMvf,SAAS,SAAU0f,GACnC,OAAOA,EAAG,KAAOniB,MAIrBiiB,EAAoBziB,UAAY,CAC9BK,IAAK,SAAUG,GACb,IAAI+D,EAAQme,EAAmBljB,KAAMgB,GACrC,GAAI+D,EAAO,OAAOA,EAAM,IAE1BpE,IAAK,SAAUK,GACb,QAASkiB,EAAmBljB,KAAMgB,IAEpCD,IAAK,SAAUC,EAAKI,GAClB,IAAI2D,EAAQme,EAAmBljB,KAAMgB,GACjC+D,EAAOA,EAAM,GAAK3D,EACjBpB,KAAKyD,QAAQ4B,KAAK,CAACrE,EAAKI,KAE/B,OAAU,SAAUJ,GAClB,IAAIkD,EAAQ2e,EAAU7iB,KAAKyD,SAAS,SAAU0f,GAC5C,OAAOA,EAAG,KAAOniB,KAGnB,OADKkD,GAAOlE,KAAKyD,QAAQ8B,OAAOrB,EAAO,MAC7BA,IAIdpF,EAAOC,QAAU,CACfsB,eAAgB,SAAUP,EAAS6C,EAAkBE,EAAQG,GAC3D,IAAIogB,EAAItjB,GAAQ,SAAUsE,EAAML,GAC9BzB,EAAW8B,EAAMgf,EAAGzgB,GACpB8f,EAAiBre,EAAM,CACrBmN,KAAM5O,EACNmgB,GAAIA,IACJ5hB,YAAQf,SAEMA,GAAZ4D,GAAuB1B,EAAQ0B,EAAUK,EAAKpB,GAAQ,CAAEoB,KAAMA,EAAMC,WAAYxB,OAGlFwgB,EAAmBX,EAAuB/f,GAE1C2gB,EAAS,SAAUlf,EAAMpD,EAAKI,GAChC,IAAIH,EAAQoiB,EAAiBjf,GACzBmf,EAAOnB,EAAYC,EAASrhB,IAAM,GAGtC,OAFa,IAATuiB,EAAeR,EAAoB9hB,GAAOF,IAAIC,EAAKI,GAClDmiB,EAAKtiB,EAAM6hB,IAAM1hB,EACfgD,GA6CT,OA1CAlF,EAAYkkB,EAAE5iB,UAAW,CAGvB,OAAU,SAAUQ,GAClB,IAAIC,EAAQoiB,EAAiBrjB,MAC7B,IAAKV,EAAS0B,GAAM,OAAO,EAC3B,IAAIuiB,EAAOnB,EAAYphB,GACvB,OAAa,IAATuiB,EAAsBR,EAAoB9hB,GAAO,UAAUD,GACxDuiB,GAAQhB,EAAKgB,EAAMtiB,EAAM6hB,YAAcS,EAAKtiB,EAAM6hB,KAI3DniB,IAAK,SAAaK,GAChB,IAAIC,EAAQoiB,EAAiBrjB,MAC7B,IAAKV,EAAS0B,GAAM,OAAO,EAC3B,IAAIuiB,EAAOnB,EAAYphB,GACvB,OAAa,IAATuiB,EAAsBR,EAAoB9hB,GAAON,IAAIK,GAClDuiB,GAAQhB,EAAKgB,EAAMtiB,EAAM6hB,OAIpC5jB,EAAYkkB,EAAE5iB,UAAWqC,EAAS,CAEhChC,IAAK,SAAaG,GAChB,IAAIC,EAAQoiB,EAAiBrjB,MAC7B,GAAIV,EAAS0B,GAAM,CACjB,IAAIuiB,EAAOnB,EAAYphB,GACvB,OAAa,IAATuiB,EAAsBR,EAAoB9hB,GAAOJ,IAAIG,GAClDuiB,EAAOA,EAAKtiB,EAAM6hB,SAAM3iB,IAInCY,IAAK,SAAaC,EAAKI,GACrB,OAAOkiB,EAAOtjB,KAAMgB,EAAKI,KAEzB,CAEFgS,IAAK,SAAahS,GAChB,OAAOkiB,EAAOtjB,KAAMoB,GAAO,MAIxBgiB,K,sBCtHX,YAUA,IAAI7U,EAAkB,sBAGlBiV,EAAiB,4BAGjBC,EAAU,oBACVC,EAAS,6BAMTC,EAAe,sBAGfC,EAAe,8BAGf5U,EAA8B,iBAAV/P,GAAsBA,GAAUA,EAAOY,SAAWA,QAAUZ,EAGhFgQ,EAA0B,iBAARlJ,MAAoBA,MAAQA,KAAKlG,SAAWA,QAAUkG,KAGxEmJ,EAAOF,GAAcC,GAAYjJ,SAAS,cAATA,GAUrC,SAAS6d,EAASC,EAAQ9iB,GACxB,OAAiB,MAAV8iB,OAAiB3jB,EAAY2jB,EAAO9iB,GAU7C,SAAS+iB,EAAa3iB,GAGpB,IAAIyD,GAAS,EACb,GAAa,MAATzD,GAA0C,mBAAlBA,EAAMiO,SAChC,IACExK,KAAYzD,EAAQ,IACpB,MAAOkT,IAEX,OAAOzP,EAIT,IAAImf,EAAa9R,MAAM1R,UACnByjB,EAAYje,SAASxF,UACrB2O,EAActP,OAAOW,UAGrB0jB,EAAahV,EAAK,sBAGlBiV,EAAc,WAChB,IAAIC,EAAM,SAASC,KAAKH,GAAcA,EAAW1a,MAAQ0a,EAAW1a,KAAK8a,UAAY,IACrF,OAAOF,EAAO,iBAAmBA,EAAO,GAFzB,GAMbG,EAAeN,EAAU5U,SAGzBmV,EAAiBrV,EAAYqV,eAO7BpV,EAAiBD,EAAYE,SAG7BoV,EAAaC,OAAO,IACtBH,EAAapjB,KAAKqjB,GAAgB5S,QAAQ+R,EAAc,QACvD/R,QAAQ,yDAA0D,SAAW,KAI5ErM,EAASye,EAAWze,OAGpBb,EAAMigB,EAAUzV,EAAM,OACtB0V,EAAeD,EAAU9kB,OAAQ,UASrC,SAASglB,EAAKphB,GACZ,IAAIS,GAAS,EACThE,EAASuD,EAAUA,EAAQvD,OAAS,EAExCF,KAAKuE,QACL,QAASL,EAAQhE,EAAQ,CACvB,IAAI6E,EAAQtB,EAAQS,GACpBlE,KAAKe,IAAIgE,EAAM,GAAIA,EAAM,KAW7B,SAAS+f,IACP9kB,KAAK+kB,SAAWH,EAAeA,EAAa,MAAQ,GAatD,SAASI,EAAWhkB,GAClB,OAAOhB,KAAKW,IAAIK,WAAehB,KAAK+kB,SAAS/jB,GAY/C,SAASikB,EAAQjkB,GACf,IAAIuiB,EAAOvjB,KAAK+kB,SAChB,GAAIH,EAAc,CAChB,IAAI/f,EAAS0e,EAAKviB,GAClB,OAAO6D,IAAW2e,OAAiBrjB,EAAY0E,EAEjD,OAAO2f,EAAerjB,KAAKoiB,EAAMviB,GAAOuiB,EAAKviB,QAAOb,EAYtD,SAAS+kB,EAAQlkB,GACf,IAAIuiB,EAAOvjB,KAAK+kB,SAChB,OAAOH,OAA6BzkB,IAAdojB,EAAKviB,GAAqBwjB,EAAerjB,KAAKoiB,EAAMviB,GAa5E,SAASmkB,EAAQnkB,EAAKI,GACpB,IAAImiB,EAAOvjB,KAAK+kB,SAEhB,OADAxB,EAAKviB,GAAQ4jB,QAA0BzkB,IAAViB,EAAuBoiB,EAAiBpiB,EAC9DpB,KAiBT,SAASolB,EAAU3hB,GACjB,IAAIS,GAAS,EACThE,EAASuD,EAAUA,EAAQvD,OAAS,EAExCF,KAAKuE,QACL,QAASL,EAAQhE,EAAQ,CACvB,IAAI6E,EAAQtB,EAAQS,GACpBlE,KAAKe,IAAIgE,EAAM,GAAIA,EAAM,KAW7B,SAASsgB,IACPrlB,KAAK+kB,SAAW,GAYlB,SAASO,EAAgBtkB,GACvB,IAAIuiB,EAAOvjB,KAAK+kB,SACZ7gB,EAAQqhB,EAAahC,EAAMviB,GAE/B,GAAIkD,EAAQ,EACV,OAAO,EAET,IAAIshB,EAAYjC,EAAKrjB,OAAS,EAM9B,OALIgE,GAASshB,EACXjC,EAAKkC,MAELlgB,EAAOpE,KAAKoiB,EAAMrf,EAAO,IAEpB,EAYT,SAASwhB,EAAa1kB,GACpB,IAAIuiB,EAAOvjB,KAAK+kB,SACZ7gB,EAAQqhB,EAAahC,EAAMviB,GAE/B,OAAOkD,EAAQ,OAAI/D,EAAYojB,EAAKrf,GAAO,GAY7C,SAASyhB,EAAa3kB,GACpB,OAAOukB,EAAavlB,KAAK+kB,SAAU/jB,IAAQ,EAa7C,SAAS4kB,EAAa5kB,EAAKI,GACzB,IAAImiB,EAAOvjB,KAAK+kB,SACZ7gB,EAAQqhB,EAAahC,EAAMviB,GAO/B,OALIkD,EAAQ,EACVqf,EAAKle,KAAK,CAACrE,EAAKI,IAEhBmiB,EAAKrf,GAAO,GAAK9C,EAEZpB,KAiBT,SAAS6lB,EAASpiB,GAChB,IAAIS,GAAS,EACThE,EAASuD,EAAUA,EAAQvD,OAAS,EAExCF,KAAKuE,QACL,QAASL,EAAQhE,EAAQ,CACvB,IAAI6E,EAAQtB,EAAQS,GACpBlE,KAAKe,IAAIgE,EAAM,GAAIA,EAAM,KAW7B,SAAS+gB,IACP9lB,KAAK+kB,SAAW,CACd,KAAQ,IAAIF,EACZ,IAAO,IAAKngB,GAAO0gB,GACnB,OAAU,IAAIP,GAalB,SAASkB,EAAe/kB,GACtB,OAAOglB,EAAWhmB,KAAMgB,GAAK,UAAUA,GAYzC,SAASilB,EAAYjlB,GACnB,OAAOglB,EAAWhmB,KAAMgB,GAAKH,IAAIG,GAYnC,SAASklB,EAAYllB,GACnB,OAAOglB,EAAWhmB,KAAMgB,GAAKL,IAAIK,GAanC,SAASmlB,EAAYnlB,EAAKI,GAExB,OADA4kB,EAAWhmB,KAAMgB,GAAKD,IAAIC,EAAKI,GACxBpB,KAkBT,SAASulB,EAAaa,EAAOplB,GAC3B,IAAId,EAASkmB,EAAMlmB,OACnB,MAAOA,IACL,GAAImmB,EAAGD,EAAMlmB,GAAQ,GAAIc,GACvB,OAAOd,EAGX,OAAQ,EAWV,SAASomB,EAAallB,GACpB,IAAK9B,EAAS8B,IAAUmlB,EAASnlB,GAC/B,OAAO,EAET,IAAIolB,EAAWC,EAAWrlB,IAAU2iB,EAAa3iB,GAAUqjB,EAAab,EACxE,OAAO4C,EAAQ1U,KAAK4U,EAAStlB,IAW/B,SAAS4kB,EAAW9X,EAAKlN,GACvB,IAAIuiB,EAAOrV,EAAI6W,SACf,OAAO4B,EAAU3lB,GACbuiB,EAAmB,iBAAPviB,EAAkB,SAAW,QACzCuiB,EAAKrV,IAWX,SAASyW,EAAUb,EAAQ9iB,GACzB,IAAII,EAAQyiB,EAASC,EAAQ9iB,GAC7B,OAAOslB,EAAallB,GAASA,OAAQjB,EAUvC,SAASwmB,EAAUvlB,GACjB,IAAImQ,SAAcnQ,EAClB,MAAgB,UAARmQ,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVnQ,EACU,OAAVA,EAUP,SAASmlB,EAAS5W,GAChB,QAASwU,GAAeA,KAAcxU,EAUxC,SAAS+W,EAAS/W,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO4U,EAAapjB,KAAKwO,GACzB,MAAO2E,IACT,IACE,OAAQ3E,EAAO,GACf,MAAO2E,KAEX,MAAO,GA+CT,SAASsS,EAAQjX,EAAMkX,GACrB,GAAmB,mBAARlX,GAAuBkX,GAA+B,mBAAZA,EACnD,MAAM,IAAIrZ,UAAUe,GAEtB,IAAIuY,EAAW,WACb,IAAItW,EAAOvQ,UACPe,EAAM6lB,EAAWA,EAASvY,MAAMtO,KAAMwQ,GAAQA,EAAK,GACnDuW,EAAQD,EAASC,MAErB,GAAIA,EAAMpmB,IAAIK,GACZ,OAAO+lB,EAAMlmB,IAAIG,GAEnB,IAAI6D,EAAS8K,EAAKrB,MAAMtO,KAAMwQ,GAE9B,OADAsW,EAASC,MAAQA,EAAMhmB,IAAIC,EAAK6D,GACzBA,GAGT,OADAiiB,EAASC,MAAQ,IAAKH,EAAQI,OAASnB,GAChCiB,EAsCT,SAAST,EAAGjlB,EAAOsQ,GACjB,OAAOtQ,IAAUsQ,GAAUtQ,IAAUA,GAASsQ,IAAUA,EAoB1D,SAAS+U,EAAWrlB,GAGlB,IAAI6lB,EAAM3nB,EAAS8B,GAASgO,EAAejO,KAAKC,GAAS,GACzD,OAAO6lB,GAAOxD,GAAWwD,GAAOvD,EA4BlC,SAASpkB,EAAS8B,GAChB,IAAImQ,SAAcnQ,EAClB,QAASA,IAAkB,UAARmQ,GAA4B,YAARA,GAxdzCsT,EAAKrkB,UAAU+D,MAAQugB,EACvBD,EAAKrkB,UAAU,UAAYwkB,EAC3BH,EAAKrkB,UAAUK,IAAMokB,EACrBJ,EAAKrkB,UAAUG,IAAMukB,EACrBL,EAAKrkB,UAAUO,IAAMokB,EA4GrBC,EAAU5kB,UAAU+D,MAAQ8gB,EAC5BD,EAAU5kB,UAAU,UAAY8kB,EAChCF,EAAU5kB,UAAUK,IAAM6kB,EAC1BN,EAAU5kB,UAAUG,IAAMglB,EAC1BP,EAAU5kB,UAAUO,IAAM6kB,EA0F1BC,EAASrlB,UAAU+D,MAAQuhB,EAC3BD,EAASrlB,UAAU,UAAYulB,EAC/BF,EAASrlB,UAAUK,IAAMolB,EACzBJ,EAASrlB,UAAUG,IAAMulB,EACzBL,EAASrlB,UAAUO,IAAMolB,EA6KzBS,EAAQI,MAAQnB,EA4FhB/mB,EAAOC,QAAU6nB,I,2CCnqBjB,IAAIrkB,EAAQ,EAAQ,QAEpBzD,EAAOC,SAAWwD,GAAM,WAEtB,OAAO1C,OAAOD,aAAaC,OAAOqnB,kBAAkB,S,qBCJtD,IAAIjoB,EAAS,EAAQ,QACjBkoB,EAAO,EAAQ,QAA4BA,KAC3CC,EAAc,EAAQ,QAEtBC,EAAYpoB,EAAO8P,SACnBuY,EAAM,cACNC,EAA2C,IAAlCF,EAAUD,EAAc,OAAmD,KAApCC,EAAUD,EAAc,QAI5EtoB,EAAOC,QAAUwoB,EAAS,SAAkBC,EAAQC,GAClD,IAAIC,EAAIP,EAAKQ,OAAOH,IACpB,OAAOH,EAAUK,EAAID,IAAU,IAAOH,EAAIxV,KAAK4V,GAAK,GAAK,MACvDL,G,qBCbJ,IAAIO,EAAY,EAAQ,QACpBC,EAAW,EAAQ,QACnBC,EAAgB,EAAQ,QACxBC,EAAW,EAAQ,QAGnBC,EAAe,SAAUC,GAC3B,OAAO,SAAU7jB,EAAMnC,EAAYimB,EAAiBC,GAClDP,EAAU3lB,GACV,IAAImmB,EAAIP,EAASzjB,GACb2B,EAAO+hB,EAAcM,GACrBloB,EAAS6nB,EAASK,EAAEloB,QACpBgE,EAAQ+jB,EAAW/nB,EAAS,EAAI,EAChCmoB,EAAIJ,GAAY,EAAI,EACxB,GAAIC,EAAkB,EAAG,MAAO,EAAM,CACpC,GAAIhkB,KAAS6B,EAAM,CACjBoiB,EAAOpiB,EAAK7B,GACZA,GAASmkB,EACT,MAGF,GADAnkB,GAASmkB,EACLJ,EAAW/jB,EAAQ,EAAIhE,GAAUgE,EACnC,MAAMsJ,UAAU,+CAGpB,KAAMya,EAAW/jB,GAAS,EAAIhE,EAASgE,EAAOA,GAASmkB,EAAOnkB,KAAS6B,IACrEoiB,EAAOlmB,EAAWkmB,EAAMpiB,EAAK7B,GAAQA,EAAOkkB,IAE9C,OAAOD,IAIXrpB,EAAOC,QAAU,CAGfwC,KAAMymB,GAAa,GAGnB5c,MAAO4c,GAAa,K,qBCtCtB,IAAI3mB,EAAI,EAAQ,QACZinB,EAAyB,EAAQ,QAIrCjnB,EAAE,CAAEpC,QAAQ,EAAM8C,OAAQgN,UAAYuZ,GAA0B,CAC9DvZ,SAAUuZ,K,qBCNZ,IAAIC,EAAa,EAAQ,QACrBjpB,EAAW,EAAQ,QACnBqB,EAAM,EAAQ,QACduE,EAAiB,EAAQ,QAAuCsjB,EAChEpE,EAAM,EAAQ,QACdqE,EAAW,EAAQ,QAEnBC,EAAWtE,EAAI,QACftB,EAAK,EAGLljB,EAAeC,OAAOD,cAAgB,WACxC,OAAO,GAGL+oB,EAAc,SAAUxF,GAC1Bje,EAAeie,EAAIuF,EAAU,CAAEtnB,MAAO,CACpCwnB,SAAU,OAAQ9F,EAClB+F,SAAU,OAIVC,EAAU,SAAU3F,EAAI1W,GAE1B,IAAKnN,EAAS6jB,GAAK,MAAoB,iBAANA,EAAiBA,GAAmB,iBAANA,EAAiB,IAAM,KAAOA,EAC7F,IAAKxiB,EAAIwiB,EAAIuF,GAAW,CAEtB,IAAK9oB,EAAaujB,GAAK,MAAO,IAE9B,IAAK1W,EAAQ,MAAO,IAEpBkc,EAAYxF,GAEZ,OAAOA,EAAGuF,GAAUE,UAGpBxG,EAAc,SAAUe,EAAI1W,GAC9B,IAAK9L,EAAIwiB,EAAIuF,GAAW,CAEtB,IAAK9oB,EAAaujB,GAAK,OAAO,EAE9B,IAAK1W,EAAQ,OAAO,EAEpBkc,EAAYxF,GAEZ,OAAOA,EAAGuF,GAAUG,UAIpBE,EAAW,SAAU5F,GAEvB,OADIsF,GAAYO,EAAK1oB,UAAYV,EAAaujB,KAAQxiB,EAAIwiB,EAAIuF,IAAWC,EAAYxF,GAC9EA,GAGL6F,EAAOlqB,EAAOC,QAAU,CAC1BuB,UAAU,EACVwoB,QAASA,EACT1G,YAAaA,EACb2G,SAAUA,GAGZR,EAAWG,IAAY,G,sBC7DvB,YAUA,IAAIna,EAAkB,sBAGlBC,EAAM,IAGNC,EAAY,kBAGZC,EAAS,aAGTC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAeC,SAGfC,EAA8B,iBAAV/P,GAAsBA,GAAUA,EAAOY,SAAWA,QAAUZ,EAGhFgQ,EAA0B,iBAARlJ,MAAoBA,MAAQA,KAAKlG,SAAWA,QAAUkG,KAGxEmJ,EAAOF,GAAcC,GAAYjJ,SAAS,cAATA,GAGjCmJ,EAActP,OAAOW,UAOrB4O,EAAiBD,EAAYE,SAG7BC,EAAYxJ,KAAKyJ,IACjBC,EAAY1J,KAAK2J,IAkBjBnJ,EAAM,WACR,OAAO4I,EAAK7I,KAAKC,OAyDnB,SAASoJ,EAASC,EAAMC,EAAMC,GAC5B,IAAIC,EACAC,EACAC,EACAnL,EACAoL,EACArJ,EACAsJ,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARV,EACT,MAAM,IAAInC,UAAUe,GAUtB,SAAS+B,EAAWC,GAClB,IAAIC,EAAOV,EACPW,EAAUV,EAKd,OAHAD,EAAWC,OAAW5P,EACtB+P,EAAiBK,EACjB1L,EAAS8K,EAAKrB,MAAMmC,EAASD,GACtB3L,EAGT,SAAS6L,EAAYH,GAMnB,OAJAL,EAAiBK,EAEjBN,EAAU7J,WAAWuK,EAAcf,GAE5BO,EAAUG,EAAWC,GAAQ1L,EAGtC,SAAS+L,EAAcL,GACrB,IAAIM,EAAoBN,EAAO3J,EAC3BkK,EAAsBP,EAAOL,EAC7BrL,EAAS+K,EAAOiB,EAEpB,OAAOT,EAASZ,EAAU3K,EAAQmL,EAAUc,GAAuBjM,EAGrE,SAASkM,EAAaR,GACpB,IAAIM,EAAoBN,EAAO3J,EAC3BkK,EAAsBP,EAAOL,EAKjC,YAAyB/P,IAAjByG,GAA+BiK,GAAqBjB,GACzDiB,EAAoB,GAAOT,GAAUU,GAAuBd,EAGjE,SAASW,IACP,IAAIJ,EAAOjK,IACX,GAAIyK,EAAaR,GACf,OAAOS,EAAaT,GAGtBN,EAAU7J,WAAWuK,EAAcC,EAAcL,IAGnD,SAASS,EAAaT,GAKpB,OAJAN,OAAU9P,EAINkQ,GAAYP,EACPQ,EAAWC,IAEpBT,EAAWC,OAAW5P,EACf0E,GAGT,SAASoM,SACS9Q,IAAZ8P,GACFiB,aAAajB,GAEfC,EAAiB,EACjBJ,EAAWlJ,EAAemJ,EAAWE,OAAU9P,EAGjD,SAASgR,IACP,YAAmBhR,IAAZ8P,EAAwBpL,EAASmM,EAAa1K,KAGvD,SAAS8K,IACP,IAAIb,EAAOjK,IACP+K,EAAaN,EAAaR,GAM9B,GAJAT,EAAW7P,UACX8P,EAAW/P,KACX4G,EAAe2J,EAEXc,EAAY,CACd,QAAgBlR,IAAZ8P,EACF,OAAOS,EAAY9J,GAErB,GAAIwJ,EAGF,OADAH,EAAU7J,WAAWuK,EAAcf,GAC5BU,EAAW1J,GAMtB,YAHgBzG,IAAZ8P,IACFA,EAAU7J,WAAWuK,EAAcf,IAE9B/K,EAIT,OAxGA+K,EAAO0B,EAAS1B,IAAS,EACrBtQ,EAASuQ,KACXM,IAAYN,EAAQM,QACpBC,EAAS,YAAaP,EACtBG,EAAUI,EAASd,EAAUgC,EAASzB,EAAQG,UAAY,EAAGJ,GAAQI,EACrEK,EAAW,aAAcR,IAAYA,EAAQQ,SAAWA,GAiG1De,EAAUH,OAASA,EACnBG,EAAUD,MAAQA,EACXC,EA4BT,SAAS9R,EAAS8B,GAChB,IAAImQ,SAAcnQ,EAClB,QAASA,IAAkB,UAARmQ,GAA4B,YAARA,GA2BzC,SAASC,EAAapQ,GACpB,QAASA,GAAyB,iBAATA,EAoB3B,SAASqQ,EAASrQ,GAChB,MAAuB,iBAATA,GACXoQ,EAAapQ,IAAUgO,EAAejO,KAAKC,IAAUqN,EA0B1D,SAAS6C,EAASlQ,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIqQ,EAASrQ,GACX,OAAOoN,EAET,GAAIlP,EAAS8B,GAAQ,CACnB,IAAIsQ,EAAgC,mBAAjBtQ,EAAMuQ,QAAwBvQ,EAAMuQ,UAAYvQ,EACnEA,EAAQ9B,EAASoS,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATtQ,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQA,EAAMwQ,QAAQlD,EAAQ,IAC9B,IAAImD,EAAWjD,EAAWkD,KAAK1Q,GAC/B,OAAQyQ,GAAYhD,EAAUiD,KAAK1Q,GAC/B0N,EAAa1N,EAAM2Q,MAAM,GAAIF,EAAW,EAAI,GAC3ClD,EAAWmD,KAAK1Q,GAASoN,GAAOpN,EAGvCtC,EAAOC,QAAU2Q,I","file":"js/chunk-cccc64a4.8184865e.js","sourcesContent":["var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * SimpleBar.js - v5.3.3\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport 'core-js/modules/es.array.for-each';\nimport 'core-js/modules/web.dom-collections.for-each';\nimport canUseDOM from 'can-use-dom';\nimport 'core-js/modules/es.array.filter';\nimport 'core-js/modules/es.array.iterator';\nimport 'core-js/modules/es.object.assign';\nimport 'core-js/modules/es.object.to-string';\nimport 'core-js/modules/es.parse-int';\nimport 'core-js/modules/es.string.iterator';\nimport 'core-js/modules/es.weak-map';\nimport 'core-js/modules/web.dom-collections.iterator';\nimport throttle from 'lodash.throttle';\nimport debounce from 'lodash.debounce';\nimport memoize from 'lodash.memoize';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport 'core-js/modules/es.array.reduce';\nimport 'core-js/modules/es.function.name';\nimport 'core-js/modules/es.regexp.exec';\nimport 'core-js/modules/es.string.match';\nimport 'core-js/modules/es.string.replace';\n\n// Helper function to retrieve options from element attributes\nvar getOptions = function getOptions(obj) {\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (x, chr) {\n return chr.toUpperCase();\n });\n\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n\n case 'false':\n acc[key] = false;\n break;\n\n case undefined:\n acc[key] = true;\n break;\n\n default:\n acc[key] = attribute.value;\n }\n }\n\n return acc;\n }, {});\n return options;\n};\nfunction getElementWindow(element) {\n if (!element || !element.ownerDocument || !element.ownerDocument.defaultView) {\n return window;\n }\n\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n\n return element.ownerDocument;\n}\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\n\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\n\nfunction scrollbarWidth(el) {\n if (cachedScrollbarWidth === null) {\n var document = getElementDocument(el);\n\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n\n return cachedScrollbarWidth;\n}\n\nvar SimpleBar =\n/*#__PURE__*/\nfunction () {\n function SimpleBar(element, options) {\n var _this = this;\n\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n };\n\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.showScrollbar('x');\n\n _this.positionScrollbar('x');\n }\n\n _this.scrollXTicking = false;\n };\n\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.showScrollbar('y');\n\n _this.positionScrollbar('y');\n }\n\n _this.scrollYTicking = false;\n };\n\n this.onMouseEnter = function () {\n _this.showScrollbar('x');\n\n _this.showScrollbar('y');\n };\n\n this.onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n\n this.onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n\n _this.hideNativeScrollbar();\n };\n\n this.hideScrollbars = function () {\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (!_this.isWithinBounds(_this.axis.y.track.rect)) {\n _this.axis.y.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.y.isVisible = false;\n }\n\n if (!_this.isWithinBounds(_this.axis.x.track.rect)) {\n _this.axis.x.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.x.isVisible = false;\n }\n };\n\n this.onPointerEvent = function (e) {\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n } // If any pointer event is called on the scrollbar\n\n\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Preventing the event's default action stops text being\n // selectable during the drag.\n e.preventDefault(); // Prevent event leaking\n\n e.stopPropagation();\n\n if (e.type === 'mousedown') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect = _this.axis.x.scrollbar.el.getBoundingClientRect();\n\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n } else {\n _this.onTrackClick(e, 'x');\n }\n }\n\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect = _this.axis.y.scrollbar.el.getBoundingClientRect();\n\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n } else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n\n this.drag = function (e) {\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = track.rect[_this.axis[_this.draggedAxis].sizeAttr];\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollSizeAttr];\n var hostSize = parseInt(_this.elStyles[_this.axis[_this.draggedAxis].sizeAttr], 10);\n e.preventDefault();\n e.stopPropagation();\n\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n } else {\n eventOffset = e.pageX;\n } // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n\n\n var dragPos = eventOffset - track.rect[_this.axis[_this.draggedAxis].offsetAttr] - _this.axis[_this.draggedAxis].dragOffset; // Convert the mouse position into a percentage of the scrollbar height/width.\n\n var dragPerc = dragPos / (trackSize - scrollbar.size); // Scroll the content by the same percentage.\n\n var scrollPos = dragPerc * (contentSize - hostSize); // Fix browsers inconsistency on RTL\n\n if (_this.draggedAxis === 'x') {\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? scrollPos - (trackSize + scrollbar.size) : scrollPos;\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollPos : scrollPos;\n }\n\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] = scrollPos;\n };\n\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n\n _this.el.classList.remove(_this.classNames.dragging);\n\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n\n this.el = element;\n this.minScrollbarWidth = 20;\n this.options = Object.assign({}, SimpleBar.defaultOptions, {}, options);\n this.classNames = Object.assign({}, SimpleBar.defaultOptions.classNames, {}, this.options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n }\n };\n this.removePreventClickId = null; // Don't re-instantiate over an existing one\n\n if (SimpleBar.instances.has(this.el)) {\n return;\n }\n\n this.recalculate = throttle(this.recalculate.bind(this), 64);\n this.onMouseMove = throttle(this.onMouseMove.bind(this), 64);\n this.hideScrollbars = debounce(this.hideScrollbars.bind(this), this.options.timeout);\n this.onWindowResize = debounce(this.onWindowResize.bind(this), 64, {\n leading: true\n });\n SimpleBar.getRtlHelpers = memoize(SimpleBar.getRtlHelpers);\n this.init();\n }\n /**\n * Static properties\n */\n\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n\n\n SimpleBar.getRtlHelpers = function getRtlHelpers() {\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML = '
';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n document.body.appendChild(scrollbarDummyEl);\n var dummyContainerChild = scrollbarDummyEl.firstElementChild;\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBar.getOffset(scrollbarDummyEl);\n var dummyContainerChildOffset = SimpleBar.getOffset(dummyContainerChild);\n scrollbarDummyEl.scrollLeft = 999;\n var dummyContainerScrollOffsetAfterScroll = SimpleBar.getOffset(dummyContainerChild);\n return {\n // determines if the scrolling is responding with negative values\n isRtlScrollingInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left && dummyContainerChildOffset.left - dummyContainerScrollOffsetAfterScroll.left !== 0,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isRtlScrollbarInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left\n };\n };\n\n SimpleBar.getOffset = function getOffset(el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top + (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left + (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n\n var _proto = SimpleBar.prototype;\n\n _proto.init = function init() {\n // Save a reference to the instance, so we know this DOM node has already been instancied\n SimpleBar.instances.set(this.el, this); // We stop here on server-side\n\n if (canUseDOM) {\n this.initDOM();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n\n _proto.initDOM = function initDOM() {\n var _this2 = this;\n\n // make sure this element doesn't have the elements yet\n if (Array.prototype.filter.call(this.el.children, function (child) {\n return child.classList.contains(_this2.classNames.wrapper);\n }).length) {\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(\".\" + this.classNames.wrapper);\n this.contentWrapperEl = this.options.scrollableNode || this.el.querySelector(\".\" + this.classNames.contentWrapper);\n this.contentEl = this.options.contentNode || this.el.querySelector(\".\" + this.classNames.contentEl);\n this.offsetEl = this.el.querySelector(\".\" + this.classNames.offset);\n this.maskEl = this.el.querySelector(\".\" + this.classNames.mask);\n this.placeholderEl = this.findChild(this.wrapperEl, \".\" + this.classNames.placeholder);\n this.heightAutoObserverWrapperEl = this.el.querySelector(\".\" + this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl = this.el.querySelector(\".\" + this.classNames.heightAutoObserverEl);\n this.axis.x.track.el = this.findChild(this.el, \".\" + this.classNames.track + \".\" + this.classNames.horizontal);\n this.axis.y.track.el = this.findChild(this.el, \".\" + this.classNames.track + \".\" + this.classNames.vertical);\n } else {\n // Prepare DOM\n this.wrapperEl = document.createElement('div');\n this.contentWrapperEl = document.createElement('div');\n this.offsetEl = document.createElement('div');\n this.maskEl = document.createElement('div');\n this.contentEl = document.createElement('div');\n this.placeholderEl = document.createElement('div');\n this.heightAutoObserverWrapperEl = document.createElement('div');\n this.heightAutoObserverEl = document.createElement('div');\n this.wrapperEl.classList.add(this.classNames.wrapper);\n this.contentWrapperEl.classList.add(this.classNames.contentWrapper);\n this.offsetEl.classList.add(this.classNames.offset);\n this.maskEl.classList.add(this.classNames.mask);\n this.contentEl.classList.add(this.classNames.contentEl);\n this.placeholderEl.classList.add(this.classNames.placeholder);\n this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);\n\n while (this.el.firstChild) {\n this.contentEl.appendChild(this.el.firstChild);\n }\n\n this.contentWrapperEl.appendChild(this.contentEl);\n this.offsetEl.appendChild(this.contentWrapperEl);\n this.maskEl.appendChild(this.offsetEl);\n this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl);\n this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl);\n this.wrapperEl.appendChild(this.maskEl);\n this.wrapperEl.appendChild(this.placeholderEl);\n this.el.appendChild(this.wrapperEl);\n }\n\n if (!this.axis.x.track.el || !this.axis.y.track.el) {\n var track = document.createElement('div');\n var scrollbar = document.createElement('div');\n track.classList.add(this.classNames.track);\n scrollbar.classList.add(this.classNames.scrollbar);\n track.appendChild(scrollbar);\n this.axis.x.track.el = track.cloneNode(true);\n this.axis.x.track.el.classList.add(this.classNames.horizontal);\n this.axis.y.track.el = track.cloneNode(true);\n this.axis.y.track.el.classList.add(this.classNames.vertical);\n this.el.appendChild(this.axis.x.track.el);\n this.el.appendChild(this.axis.y.track.el);\n }\n\n this.axis.x.scrollbar.el = this.axis.x.track.el.querySelector(\".\" + this.classNames.scrollbar);\n this.axis.y.scrollbar.el = this.axis.y.track.el.querySelector(\".\" + this.classNames.scrollbar);\n\n if (!this.options.autoHide) {\n this.axis.x.scrollbar.el.classList.add(this.classNames.visible);\n this.axis.y.scrollbar.el.classList.add(this.classNames.visible);\n }\n\n this.el.setAttribute('data-simplebar', 'init');\n };\n\n _proto.initListeners = function initListeners() {\n var _this3 = this;\n\n var elWindow = getElementWindow(this.el); // Event listeners\n\n if (this.options.autoHide) {\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent, true);\n });\n ['touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent, {\n capture: true,\n passive: true\n });\n });\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n this.contentWrapperEl.addEventListener('scroll', this.onScroll); // Browser zoom triggers a window resize\n\n elWindow.addEventListener('resize', this.onWindowResize); // Hack for https://github.com/WICG/ResizeObserver/issues/38\n\n var resizeObserverStarted = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted) return;\n\n _this3.recalculate();\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted = true;\n }); // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n\n this.mutationObserver = new elWindow.MutationObserver(this.recalculate);\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n\n _proto.recalculate = function recalculate() {\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1;\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = this.elStyles.paddingTop + \" \" + this.elStyles.paddingRight + \" \" + this.elStyles.paddingBottom + \" \" + this.elStyles.paddingLeft;\n this.wrapperEl.style.margin = \"-\" + this.elStyles.paddingTop + \" -\" + this.elStyles.paddingRight + \" -\" + this.elStyles.paddingBottom + \" -\" + this.elStyles.paddingLeft;\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%'; // Determine placeholder size\n\n this.placeholderEl.style.width = isWidthAuto ? contentElOffsetWidth + \"px\" : 'auto';\n this.placeholderEl.style.height = contentElScrollHeight + \"px\";\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing = contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing = contentElScrollHeight > contentWrapperElOffsetHeight; // Set isOverflowing to false if user explicitely set hidden overflow\n\n this.axis.x.isOverflowing = elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing = elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible = this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible = this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar(); // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n\n var offsetForXScrollbar = this.axis.x.isOverflowing ? this.scrollbarWidth : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing ? this.scrollbarWidth : 0;\n this.axis.x.isOverflowing = this.axis.x.isOverflowing && contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing = this.axis.y.isOverflowing && contentElScrollHeight > contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n this.axis.x.scrollbar.el.style.width = this.axis.x.scrollbar.size + \"px\";\n this.axis.y.scrollbar.el.style.height = this.axis.y.scrollbar.size + \"px\";\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n }\n /**\n * Calculate scrollbar size\n */\n ;\n\n _proto.getScrollbarSize = function getScrollbarSize(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.axis[axis].isOverflowing) {\n return 0;\n }\n\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = this.axis[axis].track.el[this.axis[axis].offsetSizeAttr];\n var scrollbarSize;\n var scrollbarRatio = trackSize / contentSize; // Calculate new height/position of drag handle.\n\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n\n return scrollbarSize;\n };\n\n _proto.positionScrollbar = function positionScrollbar(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.axis[axis].isOverflowing) {\n return;\n }\n\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = this.axis[axis].track.el[this.axis[axis].offsetSizeAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollbar = this.axis[axis].scrollbar;\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollOffset : scrollOffset;\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? handleOffset + (trackSize - scrollbar.size) : handleOffset;\n scrollbar.el.style.transform = axis === 'x' ? \"translate3d(\" + handleOffset + \"px, 0, 0)\" : \"translate3d(0, \" + handleOffset + \"px, 0)\";\n };\n\n _proto.toggleTrackVisibility = function toggleTrackVisibility(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n } else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n } // Even if forceVisible is enabled, scrollbar itself should be hidden\n\n\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n } else {\n scrollbar.style.display = 'none';\n }\n };\n\n _proto.hideNativeScrollbar = function hideNativeScrollbar() {\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] = this.axis.y.isOverflowing || this.axis.y.forceVisible ? \"-\" + this.scrollbarWidth + \"px\" : 0;\n this.offsetEl.style.bottom = this.axis.x.isOverflowing || this.axis.x.forceVisible ? \"-\" + this.scrollbarWidth + \"px\" : 0;\n }\n /**\n * On scroll event handling\n */\n ;\n\n _proto.onMouseMoveForAxis = function onMouseMoveForAxis(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n this.axis[axis].track.rect = this.axis[axis].track.el.getBoundingClientRect();\n this.axis[axis].scrollbar.rect = this.axis[axis].scrollbar.el.getBoundingClientRect();\n var isWithinScrollbarBoundsX = this.isWithinBounds(this.axis[axis].scrollbar.rect);\n\n if (isWithinScrollbarBoundsX) {\n this.axis[axis].scrollbar.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n }\n\n if (this.isWithinBounds(this.axis[axis].track.rect)) {\n this.showScrollbar(axis);\n this.axis[axis].track.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n }\n };\n\n _proto.onMouseLeaveForAxis = function onMouseLeaveForAxis(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n };\n\n /**\n * Show scrollbar\n */\n _proto.showScrollbar = function showScrollbar(axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (!this.axis[axis].isVisible) {\n scrollbar.classList.add(this.classNames.visible);\n this.axis[axis].isVisible = true;\n }\n\n if (this.options.autoHide) {\n this.hideScrollbars();\n }\n }\n /**\n * Hide Scrollbar\n */\n ;\n\n /**\n * on scrollbar handle drag movement starts\n */\n _proto.onDragStart = function onDragStart(e, axis) {\n if (axis === void 0) {\n axis = 'y';\n }\n\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar; // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset = eventOffset - scrollbar.rect[this.axis[axis].offsetAttr];\n this.draggedAxis = axis;\n this.el.classList.add(this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n } else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n }\n /**\n * Drag scrollbar handle\n */\n ;\n\n _proto.onTrackClick = function onTrackClick(e, axis) {\n var _this4 = this;\n\n if (axis === void 0) {\n axis = 'y';\n }\n\n if (!this.options.clickOnTrack) return;\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect = this.axis[axis].scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = scrollbar.rect[this.axis[axis].offsetAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y' ? this.mouseY - scrollbarOffset : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n\n var scrollTo = function scrollTo() {\n if (dir === -1) {\n if (scrolled > scrollSize) {\n var _this4$contentWrapper;\n\n scrolled -= _this4.options.clickOnTrackSpeed;\n\n _this4.contentWrapperEl.scrollTo((_this4$contentWrapper = {}, _this4$contentWrapper[_this4.axis[axis].offsetAttr] = scrolled, _this4$contentWrapper));\n\n elWindow.requestAnimationFrame(scrollTo);\n }\n } else {\n if (scrolled < scrollSize) {\n var _this4$contentWrapper2;\n\n scrolled += _this4.options.clickOnTrackSpeed;\n\n _this4.contentWrapperEl.scrollTo((_this4$contentWrapper2 = {}, _this4$contentWrapper2[_this4.axis[axis].offsetAttr] = scrolled, _this4$contentWrapper2));\n\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n\n scrollTo();\n }\n /**\n * Getter for content element\n */\n ;\n\n _proto.getContentElement = function getContentElement() {\n return this.contentEl;\n }\n /**\n * Getter for original scrolling element\n */\n ;\n\n _proto.getScrollElement = function getScrollElement() {\n return this.contentWrapperEl;\n };\n\n _proto.getScrollbarWidth = function getScrollbarWidth() {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if (getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar').display === 'none' || 'scrollbarWidth' in document.documentElement.style || '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n } else {\n return scrollbarWidth(this.el);\n }\n } catch (e) {\n return scrollbarWidth(this.el);\n }\n };\n\n _proto.removeListeners = function removeListeners() {\n var _this5 = this;\n\n var elWindow = getElementWindow(this.el); // Event listeners\n\n if (this.options.autoHide) {\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick'].forEach(function (e) {\n _this5.el.removeEventListener(e, _this5.onPointerEvent, true);\n });\n ['touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this5.el.removeEventListener(e, _this5.onPointerEvent, {\n capture: true,\n passive: true\n });\n });\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n\n elWindow.removeEventListener('resize', this.onWindowResize);\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n } // Cancel all debounced functions\n\n\n this.recalculate.cancel();\n this.onMouseMove.cancel();\n this.hideScrollbars.cancel();\n this.onWindowResize.cancel();\n }\n /**\n * UnMount mutation observer and delete SimpleBar instance from DOM element\n */\n ;\n\n _proto.unMount = function unMount() {\n this.removeListeners();\n SimpleBar.instances.delete(this.el);\n }\n /**\n * Check if mouse is within bounds\n */\n ;\n\n _proto.isWithinBounds = function isWithinBounds(bbox) {\n return this.mouseX >= bbox.left && this.mouseX <= bbox.left + bbox.width && this.mouseY >= bbox.top && this.mouseY <= bbox.top + bbox.height;\n }\n /**\n * Find element children matches query\n */\n ;\n\n _proto.findChild = function findChild(el, query) {\n var matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n\n return SimpleBar;\n}();\n\nSimpleBar.defaultOptions = {\n autoHide: true,\n forceVisible: false,\n clickOnTrack: true,\n clickOnTrackSpeed: 40,\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging'\n },\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n timeout: 1000\n};\nSimpleBar.instances = new WeakMap();\n\nSimpleBar.initDOMLoadedElements = function () {\n document.removeEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.removeEventListener('load', this.initDOMLoadedElements);\n Array.prototype.forEach.call(document.querySelectorAll('[data-simplebar]'), function (el) {\n if (el.getAttribute('data-simplebar') !== 'init' && !SimpleBar.instances.has(el)) new SimpleBar(el, getOptions(el.attributes));\n });\n};\n\nSimpleBar.removeObserver = function () {\n this.globalObserver.disconnect();\n};\n\nSimpleBar.initHtmlApi = function () {\n this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // Mutation observer to observe dynamically added elements\n this.globalObserver = new MutationObserver(SimpleBar.handleMutations);\n this.globalObserver.observe(document, {\n childList: true,\n subtree: true\n });\n } // Taken from jQuery `ready` function\n // Instantiate elements already present on the page\n\n\n if (document.readyState === 'complete' || document.readyState !== 'loading' && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay init\n window.setTimeout(this.initDOMLoadedElements);\n } else {\n document.addEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.addEventListener('load', this.initDOMLoadedElements);\n }\n};\n\nSimpleBar.handleMutations = function (mutations) {\n mutations.forEach(function (mutation) {\n Array.prototype.forEach.call(mutation.addedNodes, function (addedNode) {\n if (addedNode.nodeType === 1) {\n if (addedNode.hasAttribute('data-simplebar')) {\n !SimpleBar.instances.has(addedNode) && new SimpleBar(addedNode, getOptions(addedNode.attributes));\n } else {\n Array.prototype.forEach.call(addedNode.querySelectorAll('[data-simplebar]'), function (el) {\n if (el.getAttribute('data-simplebar') !== 'init' && !SimpleBar.instances.has(el)) new SimpleBar(el, getOptions(el.attributes));\n });\n }\n }\n });\n Array.prototype.forEach.call(mutation.removedNodes, function (removedNode) {\n if (removedNode.nodeType === 1) {\n if (removedNode.hasAttribute('[data-simplebar=\"init\"]')) {\n SimpleBar.instances.has(removedNode) && SimpleBar.instances.get(removedNode).unMount();\n } else {\n Array.prototype.forEach.call(removedNode.querySelectorAll('[data-simplebar=\"init\"]'), function (el) {\n SimpleBar.instances.has(el) && SimpleBar.instances.get(el).unMount();\n });\n }\n }\n });\n });\n};\n\nSimpleBar.getOptions = getOptions;\n/**\n * HTML API\n * Called only in a browser env.\n */\n\nif (canUseDOM) {\n SimpleBar.initHtmlApi();\n}\n\nexport default SimpleBar;\n//# sourceMappingURL=simplebar.esm.js.map\n","/**\n * simplebar-vue - v1.6.3\n * Vue component for SimpleBar\n * https://grsmto.github.io/simplebar/\n *\n * Made by Piers Olenski\n * Under MIT License\n */\n\nimport 'core-js/modules/es.array.concat';\nimport SimpleBar from 'simplebar';\n\n//\nvar script = {\n name: 'simplebar-vue',\n mounted: function mounted() {\n var options = SimpleBar.getOptions(this.$refs.element.attributes);\n this.SimpleBar = new SimpleBar(this.$refs.element, options);\n },\n computed: {\n scrollElement: function scrollElement() {\n return this.$refs.scrollElement;\n },\n contentElement: function contentElement() {\n return this.$refs.contentElement;\n }\n }\n};\n\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n ref: \"element\"\n }, [_c(\"div\", {\n staticClass: \"simplebar-wrapper\"\n }, [_vm._m(0), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"simplebar-mask\"\n }, [_c(\"div\", {\n staticClass: \"simplebar-offset\"\n }, [_c(\"div\", {\n ref: \"scrollElement\",\n staticClass: \"simplebar-content-wrapper\"\n }, [_c(\"div\", {\n ref: \"contentElement\",\n staticClass: \"simplebar-content\"\n }, [_vm._t(\"default\")], 2)])])]), _vm._v(\" \"), _c(\"div\", {\n staticClass: \"simplebar-placeholder\"\n })]), _vm._v(\" \"), _vm._m(1), _vm._v(\" \"), _vm._m(2)]);\n};\n\nvar __vue_staticRenderFns__ = [function () {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"simplebar-height-auto-observer-wrapper\"\n }, [_c(\"div\", {\n staticClass: \"simplebar-height-auto-observer\"\n })]);\n}, function () {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"simplebar-track simplebar-horizontal\"\n }, [_c(\"div\", {\n staticClass: \"simplebar-scrollbar\"\n })]);\n}, function () {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"simplebar-track simplebar-vertical\"\n }, [_c(\"div\", {\n staticClass: \"simplebar-scrollbar\"\n })]);\n}];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* component normalizer */\n\nfunction __vue_normalize__(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {}; // For security concerns, we use only base name in production mode.\n\n component.__file = \"/Users/adriendenat/Sites/simplebar/packages/simplebar-vue/index.vue\";\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n return component;\n}\n/* style inject */\n\n/* style inject SSR */\n\n\nvar simplebar = __vue_normalize__({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__);\n\nexport default simplebar;\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n"],"sourceRoot":""}