{"version":3,"sources":["webpack:///./src/Entity/BaseModel.ts","webpack:///./src/Entity/weixin/WxText.ts","webpack:///./src/Entity/weixin/WxTextImg.ts","webpack:///./src/Entity/weixin/WxImg.ts","webpack:///./src/Entity/weixin/WxVoid.ts","webpack:///./src/Entity/weixin/WxGroup.ts","webpack:///./src/Entity/weixin/WxMenu.ts","webpack:///./src/Entity/weixin/ReplyHelp.ts","webpack:///./src/Entity/weixin/DataElement.ts","webpack:///./node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./src/views/tenants/tenantsView/weChat-graphic_edit.vue?c144","webpack:///./src/views/tenants/tenantsView/weChat-graphic_edit.vue?d6be","webpack:///./src/views/tenants/tenantsView/weChat-graphic_edit.vue?8010","webpack:///./src/views/tenants/tenantsView/weChat-graphic_edit.vue","webpack:///./node_modules/util/util.js","webpack:///./node_modules/vuedraggable/dist/vuedraggable.common.js","webpack:///./node_modules/vuedraggable/node_modules/sortablejs/modular/sortable.esm.js","webpack:///./node_modules/tinymce/plugins/insertdatetime/index.js","webpack:///./src/views/tenants/tenantsView/weChat-graphic_edit.vue?6455","webpack:///./src/components/editor/tinymce.vue?bc8d","webpack:///./src/components/editor/tinymce.vue?95ee","webpack:///src/components/editor/tinymce.vue","webpack:///./src/components/editor/tinymce.vue?0f11","webpack:///./src/components/editor/tinymce.vue","webpack:///./src/Entity/weixin/WxCard.ts","webpack:///./src/assets/images/import-word.svg","webpack:///./node_modules/tinymce/plugins/insertdatetime/plugin.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./src/JS/Bus.ts","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./src/assets/images/qr-code.svg"],"names":["ActionName","ApplicationId","TenantId","TextId","Type","Contents","Keyword","State","GraphicId","Nature","GraphicTitle","UpdaterName","CoverImage","Reward","SortId","Comment","FollowDisplay","DetailImage","OnlyFansCanComment","ThumbMediaId","Synchronize","ContentSourceUrl","switchType","switchDetailImage","switchReward","switchComment","switchFollowDisplay","switchState","switchOnlyFansCanComment","ImageId","JumpLink","UploadImage","MediaId","VoiceId","VoiceTitle","VoiceLink","HighLink","Description","ReallyImage","GatherId","Title","MsgType","SendType","Sex","Provide","City","Area","SetSendDate","IsSetSendDate","Status","SendStatus","peopleList","Id","Aid","ParentId","TypeCode","TypeCodeTwo","TypeName","MenuName","Url","AppId","Remark","Enable","TableName","menuData","Individuation","IndividuationName","sub_button","momentDataArr","TimeSlot","ReplyTypeId","Remarks","LinkUrl","ImgUrl","AppReplyId","AppReplyType","AppReplyName","MultipleReplies","ElementCode","ElementName","SortNumber","DomainCode","Object","create","module","exports","ctor","superCtor","super_","prototype","constructor","value","enumerable","writable","configurable","TempCtor","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","$min","Math","min","$push","push","$SPLIT","LENGTH","LAST_INDEX","MAX_UINT32","SUPPORTS_Y","RegExp","defined","SPLIT","$split","maybeCallNative","internalSplit","separator","limit","string","String","this","undefined","call","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","splitLimit","separatorCopy","source","slice","index","apply","test","O","splitter","regexp","res","done","rx","S","C","unicodeMatching","lim","length","p","q","A","e","z","i","render","_vm","_h","$createElement","_c","_self","directives","name","rawName","expression","staticClass","attrs","_v","on","$event","ImportArticleShow","style","fontSize","ImportWordShow","_m","dialogVisible","leftShowHide","model","callback","$$v","leftShow","switchStyle","_e","ArticleList","_l","item","key","class","articleClicked","selectContents","delarticle","_s","slot","textAlign","substr","width","height","addarticle","AddMaterialList","ClearContent","elTabs","tabsType","staticStyle","tagHotListSelct","tagHotList","GetAppData","TenantID","Number","domProps","addContents","label","LoadMaterialListData","Searchkey","tagType","overflowY","scrollHeight","elTag","addContentsAll","totalItem","viewContentsAll","inboxTabData","clicked","addBackground","margin","DelMaterialList","position","right","bottom","zIndex","display","ref","AddaccountForm","disabled","marginRight","$set","maxWidth","minWidth","tinymceOnClick","stockEditShow","onBeforeUploadImage","stockImagesShow","stockcontentShow","SavaTextData","cancle","loadImages","imageKey","selectImgClicked","float","border","cursor","selectImg","selectImgcancle","selectEditClicked","insertImg","editImge","MaterialListShowTitle","MaterialListShow","MaterialListForm","rulesMaterialList","TagidDataSelect","props","handleChange","MaterialListFormType","marginLeft","nativeOn","number","saveMaterialList","gatherArticleBylink","ImportArticle","onBeforeUploadWord","UploadWord","staticRenderFns","Ueditor","draggable","WeiXinArticleMaterialSortData","loading","loadingDialog","rightStyle","TagidData","pagesize","pageIndex","stringType","count","editContents","editorInstance","modlekeys","ListModelData","tagHotListData","ModelData","loadModelCount","ModelListData","stockImagesData","stockcontentData","insertImgData","CoverImagewidth","CoverImageheight","modfiyId","isClear","wxwxdomain","imgReg","mediaIdReg","qqmusicReg","mpvoiceReg","labelReg","iframeReg","qqVideoRegSrc","wxCradRegSrc","classRegSrc","srcReg","dataSrcReg","Review","Sort","required","message","trigger","max","multiple","LoadMaterialSortData","wxmodel","$route","query","id","GetWxAppReplyGraphicListAsync","$message","warning","document","body","that","Bus","$off","$on","obj","loadCreate","Item","loadMediaList","then","result","$emit","GetWeiXinCardListAsync","params","Input","Name","ErrorCode","wxcardItems","tempData","JSON","parse","loadData","strType","Getvoid","videoItems","forEach","vid","tempArry","split","a","tempUrl","type","encodeURIComponent","GetHtmlStr","tempVal","title","content","author","image","linkurl","description","mediaid","arr","src","mediaId","temFile","suffix","toLowerCase","error","ErrorMessage","GetImgText","activeEditor","selection","setContent","$router","replace","arraylabel","iframeStr","iframeData","iframeClass","classData","ele","videoUrl","dataSrcData","SrcData","wxVideoData","indexOf","tempArrySrc","tempA","GetHtmlUrl","wxVideoArry","url_info","wxVideoUrlData","console","log","url","html","qqVideoData","element","window","location","host","wxCardData","temp","b","logo_url","cardid","brand_name","color","c","kdf","urlpaes","arrmusic","tempdata","musicSrc","arrmpvoice","tempImg","splice","isData","AppReplyGraphicUpdatesAsync","success","file","isIMAGE","isLt1M","size","param","reader","FileReader","readAsDataURL","onload","target","GetUpload","media_id","Value","GetWeiXinArticleMaterialNumberAsync","ojb","backgroundObj","background","execCommand","filter","d","$confirm","confirmButtonText","cancelButtonText","$forceUpdate","GetWeiXinArticleMaterialListModelAsync","tempType","typeMultiple","tempResult","children","GetSaveWeiXinArticleMaterialListAsync","unique","j","GetWeiXinArticleMaterialListHotAsync","$refs","validate","valid","GetWeiXinArticleMaterialSortAsync","Pid","childrenData","k","getTreeData","data","GetWeiXinArticleMaterialListModel","page","rows","GetWeiXinArticleMaterialListAsync","val","editor","maxHeight","objImg","hRatio","wRatio","img","Image","Ratio","w","h","components","tinymce","component","getOwnPropertyDescriptors","keys","descriptors","getOwnPropertyDescriptor","formatRegExp","format","f","isString","objects","arguments","inspect","join","args","len","str","x","stringify","_","isNull","isObject","deprecate","fn","msg","process","noDeprecation","warned","deprecated","throwDeprecation","Error","traceDeprecation","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","array","hash","idx","recurseTimes","isFunction","ret","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","isError","formatError","toString","isDate","Date","base","braces","isArray","n","toUTCString","formatArray","map","formatProperty","pop","reduceToSingleString","simple","isNumber","l","hasOwnProperty","desc","get","set","line","reduce","prev","cur","numLinesEst","ar","Array","arg","isNullOrUndefined","isSymbol","re","objectToString","isPrimitive","o","pad","debuglog","NODE_DEBUG","toUpperCase","pid","isBuffer","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","inherits","origin","add","kCustomPromisifiedSymbol","Symbol","callbackifyOnRejected","reason","cb","newReason","callbackify","original","TypeError","callbackified","maybeCb","self","nextTick","rej","setPrototypeOf","getPrototypeOf","defineProperties","promisify","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","err","custom","modules","installedModules","__webpack_require__","moduleId","m","getter","r","toStringTag","t","mode","__esModule","ns","bind","object","property","s","toInteger","TO_STRING","pos","charCodeAt","charAt","at","it","global","$at","iterated","_t","_i","point","$export","valueOf","is","createElement","$defineProperty","createDesc","redefine","hide","wks","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","arg2","forceStringMethod","strfn","rxfn","cof","TAG","ARG","tryGet","T","B","callee","has","SRC","$toString","TPL","inspectSource","safe","Function","store","uid","USE_SYMBOL","$exports","context","INCLUDES","P","F","includes","searchString","LIBRARY","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","toObject","$keys","dP","documentElement","propertyIsEnumerable","IObject","ArrayProto","ceil","floor","isNaN","def","tag","stat","bitmap","SAFE_CLOSING","riter","from","skipClosing","iter","MATCH","assign","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","IE_PROTO","ObjectProto","isArrayIter","createProperty","getIterFn","arrayLike","step","iterator","aLen","mapfn","mapping","iterFn","core","SHARED","version","copyright","shared","__e","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","PROTOTYPE","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","expProto","U","W","R","classof","builtinExec","px","random","concat","IS_WRAP","virtual","$includes","TO_STRING_TAG","DOMIterables","Collection","__g","getIteratorMethod","getIterator","getKeys","Properties","IE8_DOM_DEFINE","toPrimitive","Attributes","descriptor","gOPS","pIE","$assign","K","getSymbols","isEnum","isIterable","getOwnPropertySymbols","aFunction","UNSCOPABLES","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","lt","gt","appendChild","contentWindow","open","write","close","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","symbols","ch","capture","forced","addToUnscopables","_k","Arguments","__webpack_exports__","insertNodeAt","camelize","removeNode","F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1__","F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1___default","getConsole","cached","cache","hit","regex","node","parentElement","removeChild","fatherNode","refNode","nextSibling","insertBefore","g","$Object","D","arrayIndexOf","names","STARTS_WITH","$startsWith","startsWith","search","setPublicPath_i","currentScript","object_assign","assign_default","keys_default","is_array","is_array_default","_arrayWithHoles","get_iterator","get_iterator_default","_iterableToArrayLimit","_arr","_n","_d","_nonIterableRest","_slicedToArray","_arrayWithoutHoles","arr2","from_default","is_iterable","is_iterable_default","_iterableToArray","_nonIterableSpread","_toConsumableArray","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default","helper","buildAttribute","propName","computeVmIndex","vnodes","elt","elm","_computeIndexes","slots","isTransition","footerOffset","elmFromNodes","footerIndex","rawIndexes","ind","emit","evtName","evtData","_this","$nextTick","delegateAndEmit","_this2","realList","isTransitionName","vuedraggable_isTransition","_slots","componentOptions","getSlot","scopedSlot","computeChildrenAndOffsets","headerOffset","header","footer","getComponentAttributes","$attrs","componentData","attributes","update","componentDataAttrs","eventsListened","eventsToEmit","readonlyProperties","evt","draggingElement","vuedraggable_props","options","list","default","noTransitionOnDrag","Boolean","clone","move","draggableComponent","inheritAttrs","transitionMode","noneFunctionalComponentMode","$slots","_computeChildrenAndOf","$scopedSlots","getTag","created","warn","mounted","_this3","$el","nodeName","getIsFunctional","optionsAdded","onMove","originalEvent","onDragMove","_sortable","rootContainer","computeIndexes","beforeDestroy","destroy","computed","watch","handler","newOptionValue","updateOptions","deep","fnOptions","_vnode","functional","option","getChildrenNodes","$children","rawNodes","child","_this4","visibleIndexes","getUnderlyingVm","htmlElt","getUnderlyingPotencialDraggableComponent","_ref","vue","__vue__","$options","_componentTag","$parent","emitChanges","_this5","alterList","onList","newList","spliceList","_arguments","updatePosition","oldIndex","newIndex","getRelatedContextFromMoveEvent","_ref2","to","related","destination","getVmIndex","domIndex","indexes","numberIndexes","getComponent","componentInstance","resetTransitionData","nodes","transitionContainer","kept","onDragStart","_underlying_vm_","onDragAdd","added","onDragRemove","pullMode","removed","onDragUpdate","moved","updateProperty","propertyName","computeFutureIndex","relatedContext","domChildren","currentDOMIndex","currentIndex","draggedInList","willInsertAfter","draggedContext","futureIndex","sendEvt","onDragEnd","Vue","vuedraggable","_typeof","_defineProperty","_extends","_objectSpread","ownKeys","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","userAgent","pattern","navigator","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","passive","event","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","getParentOrHost","nodeType","parentNode","closest","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","css","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","find","tagName","getElementsByTagName","getWindowScrollingElement","scrollingElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","innerHeight","innerWidth","containerRect","parseInt","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","currentChild","Sortable","ghost","dragged","lastChild","last","lastElementChild","previousElementSibling","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","elemCSS","overflowX","extend","dst","isRectEqual","rect1","rect2","round","throttle","ms","setTimeout","cancelThrottle","clearTimeout","scrollBy","y","Polymer","$","jQuery","Zepto","dom","cloneNode","setRect","rect","unsetRect","expando","getTime","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","animateAll","animating","animationTime","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","repaint","easing","animated","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","pluginEvent","eventName","sortable","eventCanceled","cancel","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","dispatchEvent","rootEl","targetEl","cloneEl","toEl","fromEl","oldDraggableIndex","newDraggableIndex","putSortable","extraEventProperties","onName","CustomEvent","createEvent","initEvent","bubbles","cancelable","lastPutMode","allEventProperties","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","activeSortable","active","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","secondChildWidth","flexDirection","gridTemplateColumns","touchingSideChild2","clear","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","some","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","sort","handle","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","retVal","onMoveFn","draggedRect","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","href","sum","_saveInputCheckedState","root","inputs","checked","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","path","composedPath","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","_onTouchMove","_onDragStart","empty","getSelection","removeAllRanges","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","cssMatrix","_hideClone","cloneId","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","save","handleEvent","toArray","order","getAttribute","items","querySelectorAll","removeAttribute","utils","cancelNextTick","detectDirection","_len","_key","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","lastSwapEl","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","SwapPlugin","Swap","swapClass","dragStart","dragOverValid","swap","prevSwapEl","_ref3","swapNodes","swapItem","n1","n2","i1","i2","p1","p2","isEqualNode","startIndex","_ref4","parentSortable","lastMultiDragSelect","multiDragSortable","dragEl$1","clonesFromRect","clonesHidden","multiDragElements","multiDragClones","initialFolding","folding","MultiDragPlugin","MultiDrag","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragElement","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","sortableIndex","insertMultiDragClones","showClone","hideClone","_ref5","dragStartGlobal","_ref6","multiDrag","_ref7","removeMultiDragElements","dragOver","_ref8","_ref9","insertMultiDragElements","_ref10","dragRectAbsolute","clonesHiddenBefore","dragOverAnimationCapture","_ref11","dragMatrix","dragOverAnimationComplete","_ref12","originalEvt","shiftKey","multiDragIndex","nullingGlobal","destroyGlobal","shift","select","deselect","oldIndicies","newIndicies","clones","clonesInserted","elementsInserted","init","onClick","myValue","Editor","menubar","templates","toolbar","language_url","language","skin_url","dialog_width","images_upload_url","inline","statusbar","toolbar_drawer","fontsize_formats","font_formats","emoticons_database_url","setup","wxVideoitems","wxVoiceitems","ui","registry","addButton","text","tooltip","onAction","tabs","buttons","initialData","onChange","api","getData","isUrl","tempUrlLen","arry","listData","attryStr","arrtay","onSubmit","page1Config","wxCarditems","pageCardConfig","musicKey","musicpageSize","musicpages","page2Config","Fruit","musicpage","details","dialogApi","redial","resultData","insertMusic","txtCardVal","insertCard","domain","resList","images_upload_handler","loademoticons","selectMusic","newValue","errcode","card","card_type","baseInfo","discount","base_info","CardVal","cardDataTimeFormat","date_info","sku","quantity","CardStatus","status","cash","gift","groupon","general_coupon","member_card","primary","dateinfo","fixed_term","fixed_begin_term","begin_timestamp","formatDate","end_timestamp","date","getFullYear","MM","MMstr","dstr","util","Tools","getDateFormat","getParam","translate","getTimeFormat","getFormats","getDefaultDateTime","formats","shouldInsertTimeElement","Settings","daysShort","daysLong","monthsShort","monthsLong","addZeros","getDateTime","fmt","getYear","getDay","updateElement","timeElm","computerTime","userTime","newTimeElm","datetime","remove","collapse","insertDateTime","getParent","getStart","insertContent","Actions","register","addCommand","Commands","global$1","Cell","initial","v","register$1","defaultFormat","addSplitButton","icon","fetch","onItemAction","makeMenuItemHandler","addNestedMenuItem","getSubmenuItems","Buttons","Plugin","bus","copy","fill","readUInt8"],"mappings":"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AAa,CACXc,SAAU,GACVC,cAAe,GACfC,WAAY,GAEdnB,SAAU,WAAtB,sLAGA,cAGA,2BACA,KACA,8BACA,yBACA,sBAEA,eACA,uBAEA,mBACA,aACA,cACA,gBAWA,uBACA,uBACA,EACA,4IACA,KACA,yHACA,yBACA,gEACA,KACA,6EACA,6BACA,oBACA,EACA,MAGA,WAEA,+BA/CA,oBAgDA,eAhDA,gBAiDA,qCACA,gBAlDA,8BAsDA,GACA,OAEA,CACA,WACA,MACA,6EACA,WACA,eA9DA,UAmEA,qBAnEA,WAmEA,EAnEA,OAoEA,eApEA,oBAqEA,4BACA,YACA,IAEA,4BACA,gBAEA,UA5EA,iBA6EA,qCACA,mBA9EA,+BAiFA,gBAEA,mBAMA,GAEA,KACA,uBACA,qBAGA,uBACA,GACA,KACA,kCACA,wBACA,qCAEA,OACA,4BACA,oBACA,OACA,OACA,UACA,aACA,QACA,YACA,gBAGA,uCAEA,oBACA,wBAGA,GACA,OAE0B,CACE5zC,KAAM,MACNhQ,MAC5B,kMACA,KAhIA,UAqIA,qBArIA,QAqIA,EArIA,OAuIA,iBACA,aACA,mBAEA,gBAEA,uBAGA,MACA,+CACA,UACA,oBAEA,cACA,wBAKA,YACA,EACA,EACA,yFACA,UACA,kBAIA,kCACA,mBACA,gBACA,KACA,UACA,IACA,WACA,IACA,+BACA,IACA,4BACA,IACA,gCACA,IACA,UACA,aA2BA,QACA,0BAGA,0BAEA,wBACA,mBACA,iBACA,KACA,yDACA,WACA,UACA,WACA,iBAGA,YA/NA,gCAkOA,qCACA,wBAnOA,oGAAsB,IA8ORglD,EAAc,CAChB5zC,MAAO,YACPqE,KAAM,SACNxG,KAAM,CACJ+B,KAAM,QACN6oC,MAAO,IAaTiK,QAAS,CACrB,CACc,KAAd,SACc,KAAd,aACc,KAAd,MAEA,CACc,KAAd,SACc,KAAd,WACc,KAAd,KACc,UAAd,IAGYC,YAAa,CACXkB,MAAO,GACPC,UAAW,KAMblB,SAAU,WAAtB,wKAEA,oBAFA,uBAGA,cAGA,GACA,OAEA,CACA,WACA,MACA,6EACA,WACA,MACA,YACA,WAh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","file":"js/chunk-4f5e0b77.32c36d23.js","sourcesContent":["import { ActionNameType } from \"./Type/ActionNameType\";\r\n\r\nexport class BaseModel{\r\n ActionName:ActionNameType=\"CREATE\"\r\n ApplicationId:string=\"\"\r\n TenantId:string=\"\"\r\n}","/**文本回复的字段 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WXText extends BaseModel{ \r\n TextId:number=0 \r\n Type:number=1\r\n Contents:string=\"\"\r\n Keyword:string=\"\"\r\n State:number=1 \r\n}","/**图文回复的字段 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WxTextImg extends BaseModel {\r\n GraphicId: number = 0\r\n Type: number = 1\r\n Nature:number=1\r\n Contents: string = \"\"\r\n Keyword: string = \"\"\r\n GraphicTitle: string = \"\"\r\n UpdaterName: string = \"\"\r\n CoverImage: string = \"\"\r\n Reward:number=0\r\n SortId:number=0\r\n Comment:number=0\r\n FollowDisplay:number=0\r\n DetailImage:number=0\r\n OnlyFansCanComment:number=0\r\n State:number=1//审核状态\r\n ThumbMediaId:string=\"\"\r\n Synchronize:number=0\r\n ContentSourceUrl:string=\"\"\r\n switchType:boolean=false\r\n switchDetailImage:boolean=false\r\n switchReward:boolean=false\r\n switchComment:boolean=false\r\n switchFollowDisplay:boolean=true\r\n switchState:boolean=true\r\n switchOnlyFansCanComment:boolean=false;\r\n}","/**图片回复的字段 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WxImg extends BaseModel{ \r\n ImageId:number=0 \r\n Type:number=1\r\n JumpLink:string=\"\"\r\n UploadImage:string=\"\"\r\n Keyword:string=\"\"\r\n State:number=1\r\n Nature:number=0\r\n MediaId:string=\"\" \r\n}","/**语音回复的字段 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WxVoid extends BaseModel {\r\n VoiceId: number = 0\r\n Type: number = 1\r\n VoiceTitle: string = \"\"\r\n VoiceLink: string = \"\"\r\n HighLink: string = \"\"\r\n Description: string = \"\"\r\n Keyword: string = \"\"\r\n ReallyImage: string = \"\"\r\n State: number = 1\r\n Nature:number=0\r\n MediaId:string=\"\"\r\n}","/**图片回复的字段 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WxGroup extends BaseModel{ \r\n GatherId:number=0 \r\n Title:string=\"\"\r\n MsgType:number=99\r\n SendType:any=1\r\n Sex:number=-1\r\n Provide:any=[]\r\n City:any=[]\r\n Area:any=[]\r\n SetSendDate:string=\"\"\r\n IsSetSendDate:number=1\r\n txtImportFans:any\r\n Status:number=1\r\n SendStatus:any=0;\r\n peopleList:any=[];\r\n}","/*微信菜单 */\r\nimport { BaseModel } from '../BaseModel';\r\n\r\nexport class WxMenu extends BaseModel {\r\n Id:Number=0\r\n Aid:Number=0\r\n ParentId:Number=0\r\n TypeCode:string=\"click\"\r\n TypeCodeTwo:string=\"wx-text\"\r\n TypeName:string=\"\"\r\n MenuName:string= \"\"\r\n Url:string=\"\"\r\n AppId:string=\"\"\r\n Remark:string=\"\"\r\n SortId:string=\"10\"\r\n Enable:string=\"1\"\r\n TableName:string=\"\"\r\n menuData:any = ''\r\n Individuation:Number=0\r\n IndividuationName:string=\"\"\r\n sub_button:any= []\r\n momentDataArr:string=\"\"\r\n}","// 关注时回复与帮助\r\nimport { BaseModel } from '../BaseModel';\r\nexport class ReplyHelp extends BaseModel{ \r\n TimeSlot:any= []//时段\r\n Type:number=0//0、自定义;1、选择关键词\r\n ReplyTypeId:number= 2//回复类型:0、非定义时段回复,1、单图片;2、文本回复;3、外链图文;4、多媒体\r\n Title:string= \"\"//回复标题:\r\n Remarks:string= \"\"//回复简介\r\n LinkUrl:string= \"\"//选择外链图文\r\n ImgUrl:string= \"\"//回复图片\r\n Contents:string= \"\"//回复内容:\r\n AppReplyId:number=0//TA_AppReplyGraphic、TA_AppReplyImage、TA_AppReplyText、TA_AppReplyVoice表的ID\r\n AppReplyType:string=\"\"//AppReplyText 文本,AppReplyImage 图片,AppReplyGraphic 图文、AppReplyVoice 多媒体\r\n AppReplyName:string=\"\"\r\n MediaId:string=\"\"\r\n Keyword:string=\"\"\r\n State:number=1\r\n MultipleReplies:string=\"0\" \r\n}","// 数据字典\r\nimport { BaseModel } from '../BaseModel';\r\nexport class DataElement extends BaseModel{ \r\n ElementCode:string= \"\"\r\n ElementName:string= \"\"\r\n SortNumber:string= \"10\"\r\n Remark: string=\"\"\r\n DomainCode: string=\"\"\r\n Status:number= 1\r\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"edit-wrap\",attrs:{\"element-loading-text\":\"正在提交中......\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.8)\"}},[_c('div',{staticClass:\"used-tools\"},[_c('h3',[_vm._v(\"常用工具:\")]),_c('div',{staticClass:\"ut-list\"},[_c('div',{on:{\"click\":function($event){_vm.ImportArticleShow=true}}},[_c('div',{staticClass:\"icon-box\"},[_c('i',{staticClass:\"el-icon-download\",style:({fontSize:'26px'})})]),_c('p',[_vm._v(\"导入文章\")])]),_c('div',{on:{\"click\":function($event){_vm.ImportWordShow=true}}},[_vm._m(0),_c('p',[_vm._v(\"导入Word\")])]),_c('div',{on:{\"click\":function($event){_vm.dialogVisible=true}}},[_vm._m(1),_c('p',[_vm._v(\"生成二维码\")])])]),_c('div',{staticClass:\"left-menu-swicth\"},[_c('el-switch',{attrs:{\"active-text\":\"显示左侧\",\"inactive-text\":\"隐藏左侧\"},on:{\"change\":_vm.leftShowHide},model:{value:(_vm.leftShow),callback:function ($$v) {_vm.leftShow=$$v},expression:\"leftShow\"}})],1)]),_c('div',{staticClass:\"main-wrap\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.leftShow),expression:\"leftShow\"}],staticClass:\"left-wrap\"},[_c('div',{staticClass:\"top-abs-group\"},[_c('div',{staticClass:\"el-icon-apple title-box\"},[_vm._v(\"样式管理\")]),_c('el-switch',{attrs:{\"active-text\":\"开启\",\"inactive-text\":\"关闭\"},model:{value:(_vm.switchStyle),callback:function ($$v) {_vm.switchStyle=$$v},expression:\"switchStyle\"}})],1),(!_vm.switchStyle)?_c('div',{staticClass:\"style-close-box\"},[_c('div',{staticClass:\"tips\"},[_vm._v(\"温馨提示:点着鼠标不放上下拖动可以实现排序!\")]),_c('draggable',{staticClass:\"list\",model:{value:(_vm.ArticleList),callback:function ($$v) {_vm.ArticleList=$$v},expression:\"ArticleList\"}},[_c('transition-group',{attrs:{\"tag\":\"ul\"}},_vm._l((_vm.ArticleList),function(item,index){return _c('div',{key:index,staticClass:\"delArticle\",class:{'activeTow':_vm.articleClicked==index},on:{\"click\":function($event){return _vm.selectContents(item,index)}}},[(index>0)?_c('div',{staticClass:\"del\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-delete\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.delarticle(index)}}},[_vm._v(\"删除\")])],1):_vm._e(),(index==0)?_c('div',{staticClass:\"style-image-box\"},[(item.GraphicTitle)?_c('div',{staticClass:\"title-box\"},[_vm._v(_vm._s(item.GraphicTitle))]):_vm._e(),_c('el-image',{staticClass:\"cover-img-box\",attrs:{\"src\":item.CoverImage,\"fit\":\"cover\"}},[_c('div',{staticClass:\"cover-img-box\",attrs:{\"slot\":\"error\"},slot:\"error\"},[_c('i',{staticClass:\"el-icon-picture-outline\"},[_vm._v(\"从右侧上传\")])])])],1):_c('div',{staticClass:\"item-box\"},[_c('el-row',[_c('el-col',{style:({textAlign:'left'}),attrs:{\"span\":16}},[_vm._v(_vm._s(item.GraphicTitle.substr(0,11)))]),_c('el-col',{attrs:{\"span\":8}},[_c('el-image',{style:({width:'60px',height:'60px'}),attrs:{\"src\":item.CoverImage,\"fit\":\"cover\"}},[_c('div',{attrs:{\"slot\":\"error\"},slot:\"error\"},[_vm._v(\"右侧上传\")])])],1)],1)],1)])}),0)],1),(_vm.ArticleList.length<8)?_c('div',{staticClass:\"add-box\",on:{\"click\":_vm.addarticle}},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\" 新建消息\\n \")]):_vm._e()],1):_vm._e(),(_vm.switchStyle)?_c('div',{staticClass:\"box-card\"},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-upload\"},on:{\"click\":function($event){return _vm.AddMaterialList('')}}},[_c('br'),_vm._v(\"导\\n \"),_c('br'),_vm._v(\"入\\n \"),_c('br'),_vm._v(\"样\\n \"),_c('br'),_vm._v(\"式\\n \")]),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\"},on:{\"click\":_vm.ClearContent}},[_c('br'),_vm._v(\"清\\n \"),_c('br'),_vm._v(\"空\\n \"),_c('br'),_vm._v(\"文\\n \"),_c('br'),_vm._v(\"章\\n \")])],1):_vm._e(),(_vm.switchStyle)?_c('div',{staticClass:\"style-open-box\"},[_c('el-tabs',{on:{\"tab-click\":_vm.elTabs},model:{value:(_vm.tabsType),callback:function ($$v) {_vm.tabsType=$$v},expression:\"tabsType\"}},[_c('el-tab-pane',{attrs:{\"label\":\"热门\"}},[_c('div',[_c('el-button',{staticStyle:{\"margin\":\"2px\",\"cursor\":\"pointer\"},attrs:{\"size\":\"mini\",\"type\":_vm.tagHotListSelct==0?'success':''},on:{\"click\":function($event){return _vm.tagHotList(0);}}},[_vm._v(\"通用标签\")]),_c('el-button',{staticStyle:{\"margin\":\"2px\",\"cursor\":\"pointer\"},attrs:{\"size\":\"mini\",\"type\":_vm.tagHotListSelct==_vm.GetAppData.TenantID?'success':''},on:{\"click\":function($event){return _vm.tagHotList(_vm.GetAppData.TenantID);}}},[_vm._v(\"自定义标签\")])],1),_c('ul',_vm._l((_vm.tagHotListData),function(item,index){return _c('li',{key:index,attrs:{\"title\":item.Title}},[_c('div',{staticClass:\"template-item-cover\",attrs:{\"title\":'【'+item.Type+'】'+item.Title+'【使用次数:'+item.Number+'】'},domProps:{\"innerHTML\":_vm._s(item.Contents)},on:{\"click\":function($event){return _vm.addContents(item)}}})])}),0)]),_vm._l((_vm.TagidData),function(item,index){return _c('el-tab-pane',{key:index,attrs:{\"label\":item.label,\"name\":item.label}},[_c('div',[_c('el-input',{attrs:{\"placeholder\":\"请输入关键词\",\"size\":\"mini\"},on:{\"blur\":_vm.LoadMaterialListData},model:{value:(_vm.Searchkey),callback:function ($$v) {_vm.Searchkey=$$v},expression:\"Searchkey\"}},[_c('i',{staticClass:\"el-input__icon el-icon-search\",attrs:{\"slot\":\"prefix\"},slot:\"prefix\"})]),(item.label=='模板')?_c('div',[(_vm.tagType!='')?_c('div',[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":function($event){_vm.tagType=''}}},[_vm._v(\"《返回\")]),_vm._v(\"\\n 当前:\"+_vm._s(_vm.tagType)+\"\\n \")],1):_vm._e(),_c('div',{style:({overflowY:'scroll',height:_vm.scrollHeight+'px'})},[(_vm.tagType=='')?_c('div',_vm._l((item.children),function(e,index){return _c('ul',{key:index},[_c('li',[_c('span',[_c('div',{staticClass:\"modelList\",attrs:{\"title\":e.label}},[_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.elTag(e.label)}}},[_vm._v(\"分开使用\")])],1),_c('div',{staticStyle:{\"padding\":\"10px\"}},[_c('el-button',{on:{\"click\":function($event){return _vm.addContentsAll(e.label)}}},[_vm._v(\"整体使用\")])],1)]),(_vm.totalItem>0)?_c('div',{staticClass:\"template-item-cover modelListShow\",style:({height:'300px'}),domProps:{\"innerHTML\":_vm._s(_vm.viewContentsAll(e.label))}}):_vm._e()])])])}),0):_c('div',_vm._l((_vm.totalItem),function(i,index){return _c('div',{key:index,staticClass:\"template-item-cover\",attrs:{\"title\":_vm.inboxTabData[index].Title},domProps:{\"innerHTML\":_vm._s(_vm.inboxTabData[index].Contents)},on:{\"click\":function($event){return _vm.addContents(_vm.inboxTabData[index])}}})}),0)])]):(item.label=='背景')?_c('div',[_c('ul',[_c('li',_vm._l((_vm.totalItem),function(i,index){return _c('div',{key:index,staticClass:\"template-item-pic\",class:{'activeTow':_vm.clicked==index},style:('background:'+_vm.inboxTabData[index].Contents),attrs:{\"title\":_vm.inboxTabData[index].Title},on:{\"click\":function($event){return _vm.addBackground(_vm.inboxTabData[index],index)}}},[(_vm.GetAppData.TenantID==_vm.inboxTabData[index].TenantID)?_c('div',{style:({margin:'30px 10px'})},[_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.AddMaterialList(_vm.inboxTabData[index]);}}},[_vm._v(\"修改\")]),_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.DelMaterialList(_vm.inboxTabData[index])}}},[_vm._v(\"删除\")])],1):_vm._e(),_c('span',[_vm._v(\" \")])])}),0)])]):_c('div',[_vm._l((item.children),function(e,index){return _c('el-tag',{key:index,staticStyle:{\"margin\":\"2px\",\"cursor\":\"pointer\"},attrs:{\"effect\":_vm.tagType==e.label?'dark':'plain',\"size\":\"medium\",\"type\":_vm.tagType==e.label?'success':''},on:{\"click\":function($event){return _vm.elTag(e.label)}},model:{value:(_vm.tagType),callback:function ($$v) {_vm.tagType=$$v},expression:\"tagType\"}},[_vm._v(_vm._s(e.label))])}),_c('div',{staticClass:\"buzhidao-ul\",style:({position:'relative',overflowY:'scroll',height:_vm.scrollHeight+'px'})},[_c('ul',_vm._l((_vm.totalItem),function(i,index){return _c('li',{key:index,style:({position:'relative'})},[(_vm.GetAppData.TenantID==_vm.inboxTabData[index].TenantID)?_c('div',{staticClass:\"imgtextedit-btns\",style:({position:'absolute',textAlign:'right',right:'5px',bottom:'5px',zIndex:'100',display:'none'})},[_c('el-button',{attrs:{\"circle\":\"\",\"plain\":\"\",\"icon\":\"el-icon-edit\",\"size\":\"mini\",\"title\":\"修改\"},on:{\"click\":function($event){return _vm.AddMaterialList(_vm.inboxTabData[index]);}}}),_c('el-button',{attrs:{\"circle\":\"\",\"type\":\"info\",\"icon\":\"el-icon-delete\",\"size\":\"mini\",\"title\":\"删除\"},on:{\"click\":function($event){return _vm.DelMaterialList(_vm.inboxTabData[index])}}})],1):_vm._e(),_c('div',{staticClass:\"template-item-cover\",attrs:{\"title\":_vm.inboxTabData[index].Title},domProps:{\"innerHTML\":_vm._s(_vm.inboxTabData[index].Contents)},on:{\"click\":function($event){return _vm.addContents(_vm.inboxTabData[index])}}})])}),0)])],2)],1)])})],2)],1):_vm._e()]),_c('div',{staticClass:\"right-wrap\",style:(_vm.rightStyle),attrs:{\"id\":\"ImgTxtEdit\"}},[_c('el-form',{ref:\"AddaccountForm\",staticClass:\"demo-commonForm\",attrs:{\"model\":_vm.AddaccountForm,\"inline\":true}},[(!_vm.disabled)?_c('el-form-item',[_c('el-input',{style:({width:'60%',marginRight:'3%'}),attrs:{\"type\":\"text\",\"maxlength\":\"50\",\"show-word-limit\":\"\",\"placeholder\":\"请输入标题\"},model:{value:(_vm.AddaccountForm.GraphicTitle),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"GraphicTitle\", $$v)},expression:\"AddaccountForm.GraphicTitle\"}}),_c('el-input',{style:({width:'37%',height: '50px'}),attrs:{\"maxlength\":\"20\",\"show-word-limit\":\"\",\"placeholder\":\"请输入作者\"},model:{value:(_vm.AddaccountForm.UpdaterName),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"UpdaterName\", $$v)},expression:\"AddaccountForm.UpdaterName\"}})],1):_vm._e(),_c('el-form-item',[_c('tinymce',{ref:\"tinymceeditor\",style:({zIndex:'0',position:'relative',maxWidth:'800px',minWidth:'700px'}),attrs:{\"disabled\":_vm.disabled},on:{\"onClick\":_vm.tinymceOnClick},model:{value:(_vm.AddaccountForm.Contents),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"Contents\", $$v)},expression:\"AddaccountForm.Contents\"}})],1),(!_vm.disabled)?_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"mini\",\"disabled\":_vm.disabled},on:{\"click\":function($event){_vm.stockEditShow=!_vm.stockEditShow}}},[_vm._v(\"素材库选择图片\")])],1):_vm._e(),(!_vm.disabled)?_c('div',{staticClass:\"cover-abs\"},[_c('div',{staticClass:\"cover\"},[_c('h4',[_vm._v(\"封面和摘要\")]),_c('el-upload',{staticClass:\"avatar-uploader\",attrs:{\"accept\":\"image/jpeg, image/png, image/bmp\",\"show-file-list\":false,\"before-upload\":_vm.onBeforeUploadImage,\"http-request\":_vm.UploadImage,\"action\":_vm.UploadImage}},[(_vm.AddaccountForm.CoverImage)?_c('div',[(_vm.articleClicked==0)?_c('img',{attrs:{\"src\":_vm.AddaccountForm.CoverImage,\"width\":\"235\",\"height\":\"100\"}}):_c('img',{attrs:{\"src\":_vm.AddaccountForm.CoverImage,\"width\":\"175\",\"height\":\"175\"}})]):_c('i',{staticClass:\"el-icon-plus avatar-uploader-icon-upload\"})]),_c('div',{staticClass:\"avatar-uploader-icon-upload_div\"},[_c('el-button',{attrs:{\"type\":\"success\",\"size\":\"mini\",\"disabled\":_vm.disabled},on:{\"click\":function($event){_vm.stockImagesShow=!_vm.stockImagesShow}}},[_vm._v(\"素材库选\")]),_c('el-button',{attrs:{\"type\":\"success\",\"size\":\"mini\"},on:{\"click\":function($event){_vm.stockcontentShow=!_vm.stockcontentShow}}},[_vm._v(\"内容中选\")])],1)],1),_c('div',{staticClass:\"abs\"},[(_vm.articleClicked==0)?_c('h4',[_vm._v(\"图文封面(2.35:1)\")]):_c('h4',[_vm._v(\"图文封面(1:1)\")]),_c('el-input',{style:({width:'100%',height:'180px'}),attrs:{\"type\":\"textarea\",\"placeholder\":\"请输入摘要\",\"size\":\"small\",\"rows\":6,\"maxlength\":\"120\",\"show-word-limit\":\"\"},model:{value:(_vm.AddaccountForm.Remarks),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"Remarks\", $$v)},expression:\"AddaccountForm.Remarks\"}}),(_vm.articleClicked==0)?_c('p',[_vm._v(\"你的星标、常读用户将在订阅号消息列表里,看到此封面,图片大小不超过700K。\")]):_c('p',[_vm._v(\"其他用户将在订阅号消息列表里,看到此封面,图片大小不超过700K。\")])],1)]):_vm._e(),(!_vm.disabled)?_c('div',{staticClass:\"switch-group\"},[_c('div',{staticClass:\"item-switch\"},[_c('el-switch',{attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#DCDFE6\"},model:{value:(_vm.AddaccountForm.switchDetailImage),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"switchDetailImage\", $$v)},expression:\"AddaccountForm.switchDetailImage\"}}),_vm._v(\"详细页是否显示封面\\n \")],1),_c('div',{staticClass:\"item-switch\"},[_c('el-switch',{attrs:{\"active-color\":\"#13ce66\",\"inactive-color\":\"#DCDFE6\"},model:{value:(_vm.AddaccountForm.switchFollowDisplay),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"switchFollowDisplay\", $$v)},expression:\"AddaccountForm.switchFollowDisplay\"}}),_vm._v(\"关注、查看原文\\n \")],1)]):_vm._e(),(!_vm.disabled)?_c('el-form-item',{attrs:{\"label\":\"图文外链网址:\"}},[_c('el-input',{staticStyle:{\"width\":\"100% !important\"},attrs:{\"placeholder\":\"为微信文章底部查看原文地址!\"},model:{value:(_vm.AddaccountForm.ContentSourceUrl),callback:function ($$v) {_vm.$set(_vm.AddaccountForm, \"ContentSourceUrl\", $$v)},expression:\"AddaccountForm.ContentSourceUrl\"}})],1):_vm._e(),(!_vm.disabled)?_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.SavaTextData}},[_vm._v(\"保存\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":_vm.cancle}},[_vm._v(\"取消\")])],1):_vm._e()],1)],1)]),_c('div',[_c('el-dialog',{attrs:{\"title\":\"选择素材库图片\",\"visible\":_vm.stockImagesShow,\"center\":\"\",\"close-on-click-modal\":false,\"width\":\"50%\",\"show-close\":false,\"close-on-press-escape\":false},on:{\"update:visible\":function($event){_vm.stockImagesShow=$event}}},[_c('el-input',{attrs:{\"placeholder\":\"输入图片关键词!\",\"size\":\"mini\",\"prefix-icon\":\"el-icon-search\"},on:{\"blur\":_vm.loadImages},model:{value:(_vm.imageKey),callback:function ($$v) {_vm.imageKey=$$v},expression:\"imageKey\"}}),_c('div',{style:({overflowY:'auto',height: '300px'})},_vm._l((_vm.stockImagesData),function(item,index){return _c('div',{key:index,staticClass:\"block\",class:{'selectImg':_vm.selectImgClicked==index},style:({float:'left',margin:'10px',border: '1px solid #ccc',cursor:'pointer'}),on:{\"click\":function($event){return _vm.selectImg(item,index)}}},[_c('el-image',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":item.UploadImage,\"fit\":\"cover\"}})],1)}),0),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){_vm.stockImagesShow=!_vm.stockImagesShow}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":_vm.selectImgcancle}},[_vm._v(\"取消\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"选择内容中图片\",\"visible\":_vm.stockcontentShow,\"center\":\"\",\"close-on-click-modal\":false,\"width\":\"50%\",\"show-close\":false,\"close-on-press-escape\":false},on:{\"update:visible\":function($event){_vm.stockcontentShow=$event}}},[_c('div',{style:({overflowY:'auto',height: '300px'})},_vm._l((_vm.stockcontentData),function(item,index){return _c('div',{key:index,staticClass:\"block\",class:{'selectImg':_vm.selectImgClicked==index},style:({float:'left',margin:'10px',border: '1px solid #ccc',cursor:'pointer'}),on:{\"click\":function($event){return _vm.selectImg(item,index)}}},[_c('el-image',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":item.UploadImage,\"fit\":\"cover\"}})],1)}),0),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":function($event){_vm.stockcontentShow=!_vm.stockcontentShow}}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":_vm.selectImgcancle}},[_vm._v(\"取消\")])],1)]),_c('el-dialog',{attrs:{\"title\":\"选择素材库图片\",\"visible\":_vm.stockEditShow,\"center\":\"\",\"close-on-click-modal\":false,\"width\":\"50%\",\"show-close\":false,\"close-on-press-escape\":false},on:{\"update:visible\":function($event){_vm.stockEditShow=$event}}},[_c('div',{style:({overflowY:'auto',height: '300px'})},_vm._l((_vm.stockImagesData),function(item,index){return _c('div',{key:index,staticClass:\"block\",class:{'selectImg':_vm.selectEditClicked==index},style:({float:'left',margin:'10px',border: '1px solid #ccc',cursor:'pointer'}),on:{\"click\":function($event){return _vm.insertImg(item,index)}}},[_c('el-image',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":item.UploadImage,\"fit\":\"cover\"}})],1)}),0),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.editImge}},[_vm._v(\"确定\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":function($event){_vm.stockEditShow=!_vm.stockEditShow}}},[_vm._v(\"取消\")])],1)]),_c('div',{staticClass:\"weicode-dialog-wrap\"},[_c('el-dialog',{attrs:{\"title\":_vm.MaterialListShowTitle,\"visible\":_vm.MaterialListShow,\"center\":\"\",\"close-on-click-modal\":false,\"width\":\"660px\"},on:{\"update:visible\":function($event){_vm.MaterialListShow=$event}}},[_c('el-scrollbar',{staticStyle:{\"height\":\"400px\"}},[_c('el-form',{ref:\"MaterialListForm\",style:({width:'97%'}),attrs:{\"model\":_vm.MaterialListForm,\"label-width\":\"100px\",\"rules\":_vm.rulesMaterialList}},[_c('el-form-item',{attrs:{\"label\":\"选择标签\",\"size\":\"small\",\"prop\":\"MaterialListFormType\"}},[_c('el-cascader',{ref:\"cascader\",style:({width:'100%'}),attrs:{\"options\":_vm.TagidDataSelect,\"props\":_vm.props,\"change-on-select\":true,\"filterable\":true,\"clearable\":\"\",\"size\":\"small\"},on:{\"change\":_vm.handleChange},model:{value:(_vm.MaterialListFormType),callback:function ($$v) {_vm.MaterialListFormType=$$v},expression:\"MaterialListFormType\"}})],1),_c('el-form-item',{attrs:{\"label\":\"模板名称\",\"size\":\"small\",\"prop\":\"Title\"}},[_c('el-input',{attrs:{\"type\":\"text\",\"placeholder\":\"请输入模板名称\",\"maxlength\":\"20\",\"show-word-limit\":\"\",\"size\":\"small \"},model:{value:(_vm.MaterialListForm.Title),callback:function ($$v) {_vm.$set(_vm.MaterialListForm, \"Title\", $$v)},expression:\"MaterialListForm.Title\"}})],1),_c('el-form-item',{style:({marginLeft:'-90px'}),attrs:{\"size\":\"small\",\"prop\":\"Contents\"}},[_c('Ueditor',{ref:\"wangEditor\",style:({width:'100%'}),model:{value:(_vm.MaterialListForm.Contents),callback:function ($$v) {_vm.$set(_vm.MaterialListForm, \"Contents\", $$v)},expression:\"MaterialListForm.Contents\"}})],1),_c('el-form-item',{attrs:{\"label\":\"模板排序\",\"size\":\"small\",\"prop\":\"Sort\"}},[_c('el-input',{attrs:{\"placeholder\":\"请输入模板排序\",\"size\":\"small\",\"type\":\"text\",\"maxlength\":\"2\",\"show-word-limit\":\"\",\"min\":\"0\",\"max\":\"99\",\"oninput\":\"if(value.length>2)value=value.slice(0,2)\"},nativeOn:{\"keyup\":function($event){return _vm.number($event)}},model:{value:(_vm.MaterialListForm.Sort),callback:function ($$v) {_vm.$set(_vm.MaterialListForm, \"Sort\", $$v)},expression:\"MaterialListForm.Sort\"}})],1),_c('el-form-item',{attrs:{\"label\":\"模板备注\",\"size\":\"small\",\"prop\":\"Remarks\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"请输入备注\",\"maxlength\":\"200\",\"rows\":\"6\",\"show-word-limit\":\"\"},model:{value:(_vm.MaterialListForm.Remarks),callback:function ($$v) {_vm.$set(_vm.MaterialListForm, \"Remarks\", $$v)},expression:\"MaterialListForm.Remarks\"}})],1)],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.saveMaterialList}},[_vm._v(\"保存\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":function($event){_vm.MaterialListShow=!_vm.MaterialListShow}}},[_vm._v(\"取消\")])],1)],1)],1),_c('div',{staticClass:\"clcode-dialog\"},[_c('el-dialog',{staticStyle:{\"padding\":\"0\",\"margin\":\"0\"},attrs:{\"title\":\"生成二维码\",\"visible\":_vm.dialogVisible,\"width\":\"980px\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('iframe',{attrs:{\"src\":\"https://mh.cli.im/?isdialog=1\",\"width\":\"100%\",\"frameborder\":\"0\",\"height\":\"550\",\"scrolling\":\"no\"}})])],1),_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loadingDialog),expression:\"loadingDialog\"}],attrs:{\"title\":\"导入微信公众号文章\",\"visible\":_vm.ImportArticleShow,\"center\":\"\",\"close-on-click-modal\":false,\"width\":\"650px\",\"element-loading-text\":\"文章正在导入中...... 请稍后!\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.8)\"},on:{\"update:visible\":function($event){_vm.ImportArticleShow=$event}}},[_c('el-form',[_c('el-form-item',{attrs:{\"label\":\"请把需要采集的文章链接粘贴在下方的输入框中:\",\"size\":\"small\",\"prop\":\"Remarks\"}},[_c('el-input',{attrs:{\"placeholder\":\"微信公众号图文链接地址(以https://mp.weixin.qq.com开头)\"},model:{value:(_vm.gatherArticleBylink),callback:function ($$v) {_vm.gatherArticleBylink=$$v},expression:\"gatherArticleBylink\"}})],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-check\",\"type\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.ImportArticle}},[_vm._v(\"文章采集\")]),_c('el-button',{attrs:{\"icon\":\"el-icon-close\",\"size\":\"small\"},on:{\"click\":function($event){_vm.ImportArticleShow=!_vm.ImportArticleShow}}},[_vm._v(\"取消\")])],1)],1),_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loadingDialog),expression:\"loadingDialog\"}],attrs:{\"title\":\"导入Word文章\",\"visible\":_vm.ImportWordShow,\"center\":\"\",\"width\":\"420px\",\"element-loading-text\":\"文章正在导入中...... 请稍后!\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.8)\"},on:{\"update:visible\":function($event){_vm.ImportWordShow=$event}}},[_c('el-button',{attrs:{\"type\":\"warning\",\"size\":\"mini\",\"icon\":\"el-icon-warning\",\"plain\":\"\"}},[_vm._v(\"导入内容将自动覆盖当前文章,使用前请自行保存。\")]),_c('el-divider'),_c('el-upload',{staticClass:\"upload-demo\",attrs:{\"drag\":\"\",\"accept\":\"application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\"show-file-list\":false,\"before-upload\":_vm.onBeforeUploadWord,\"http-request\":_vm.UploadWord,\"action\":_vm.UploadWord}},[_c('i',{staticClass:\"el-icon-upload\"}),_c('div',{staticClass:\"el-upload__text\"},[_vm._v(\"\\n 将word文件拖到此处,或\\n \"),_c('em',[_vm._v(\"点击上传\")])]),_c('div',{staticClass:\"el-upload__tip\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"只能上传word文件,且不超过10M,支持图片(png,jpg,gif,bmg)\")])])],1)],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icon-box\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/import-word.svg\")}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icon-box\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/qr-code.svg\")}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Provide, Vue, Watch, Prop } from \"vue-property-decorator\";\r\nimport httpApi from \"@/API/Tenant/Weixin\";\r\nimport { DataElement } from \"@/Entity\"; //全局常量\r\nimport { getCookie } from \"@/JS/cookie\"; //使用getCookie方法\r\nimport { WxTextImg } from \"@/Entity\"; //全局常量\r\nimport HttpClient from \"@/API/HttpClient\";\r\nimport Bus from \"@/JS/Bus\";\r\nimport wxCard from \"@/Entity/weixin/WxCard\"; //微信卡券处理方法\r\n//import EditorBar from \"@/components/editor/wangEditor.vue\";\r\n//import CKEditor from \"@/components/editor/CKEditor.vue\";\r\nimport tinymce from \"@/components/editor/tinymce.vue\";\r\n//import froalaEditor from \"@/components/editor/froala-editor.vue\";\r\nimport { join } from \"path\";\r\nconst Ueditor = require(\"vue-ueditor-wrap\"); // 引用百度编辑器\r\nconst draggable = require(\"vuedraggable\"); //引入拖动排序插件\r\n@Component({\r\n components: { draggable, tinymce, Ueditor }\r\n})\r\nexport default class weChatgraphicedit extends Vue {\r\n private test = false;\r\n //注入数据 @Provide()\r\n @Prop()\r\n private AddaccountForm: WxTextImg | any = new WxTextImg(); //定义数据在WxTextImg里\r\n private myValue: any;\r\n //注入数据 @Provide()\r\n @Provide()\r\n private scrollHeight = 500; //当前高度\r\n private WeiXinArticleMaterialSortData: any = [];\r\n private switchStyle = true;\r\n private loading = false;\r\n private loadingDialog = false;\r\n private leftShow = true;\r\n private rightStyle: any = {};\r\n private TagidData: any = [];\r\n private TagidDataSelect: any = [];\r\n private pagesize = 500; //每页的数据条数\r\n private pageIndex = 1; // 默认第一页\r\n private totalItem = 0;\r\n private inboxTabData: any = [];\r\n private tabsType = \"\";\r\n private tagType = \"\";\r\n private stringType = \"\";\r\n private count: number = 10;\r\n private editContents = \"\";\r\n private editorInstance: any = []; //实例化编辑器\r\n private modlekeys: any = []; //模板类型数据\r\n private ListModelData: any = []; //加载模板数据\r\n private tagHotListData: any = []; //读取热门前100条\r\n private tagHotListSelct: any = 0; //当前选中\r\n private ModelData: any = []; //加载模板关键词数据\r\n private loadModelCount: any = [];\r\n private ModelListData: any = [];\r\n private clicked: number = 0; //选择的背景图片\r\n private articleClicked: number = 0; //选择第几篇文章\r\n private Searchkey = \"\";\r\n private dialogVisible = false; //\r\n private stockImagesShow = false; //素材库图片对话框\r\n private stockcontentShow = false; //内容中选择图片对话框\r\n private stockImagesData: any = []; //素材库图片数据源\r\n private imageKey: any = \"\";\r\n private stockcontentData: any = []; //内容的图片\r\n private selectImgClicked: number = -1; //选中的样式\r\n\r\n private stockEditShow = false; //插入图片\r\n private insertImgData: any = []; //当前选择中的图片\r\n private selectEditClicked: number = -1; //选中的样式\r\n\r\n private MaterialListShowTitle = \"\";\r\n private MaterialListShow = false;\r\n private MaterialListFormType: any = []; //当前选中的标签\r\n\r\n private CoverImagewidth = 235;\r\n private CoverImageheight = 100;\r\n private GetAppData: any = [];\r\n private ArticleList: any = []; //左侧文章列表\r\n\r\n private modfiyId: any = 0; //修改的id\r\n\r\n private ImportArticleShow = false;\r\n private gatherArticleBylink: any = \"\"; //微信公众号导入的文章地址\r\n\r\n private ImportWordShow = false;\r\n\r\n private disabled = false;\r\n\r\n private isClear = false;\r\n //匹配图片(g表示匹配所有结果i表示区分大小写)\r\n private wxwxdomain: any = \"\";\r\n private imgReg = /|\\/>)/gi;\r\n\r\n //匹配media_id属性\r\n private mediaIdReg = /media_id=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i;\r\n //匹配音乐标签\r\n private qqmusicReg = //gi;\r\n //匹配语音标签\r\n private mpvoiceReg = //gi;\r\n //匹配标签地址 https:\\/\\/v.qq.com.*?(?:)[\\'\\\"]\r\n private labelReg = /<.*?(?:)<\\/.*.>/gi;\r\n //匹配iframes标签\r\n private iframeReg = //gi;\r\n //腾讯视频匹配标签\r\n private qqVideoRegSrc = /https:\\/\\/v.qq.com.*?(?:)[\\'\\\"]/gi;\r\n //微信卡券标签\r\n private wxCradRegSrc = /data-display-src=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/gi;\r\n //匹配class标签\r\n private classRegSrc = /class=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i;\r\n //提取src地址\r\n private srcReg = /src=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i;\r\n //提取data-src地址\r\n private dataSrcReg = /data-src=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i;\r\n private MaterialListForm: any = {\r\n ActionName: \"CREATE\",\r\n Id: 0,\r\n Title: \"\",\r\n TenantID: 0,\r\n Aid: 0,\r\n Type: \"\",\r\n Contents: \"\",\r\n Review: 1,\r\n Sort: 10,\r\n Remarks: \"\"\r\n };\r\n\r\n private quill: any;\r\n data() {\r\n return {\r\n //tabsType: \"热门\",\r\n //stringType: \"热门\",\r\n rulesMaterialList: {\r\n // MaterialListFormType: [\r\n // { required: true, message: \"请输入名称\", trigger: \"blur\" }\r\n // ],\r\n Title: [\r\n { required: true, message: \"请输入名称\", trigger: \"blur\" },\r\n { min: 2, max: 20, message: \"长度在 1 到 50 个字符\", trigger: \"blur\" }\r\n ],\r\n Contents: [\r\n { required: true, message: \"请输入模板内容\", trigger: \"blur\" },\r\n {\r\n min: 10,\r\n max: 20000,\r\n message: \"长度在 1 到 20000 个字符\",\r\n trigger: \"blur\"\r\n }\r\n ],\r\n Sort: [\r\n { required: true, message: \"请输入排序号\", trigger: \"blur\" }\r\n //{ min: 0, max: 2, message: \"长度在 1 到 50 个字符\", trigger: \"blur\" }\r\n ]\r\n },\r\n props: { multiple: true }\r\n };\r\n } \r\n loadCreate(){\r\n this.LoadMaterialSortData();\r\n this.LoadMaterialListData();\r\n this.tagHotListSelct = this.GetAppData.TenantID;\r\n this.tagHotList(this.GetAppData.TenantID);\r\n this.loadImages(); //加载素材库图片\r\n //console.log(this.AddaccountForm);\r\n let i = 0;\r\n for (i; i < 1; i++) {\r\n let wxmodel = new WxTextImg();\r\n wxmodel.ApplicationId = this.GetAppData.Aid;\r\n wxmodel.TenantId = this.GetAppData.TenantID;\r\n this.ArticleList.push(wxmodel);\r\n }\r\n // debugger\r\n //加载修改的数据\r\n if (this.$route.query.id) {\r\n this.modfiyId = this.$route.query.id;\r\n this.GetWxAppReplyGraphicListAsync();\r\n this.switchStyle = false;\r\n this.$message.warning(\"请从左侧选择要编辑文章!\");\r\n // this.disabled = true;\r\n } else {\r\n this.AddaccountForm = this.ArticleList[0];\r\n }\r\n }\r\n //初始化\r\n created() {\r\n // this.quill = new Quill(\".editor\");\r\n //this.quill.insertText(0, \"Hello\", \"bold\", true);\r\n this.scrollHeight = document.body.scrollHeight - 450;\r\n let Aid = getCookie(\"Aid\");\r\n let TenantID = getCookie(\"TenantID\");\r\n this.GetAppData = {\r\n Aid: Aid,\r\n TenantID: TenantID\r\n };\r\n var that = this;\r\n Bus.$off(\"switchAccountFn\");\r\n Bus.$on(\"switchAccountFn\", (obj:any) => {\r\n that.GetAppData.Aid=obj.Aid; \r\n that.loadCreate(); \r\n });\r\n this.loadCreate();\r\n //let quill = (this as any).$refs.myQuillEditor.quill;\r\n //console.log(this.quill);\r\n // this.quill.setText(\"Hello\\n\");\r\n }\r\n mounted() {\r\n //let content = this.AddaccountForm.Contents; // 请求后台返回的内容字符串\r\n //this.AddaccountForm.Contents = this.escapeStringHTML(content);\r\n Bus.$on(\"tinymceValue\", (Item: any) => {\r\n this.AddaccountForm.Contents = Item;\r\n });\r\n Bus.$on(\"wxdomain\", (Item: any) => {\r\n this.wxwxdomain = Item;\r\n });\r\n this.loadMediaList(2).then(result => {\r\n //加载素材库视频\r\n Bus.$emit(\"wxVideo\", result);\r\n });\r\n this.loadMediaList(1).then(result => {\r\n //加载素材库语音\r\n // console.log(result);\r\n Bus.$emit(\"wxVoice\", result);\r\n });\r\n //加载微信卡券数据\r\n this.GetWeiXinCardListAsync();\r\n }\r\n //加载微信卡券数据\r\n async GetWeiXinCardListAsync() {\r\n let Aid = getCookie(\"Aid\");\r\n let TenantID = getCookie(\"TenantID\");\r\n let params = {\r\n Input: [\r\n {\r\n Name: \"account\",\r\n value: {\r\n TenantID: TenantID,\r\n Aid: Aid\r\n }\r\n },\r\n {\r\n Name: \"statusList\",\r\n value: \"CARD_STATUS_VERIFY_OK,CARD_STATUS_DISPATCH\"\r\n },\r\n //分页参数\r\n { Name: \"offset\", value: 0 }, //跳过数量\r\n { Name: \"count\", value: 50 }\r\n ]\r\n };\r\n // console.log(params);\r\n var res = await httpApi.GetWeiXinCardListAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n let wxcardItems: any = [];\r\n let tempData = JSON.parse(res.output[0].value);\r\n //console.log(res.output[0].value);\r\n //console.log(res.output[1].value);\r\n Bus.$emit(\"wxBiz\", res.output[1].value);\r\n wxcardItems = wxCard.loadData(tempData);\r\n Bus.$emit(\"wxCardData\", wxcardItems);\r\n }\r\n }\r\n //显示隐藏左侧\r\n leftShowHide() {\r\n if (this.leftShow) {\r\n this.rightStyle = { width: \"calc(100% - 286px)\" };\r\n } else {\r\n this.rightStyle = { width: \"100%\" };\r\n }\r\n }\r\n //加载多媒体数据\r\n async loadMediaList(strType: number) {\r\n //console.log(strType);\r\n\r\n let Aid = getCookie(\"Aid\");\r\n let TenantID = getCookie(\"TenantID\");\r\n let params = {\r\n Input: [\r\n { Name: \"Aid\", value: Aid },\r\n { Name: \"type\", value: 0 },\r\n { Name: \"keyword\", value: \"\" },\r\n { Name: \"Nature\", value: \"1\" },\r\n //分页参数\r\n { Name: \"page\", value: 0 },\r\n { Name: \"rows\", value: 1000 }\r\n ]\r\n };\r\n //console.log(params);\r\n var res = await httpApi.Getvoid(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n let tempData = res.output[0].value;\r\n //console.log(tempData);\r\n //视频素材\r\n let videoItems: any = [];\r\n tempData.forEach((e: any) => {\r\n if (\r\n e.Type == strType &&\r\n e.State == 1 &&\r\n e.Nature == 1 &&\r\n e.Review == 1\r\n ) {\r\n // console.log(e);\r\n let vid = \"\";\r\n if (strType == 2) {\r\n var tempArry = e.VoiceLink.split(\"&\");\r\n tempArry.forEach((a: any) => {\r\n var tempUrl = a.split(\"=\");\r\n //console.log(tempUrl);\r\n if (tempUrl[0] == \"vid\") {\r\n //console.log(tempUrl[1]);\r\n vid = tempUrl[1];\r\n }\r\n });\r\n\r\n videoItems.push(\r\n {\r\n type: \"checkbox\",\r\n name:\r\n e.MediaId +\r\n \"%_%_%\" +\r\n e.VoiceLink +\r\n \"%_%_%\" +\r\n encodeURIComponent(e.VoiceTitle),\r\n label:\r\n e.VoiceTitle +\r\n \"(\" +\r\n e.Keyword +\r\n \") \",\r\n value: e.HighLink,\r\n vid: vid\r\n }\r\n // {\r\n // type: \"htmlpanel\", // component type\r\n // html: e.VoiceTitle\r\n // }\r\n );\r\n } else {\r\n videoItems.push(\r\n {\r\n type: \"checkbox\",\r\n name:\r\n e.MediaId +\r\n \"%_%_%\" +\r\n encodeURIComponent(e.VoiceTitle) +\r\n \"%_%_%\" +\r\n e.HighLink,\r\n label:\r\n e.VoiceTitle +\r\n \"(\" +\r\n e.Keyword +\r\n \") \",\r\n value: e.MediaId\r\n }\r\n // {\r\n // type: \"htmlpanel\", // component type\r\n // html: e.VoiceTitle\r\n // }\r\n );\r\n }\r\n }\r\n });\r\n //console.log(videoItems);\r\n return videoItems;\r\n }\r\n }\r\n //加载微信公众号文章\r\n async ImportArticle() {\r\n let params: any = {\r\n Input: [\r\n //{ Name: \"aid\", value: this.GetAppData.Aid },\r\n { Name: \"url\", value: this.gatherArticleBylink },\r\n {\r\n Name: \"aid\",\r\n value: this.GetAppData.Aid\r\n }\r\n ]\r\n };\r\n this.loadingDialog = true;\r\n //console.log(params);\r\n var res: any = await httpApi.GetHtmlStr(params);\r\n this.loadingDialog = false;\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n let tempVal = res.output[0].value;\r\n //console.log(tempVal);\r\n this.AddaccountForm.GraphicTitle = tempVal.title;\r\n this.AddaccountForm.Contents = tempVal.content;\r\n this.AddaccountForm.UpdaterName = tempVal.author;\r\n this.AddaccountForm.CoverImage = tempVal.image;\r\n this.AddaccountForm.ContentSourceUrl = tempVal.linkurl;\r\n this.AddaccountForm.Remarks = tempVal.description;\r\n this.AddaccountForm.ThumbMediaId = tempVal.mediaid;\r\n this.ImportArticleShow = false;\r\n this.gatherArticleBylink = \"\";\r\n //提取图片\r\n this.stockcontentData = [];\r\n this.stockcontentData.push({\r\n MediaId: this.AddaccountForm.ThumbMediaId,\r\n UploadImage: this.AddaccountForm.CoverImage\r\n });\r\n this.selectContents(this.AddaccountForm, 0);\r\n // arrmusic.forEach((e: any) => {\r\n // console.log(e);\r\n // });\r\n //图片匹配\r\n var arr = this.AddaccountForm.Contents.match(this.imgReg);\r\n for (var i = 0; i < arr.length; i++) {\r\n var src = arr[i].match(this.srcReg);\r\n var mediaId = arr[i].match(this.mediaIdReg);\r\n if (src[1]) {\r\n var temFile = src[1].length;\r\n var suffix = src[1].substr(temFile - 3, temFile - 1); //取最后三位\r\n if (suffix.toLowerCase() != \"gif\") {\r\n if (mediaId) {\r\n if (src[1] && mediaId[1]) {\r\n this.stockcontentData.push({\r\n MediaId: mediaId[1],\r\n UploadImage: src[1]\r\n });\r\n }\r\n } else {\r\n this.stockcontentData.push({\r\n MediaId: \"\",\r\n UploadImage: src[1]\r\n });\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n this.gatherArticleBylink = \"\";\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n }\r\n //查询微信文章列表\r\n async GetWxAppReplyGraphicListAsync() {\r\n let params: any = {\r\n Input: [\r\n //{ Name: \"aid\", value: this.GetAppData.Aid },\r\n { Name: \"id\", value: this.modfiyId }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWxAppReplyGraphicListAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.ArticleList = res.output[0].value;\r\n //console.log(res.output[1].value);\r\n //this.selectContents(res.output[1].value, res.output[1].value.SortId);\r\n // this.$forceUpdate();\r\n // this.AddaccountForm = res.output[1].value;\r\n this.articleClicked = -1; //res.output[1].value.SortId;\r\n } else {\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n }\r\n //加载素材库图片\r\n async loadImages() {\r\n let params: any = {\r\n Input: [\r\n { Name: \"Aid\", value: this.GetAppData.Aid },\r\n { Name: \"Nature\", value: 1 },\r\n { Name: \"Key\", value: this.imageKey },\r\n { Name: \"filetype\", value: \"gif\" },\r\n //分页参数\r\n { Name: \"page\", value: this.pageIndex },\r\n { Name: \"rows\", value: this.pagesize },\r\n { Name: \"rows\", State: 1 }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetImgText(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.stockImagesData = res.output[0].value;\r\n } else {\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n }\r\n //选择中的图片\r\n selectImg(item: any, index: number) {\r\n // console.log(item);\r\n this.selectImgClicked = index;\r\n this.AddaccountForm.ThumbMediaId = item.MediaId;\r\n this.AddaccountForm.CoverImage = item.UploadImage;\r\n }\r\n //当前选中的图片\r\n insertImg(item: any, index: number) {\r\n this.insertImgData = item;\r\n this.selectEditClicked = index;\r\n }\r\n //确认的时候选择图片\r\n editImge() {\r\n //console.log(this.insertImgData);\r\n\r\n if (this.insertImgData.UploadImage) {\r\n // this.editorInstance.execCommand(\r\n // \"insertHtml\",\r\n // \"\",\r\n // Ueditor\r\n // );\r\n //(this as any).$refs.wangEditor.editor.cmd.do(\r\n // \"insertHTML\",\r\n // \"\"\r\n //);\r\n if (this.editorInstance.length == 0) {\r\n this.$message.error(\"请先选择右侧编辑器需要插入的位置\");\r\n return;\r\n }\r\n this.editorInstance.activeEditor.selection.setContent(\r\n \"\"\r\n );\r\n this.stockEditShow = false;\r\n this.selectEditClicked = -1;\r\n this.insertImgData = [];\r\n } else {\r\n this.$message.warning(\"请选择需要插入的图片!\");\r\n }\r\n }\r\n //取消选择\r\n selectImgcancle() {\r\n this.stockImagesShow = false;\r\n this.stockcontentShow = false;\r\n this.selectImgClicked = -1;\r\n this.AddaccountForm.ThumbMediaId = \"\";\r\n this.AddaccountForm.CoverImage = \"\";\r\n }\r\n //取消方法\r\n cancle() {\r\n if (this.modfiyId) {\r\n this.$router.push(\"/tenants/wx-message?activeName=third\");\r\n }\r\n this.$emit(\"refresh\");\r\n }\r\n //选择内容\r\n selectContents(item: any, index: number) {\r\n //this.disabled = false;\r\n this.articleClicked = index;\r\n this.AddaccountForm = item;\r\n //提取图片\r\n this.stockcontentData = [];\r\n this.stockcontentData.push({\r\n MediaId: item.ThumbMediaId,\r\n UploadImage: item.CoverImage\r\n });\r\n if (item.Contents) {\r\n //console.log(item.Contents);\r\n item.Contents = item.Contents.replace(/data-honesrc/g, \"src\");\r\n item.Contents = item.Contents.replace(/data-honedata-src/g, \"data-src\");\r\n //查找标签\r\n var arraylabel = item.Contents.match(this.labelReg);\r\n // console.log(arrqqvideo.length);\r\n if (arraylabel) {\r\n arraylabel.forEach((e: any) => {\r\n //console.log(e);\r\n //οnlοad=\"AutoResizeImage(0,0,this)\r\n //iframe开始\r\n var iframeStr = e.match(this.iframeReg);\r\n if (iframeStr) {\r\n iframeStr.forEach((iframeData: any) => {\r\n //console.log(iframeData);\r\n\r\n var iframeClass = iframeData.match(this.classRegSrc);\r\n //console.log(iframeClass);\r\n if (iframeClass) {\r\n if (iframeClass.length == 2) {\r\n //console.log(iframeClass[1]);\r\n let classData = iframeClass[1].split(\" \");\r\n classData.forEach((ele: any) => {\r\n if (ele == \"video_iframe\") {\r\n // console.log(\"视频\"+iframeData);\r\n let videoUrl = \"\";\r\n //提取地址取data-src\r\n var dataSrcData = iframeData.match(this.dataSrcReg);\r\n //console.log(dataSrcData);\r\n if (dataSrcData) {\r\n videoUrl = dataSrcData[1];\r\n }\r\n\r\n if (!videoUrl) {\r\n //data-src没有提取src地址\r\n var SrcData = iframeData.match(this.srcReg);\r\n if (SrcData) {\r\n videoUrl = SrcData[1];\r\n }\r\n }\r\n if (!videoUrl) {\r\n console.log(\"提取视频地址错误!\");\r\n } else {\r\n //console.log(videoUrl);\r\n\r\n //微信公众号视频开始\r\n //视频播放地址 https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&vid=wxv_1006129096096710656&auto=1\r\n //视频默认图片地址:https://mp.weixin.qq.com/mp/videoplayer?action=get_mp_video_cover&vid=wxv_1135310187033755648\r\n //请求公众号视频资源地址:https://mp.weixin.qq.com/mp/videoplayer?action=get_mp_video_play_url&preview=0&__biz=&mid=&idx=&vid=wxv_1006129096096710656&uin=&key=&pass_ticket=&wxtoken=&appmsg_token=&x5=0&f=json\r\n var wxVideoData = videoUrl.indexOf(\"mp.weixin.qq.com\");\r\n // console.log(wxVideoData);\r\n if (wxVideoData > -1) {\r\n var tempArrySrc = videoUrl.split(\"&\");\r\n tempArrySrc.forEach(async (a: any) => {\r\n a = a.replace(\"amp;\", \"\");\r\n // console.log(a);\r\n var tempA = a.split(\"=\");\r\n if (tempA.length == 2) {\r\n if (tempA[0] == \"vid\") {\r\n //console.log(tempA[1]);\r\n let vid = tempA[1];\r\n //if (iframeData.indexOf(\" src=\") == -1) {\r\n //提取公众号视频资源地址\r\n var params = {\r\n Input: [\r\n //{ Name: \"aid\", value: this.GetAppData.Aid },\r\n {\r\n Name: \"url\",\r\n value:\r\n \"https://mp.weixin.qq.com/mp/videoplayer?action=get_mp_video_play_url&preview=0&__biz=&mid=&idx=&vid=\" +\r\n vid +\r\n \"&uin=&key=&pass_ticket=&wxtoken=&appmsg_token=&x5=0&f=json\"\r\n }\r\n ]\r\n };\r\n\r\n // console.log(params);\r\n var res = await httpApi.GetHtmlUrl(params);\r\n if (res.ErrorCode == 0) {\r\n let wxVideoArry = JSON.parse(\r\n res.output[0].value\r\n ).url_info;\r\n var wxVideoUrlData = wxVideoArry[1];\r\n console.log(wxVideoUrlData.url);\r\n let html = iframeData.replace(\r\n \" data-src\",\r\n \"src='\" +\r\n wxVideoUrlData.url +\r\n \"' width='\" +\r\n wxVideoUrlData.width +\r\n \"' height='\" +\r\n wxVideoUrlData.height +\r\n \"' data-src\"\r\n );\r\n\r\n //.replace(/amp;/g, \"\")\r\n //.replace(/data-hone/g, \"\")\r\n // .replace(\r\n // \"data-src\",\r\n // \"style=\\\"background-image: url('https://mp.weixin.qq.com/mp/videoplayer?action=get_mp_video_cover&vid=\" +\r\n // tempA[1] +\r\n // \"')\\\" width='574' height='323' data-src\"\r\n // );\r\n //console.log(html);\r\n //src='https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=\" + tempA[1] + \"'\r\n // html =\r\n // html +\r\n // \"播放视频\";\r\n item.Contents = item.Contents.replace(\r\n iframeData,\r\n html\r\n );\r\n }\r\n }\r\n }\r\n //}\r\n });\r\n }\r\n }\r\n\r\n //微信公众号视频结束\r\n //腾讯视频开始\r\n var qqVideoData = iframeData.match(this.qqVideoRegSrc);\r\n if (qqVideoData) {\r\n //console.log(df);\r\n qqVideoData.forEach((element: any) => {\r\n var tempArrySrc = element.split(\"&\");\r\n tempArrySrc.forEach((a: any) => {\r\n a = a.replace(\"amp;\", \"\");\r\n // console.log(a);\r\n var tempA = a.split(\"=\");\r\n if (tempA.length == 2) {\r\n if (tempA[0] == \"vid\") {\r\n let html =\r\n '';\r\n // console.log(html);\r\n item.Contents = item.Contents.replace(\r\n iframeData,\r\n html\r\n );\r\n }\r\n }\r\n });\r\n });\r\n }\r\n //腾讯视频结束\r\n }\r\n //公众号卡券开始\r\n if (ele == \"js_editor_card\") {\r\n //console.log(iframeData);\r\n item.Contents = item.Contents.replace(\r\n 'src=\"..',\r\n 'src=\"http://' + window.location.host\r\n );\r\n //console.log(window.location.host);\r\n\r\n //wxCradRegSrc\r\n let wxCardData = iframeData.match(this.wxCradRegSrc);\r\n //console.log(wxCardData);\r\n wxCardData.forEach((e: any) => {\r\n //console.log(e);\r\n let temp = e\r\n .replace(\"data-display-src=\", \"\")\r\n .replace(/\"/g, \"\")\r\n .replace(/amp;/g, \"\");\r\n //console.log(temp);\r\n let b = temp.split(\"&\");\r\n console.log(b);\r\n let logo_url = \"\";\r\n let cardid = \"\";\r\n let brand_name = \"\";\r\n let title = \"\";\r\n let color = \"\";\r\n b.forEach((c: any) => {\r\n // console.log(c);\r\n var kdf = c.split(\"=\");\r\n if (kdf[0] == \"cardid\") {\r\n cardid = kdf[1];\r\n }\r\n if (kdf[0] == \"logo_url\") {\r\n logo_url = kdf[1];\r\n }\r\n if (kdf[0] == \"brand_name\") {\r\n brand_name = kdf[1];\r\n }\r\n if (kdf[0] == \"title\") {\r\n title = kdf[1];\r\n }\r\n if (kdf[0] == \"color\") {\r\n color = kdf[1];\r\n }\r\n });\r\n //console.log(cardid);\r\n let urlpaes =\r\n \"logo_url=\" +\r\n logo_url +\r\n \"&brand_name=\" +\r\n brand_name +\r\n \"&title=\" +\r\n title +\r\n \"&color=\" +\r\n color;\r\n let html =\r\n '';\r\n console.log(html);\r\n item.Contents = item.Contents.replace(iframeData, html);\r\n });\r\n }\r\n //公众号卡券结束\r\n });\r\n }\r\n }\r\n });\r\n }\r\n //iframe结束\r\n });\r\n /*for (var i = 0; i < arrqqvideo.length; i++) {\r\n var e = arrqqvideo[i];\r\n console.log(e);\r\n var df = e.match(this.videoRegSrc);\r\n df.forEach((element: any) => {\r\n var tempArrySrc = element.split(\"&\");\r\n tempArrySrc.forEach((a: any) => {\r\n a = a.replace(\"amp;\", \"\");\r\n // console.log(a);\r\n var tempA = a.split(\"=\");\r\n if (tempA.length == 2) {\r\n if (tempA[0] == \"vid\") {\r\n let html =\r\n '';\r\n console.log(html);\r\n item.Contents = item.Contents.replace(e, html);\r\n }\r\n }\r\n });\r\n });\r\n // https://v.qq.com/txp/iframe/player.html?vid=b30437v4uwh\r\n }*/\r\n }\r\n //音乐匹配\r\n var arrmusic = item.Contents.match(this.qqmusicReg);\r\n if (arrmusic) {\r\n arrmusic.forEach((e: any) => {\r\n var tempdata = e.replace(\r\n \"\", \"iframe>\");\r\n //提取src\r\n console.log(tempdata);\r\n var musicSrc = tempdata.match(this.srcReg);\r\n console.log(musicSrc);\r\n // tempdata = tempdata.replace(\r\n // musicSrc[1],\r\n // musicSrc[1].replace(\"src=\\\"..\", \"src=\\\"http://\" + window.location.host)\r\n // );\r\n // console.log(tempdata);\r\n\r\n item.Contents = item.Contents.replace(e, tempdata);\r\n });\r\n }\r\n //语音\r\n var arrmpvoice = item.Contents.match(this.mpvoiceReg);\r\n //console.log(arrmpvoice);\r\n if (arrmpvoice) {\r\n arrmpvoice.forEach((e: any) => {\r\n var tempdata = e.replace(\"\", \"iframe>\");\r\n //提取src\r\n var musicSrc = tempdata.match(this.srcReg);\r\n tempdata = tempdata.replace(\r\n musicSrc[1],\r\n \"https://mp.weixin.qq.com/\" + musicSrc[1]\r\n );\r\n //console.log(tempdata);\r\n item.Contents = item.Contents.replace(e, tempdata);\r\n });\r\n }\r\n\r\n //提取图片\r\n var arr = item.Contents.match(this.imgReg);\r\n if (arr) {\r\n for (var i = 0; i < arr.length; i++) {\r\n // debugger;\r\n let tempImg = arr[i];\r\n if (tempImg.indexOf(\"src\") == -1) {\r\n tempImg = tempImg.replace(\"data-src\", \"src\");\r\n item.Contents = item.Contents.replace(arr[i], tempImg);\r\n }\r\n let src = tempImg.match(this.srcReg);\r\n let mediaId = arr[i].match(this.mediaIdReg);\r\n if (src[1]) {\r\n let temFile = src[1].length;\r\n let suffix = src[1].substr(temFile - 3, temFile - 1); //取最后三位\r\n if (suffix.toLowerCase() != \"gif\") {\r\n // console.log(mediaId);\r\n if (mediaId) {\r\n if (src[1] && mediaId[1]) {\r\n this.stockcontentData.push({\r\n MediaId: mediaId[1],\r\n UploadImage: src[1]\r\n });\r\n }\r\n } else {\r\n this.stockcontentData.push({\r\n MediaId: \"\",\r\n UploadImage: src[1]\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (index == 0) {\r\n this.CoverImagewidth = 235;\r\n this.CoverImageheight = 100;\r\n } else {\r\n this.CoverImagewidth = 175;\r\n this.CoverImageheight = 175;\r\n }\r\n }\r\n //删除左侧数据\r\n delarticle(index: number) {\r\n //console.log(index);\r\n this.ArticleList.splice(index, 1);\r\n this.articleClicked = 0;\r\n this.AddaccountForm = this.ArticleList[0];\r\n //this.$forceUpdate();\r\n this.$emit(\"refresh\");\r\n //console.log(this.AddaccountForm);\r\n }\r\n //左侧增加\r\n addarticle() {\r\n let wxmodel = new WxTextImg();\r\n wxmodel.ApplicationId = this.GetAppData.Aid;\r\n wxmodel.TenantId = this.GetAppData.TenantID;\r\n this.ArticleList.push(wxmodel);\r\n }\r\n //保存数据(文章多条)\r\n async SavaTextData() {\r\n let isData = true;\r\n //验证数据\r\n if (this.ArticleList.length == 0) {\r\n this.$message.warning(\"请至少保证有一篇文章!\");\r\n return;\r\n }\r\n if (!this.ArticleList[0]) {\r\n this.$message.warning(\"请保证主文章(第一篇文章)有数据!\");\r\n return;\r\n }\r\n //console.log(this.ArticleList);\r\n this.ArticleList.forEach((e: any) => {\r\n if (!e.GraphicTitle || !e.Contents || !e.CoverImage) {\r\n this.$message.warning(\"标题,内容,封面图片不能为空!\");\r\n isData = false;\r\n return;\r\n }\r\n });\r\n\r\n if (isData) {\r\n let params: any = {\r\n Input: [\r\n { Name: \"AppReplyGraphicDTO\", value: this.ArticleList },\r\n { Name: \"action\", value: \"\" }\r\n ]\r\n };\r\n // console.log(params);\r\n this.loading = true;\r\n // console.log(params);\r\n var res: any = await httpApi.AppReplyGraphicUpdatesAsync(params);\r\n this.loading = false;\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.$message.success(\"保存成功!\");\r\n this.ArticleList = [];\r\n this.stockImagesData = [];\r\n let wxmodel = new WxTextImg();\r\n wxmodel.ApplicationId = this.GetAppData.Aid;\r\n wxmodel.TenantId = this.GetAppData.TenantID;\r\n this.ArticleList.push(wxmodel);\r\n this.AddaccountForm = wxmodel;\r\n this.articleClicked = 0;\r\n if (this.$route.query.id) {\r\n this.modfiyId = this.$route.query.id;\r\n this.GetWxAppReplyGraphicListAsync();\r\n }\r\n this.loadImages();\r\n //this.$router.push(\"/tenants/wx-echarts\");\r\n } else {\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n }\r\n }\r\n //上传之前的校验\r\n async onBeforeUploadImage(file: any) {\r\n const isIMAGE = file.type === \"image/jpeg\" || \"image/jpg\" || \"image/png\";\r\n const isLt1M = file.size / 1024 / 1024 < 2;\r\n if (!isIMAGE) {\r\n this.$message.error(\"上传文件只能是图片格式!\");\r\n return;\r\n }\r\n if (!isLt1M) {\r\n this.$message.error(\"上传文件大小不能超过 1MB!\");\r\n return;\r\n }\r\n return isIMAGE && isLt1M;\r\n }\r\n //上传之前的校验\r\n async onBeforeUploadWord(file: any) {\r\n const isIMAGE =\r\n file.type === \"application/msword\" ||\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\";\r\n const isLt1M = file.size / 1024 / 1024 < 10;\r\n if (!isIMAGE) {\r\n this.$message.error(\"上传文件只能是doc,docx格式!\");\r\n return;\r\n }\r\n if (!isLt1M) {\r\n this.$message.error(\"上传文件大小不能超过 10MB!\");\r\n return;\r\n }\r\n return isIMAGE && isLt1M;\r\n }\r\n //编辑器上传图片\r\n async UploadImageTwo(param: any) {\r\n let reader = new FileReader();\r\n // let that = this\r\n reader.readAsDataURL(param.file);\r\n //console.log(param);\r\n reader.onload = async e => {\r\n if (e.target) {\r\n let obj: any = (e.target as any).result;\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"Type\",\r\n value: \"AppReplyImage\"\r\n },\r\n {\r\n Name: \"FileName\",\r\n value: param.file.name\r\n },\r\n {\r\n Name: \"FileBase64\",\r\n value: obj\r\n },\r\n {\r\n Name: \"uploadWx\",\r\n value: 1\r\n },\r\n {\r\n Name: \"aid\",\r\n value: this.GetAppData.Aid\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetUpload(params);\r\n //console.log(res);\r\n\r\n if (res.ErrorCode == 0) {\r\n //console.log(res.output[0].value.url);\r\n /* this.editorInstance.execCommand(\r\n \"insertHtml\",\r\n \"\",\r\n Ueditor\r\n );*/\r\n // (this as any).$refs.wangEditor.editor.cmd.do(\r\n // \"insertHTML\",\r\n // \"\"\r\n // );\r\n // var range = this.quill.getSelection(true);\r\n // this.quill.insertEmbed(range.index, \"image\", res.output[0].value.url);\r\n if (this.editorInstance.length == 0) {\r\n this.$message.error(\"请先选择右侧编辑器需要插入的位置\");\r\n return;\r\n }\r\n this.editorInstance.activeEditor.selection.setContent(\r\n \"\"\r\n );\r\n this.stockcontentData.push({\r\n MediaId: res.output[0].value.media_id,\r\n UploadImage: res.output[0].value.url\r\n });\r\n this.$message.success(\"上传图片成功\");\r\n } else {\r\n this.$message.error(\"保存失败:\" + res.ErrorMessage);\r\n }\r\n }\r\n };\r\n }\r\n\r\n //上传图片\r\n async UploadImage(param: any) {\r\n let vm = this;\r\n let reader = new FileReader();\r\n // let that = this\r\n reader.readAsDataURL(param.file);\r\n //console.log(param);\r\n reader.onload = async e => {\r\n if (e.target) {\r\n let obj: any = (e.target as any).result;\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"Type\",\r\n value: \"AppReplyImage\"\r\n },\r\n {\r\n Name: \"FileName\",\r\n value: param.file.name\r\n },\r\n {\r\n Name: \"FileBase64\",\r\n value: obj\r\n },\r\n {\r\n Name: \"uploadWx\",\r\n value: 1\r\n },\r\n {\r\n Name: \"aid\",\r\n value: this.GetAppData.Aid\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetUpload(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.AddaccountForm.CoverImage = res.output[0].value.url;\r\n this.AddaccountForm.ThumbMediaId = res.output[0].value.media_id;\r\n } else {\r\n this.$message.error(\"保存失败:\" + res.ErrorMessage);\r\n }\r\n }\r\n };\r\n }\r\n //上传word文件\r\n async UploadWord(param: any) {\r\n let reader = new FileReader();\r\n // let that = this\r\n reader.readAsDataURL(param.file);\r\n //console.log(param);\r\n reader.onload = async e => {\r\n if (e.target) {\r\n let obj: any = (e.target as any).result;\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"Type\",\r\n value: \"uploadfileWord\"\r\n },\r\n {\r\n Name: \"FileName\",\r\n value: param.file.name\r\n },\r\n {\r\n Name: \"FileBase64\",\r\n value: obj\r\n },\r\n {\r\n Name: \"aid\",\r\n value: this.GetAppData.Aid\r\n }\r\n ]\r\n };\r\n this.loadingDialog = true;\r\n //console.log(JSON.stringify(params));\r\n var res: any = await httpApi.UploadWord(params);\r\n this.loadingDialog = false;\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.AddaccountForm.Contents = res.output[0].value;\r\n this.ImportWordShow = false;\r\n //提取图片\r\n var arr = this.AddaccountForm.Contents.match(this.imgReg);\r\n for (var i = 0; i < arr.length; i++) {\r\n var src = arr[i].match(this.srcReg);\r\n var mediaId = arr[i].match(this.mediaIdReg);\r\n if (mediaId) {\r\n if (src[1] && mediaId[1]) {\r\n this.stockcontentData.push({\r\n MediaId: mediaId[1],\r\n UploadImage: src[1]\r\n });\r\n }\r\n } else {\r\n this.stockcontentData.push({\r\n MediaId: \"\",\r\n UploadImage: src[1]\r\n });\r\n }\r\n }\r\n } else {\r\n this.$message.error(\"上传word文件失败:\" + res.ErrorMessage);\r\n }\r\n }\r\n };\r\n }\r\n method() {}\r\n //实例化编辑器\r\n ready(editorInstance: any) {\r\n //console.log(`编辑器实例${editorInstance.key}: `, editorInstance);\r\n // this.editorInstance = editorInstance;\r\n //console.log(editorInstance);\r\n }\r\n //加载内容\r\n async addContents(item: any) {\r\n // console.log(this.editorInstance.length);\r\n\r\n if (this.editorInstance.length == 0) {\r\n this.$message.error(\"请先选择右侧编辑器需要插入的位置\");\r\n return;\r\n }\r\n this.editorInstance.activeEditor.selection.setContent(item.Contents);\r\n //console.log((this as any).$refs.tinymceeditor);\r\n // (this as any).$refs.tinymceeditor.execCommand(\"insertHTML\", item.Contents);\r\n //(this as any).$refs.tinymceeditor.myValue= item.Contents;\r\n //this.AddaccountForm.Contents = item.Contents;\r\n //this.editorInstance.execCommand(\"insertHtml\", item.Contents, Ueditor);\r\n //this.AddaccountForm.Contents=item.Contents;\r\n\r\n //console.log(this.$refs.wangEditor);\r\n\r\n // (this as any).$refs.wangEditor.editor.cmd.do(\"insertHTML\", item.Contents);\r\n //debugger;\r\n //var ojb = (this as any).$refs.myQuillEditor.quill;\r\n // console.log(ojb);\r\n\r\n //console.log(this.$refs.myQuillEditor);\r\n //this.quill.setText(item.Contents);\r\n //this.quill.insertEmbed(10, 'image', 'http://quilljs.com/images/cloud.png');\r\n // this.quill.setContents([{ insert: item.Contents }]);\r\n /* var range = this.quill.getSelection();\r\n console.log(range);\r\n\r\n if (range) {\r\n if (range.length == 0) {\r\n this.quill.insertText(0, item.Contents);\r\n // console.log('User cursor is at index', range.index);\r\n } else {\r\n this.quill.insertText(range.index, item.Contents);\r\n var text = this.quill.getText(range.index, range.length);\r\n console.log(\"User has highlighted: \", text);\r\n }\r\n } else {\r\n this.quill.insertText(0, item.Contents);\r\n //console.log('User cursor is not in editor');\r\n }*/\r\n //this.$refs.myQuillEditor.appendChild(item.Contents)\r\n //( this as any).$refs.myQuillEditor.value=item.Contents;\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"TenantID\",\r\n Value: item.TenantID\r\n },\r\n {\r\n Name: \"id\",\r\n Value: item.Id\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWeiXinArticleMaterialNumberAsync(params);\r\n //console.log(res);\r\n\r\n //this.editContents = item;\r\n }\r\n //加载背景颜色\r\n async addBackground(item: any, ojb: any) {\r\n let backgroundObj = {\r\n \"background-position\": \"center center\",\r\n background: item.Contents\r\n };\r\n this.clicked = ojb;\r\n this.editorInstance.execCommand(\"background\", backgroundObj);\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"TenantID\",\r\n Value: item.TenantID\r\n },\r\n {\r\n Name: \"id\",\r\n Value: item.Id\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWeiXinArticleMaterialNumberAsync(params);\r\n //console.log(res);\r\n }\r\n //加载全部内容\r\n addContentsAll(item: any) {\r\n let result = this.ListModelData.filter(\r\n (d: { Type: any }) => d.Type == item\r\n );\r\n if (this.editorInstance.length == 0) {\r\n this.$message.error(\"请先选择右侧编辑器需要插入的位置\");\r\n return;\r\n }\r\n result.forEach((e: any) => {\r\n if (e.Contents) {\r\n this.addContents(e);\r\n }\r\n });\r\n }\r\n //加载第一条\r\n viewContentsAll(item: any) {\r\n if (this.ListModelData) {\r\n let result = this.ListModelData.filter(\r\n (d: { Type: any }) => d.Type == item\r\n );\r\n if (result) {\r\n if (result.length > 0) {\r\n return result[0].Contents;\r\n }\r\n }\r\n }\r\n }\r\n //清空内容\r\n ClearContent() {\r\n if (this.AddaccountForm.Contents) {\r\n this.$confirm(\r\n \"是否确认清空当前文章,清空后内容将无法恢复,请自行保存内容\",\r\n \"清空当前文章\",\r\n {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }\r\n ).then(async () => {\r\n this.AddaccountForm.Contents = \"\";\r\n // console.log(this.$refs.tinymceeditor);\r\n\r\n this.$forceUpdate();\r\n });\r\n } else {\r\n this.$message.warning(\"内容已经清空,无需再清空\");\r\n }\r\n }\r\n //查询模板数据\r\n async GetWeiXinArticleMaterialListModel() {\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"model\",\r\n Value: { TenantID: 0, Aid: 0 }\r\n },\r\n {\r\n Name: \"keys\",\r\n Value: this.modlekeys\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWeiXinArticleMaterialListModelAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.ListModelData = res.output[0].value;\r\n } else {\r\n this.$message.error(\"加载模板内容失败:\" + res.ErrorMessage);\r\n }\r\n }\r\n //通过类型加载模板数据\r\n loadModelData(item: string) {\r\n let result = this.ListModelData.filter(\r\n (d: { Type: any }) => d.Type == item\r\n );\r\n this.loadModelCount = result.length;\r\n this.ModelListData = result;\r\n // return result;\r\n\r\n //return result[0].Contents;\r\n }\r\n //增加\\修改模板内容\r\n AddMaterialList(item: any) {\r\n this.MaterialListShow = true;\r\n this.MaterialListShowTitle = \"增加模板内容\";\r\n this.MaterialListForm.ActionName = \"CREATE\";\r\n if (item) {\r\n this.MaterialListForm = item;\r\n this.MaterialListForm.ActionName = \"UPDATE\";\r\n this.MaterialListShowTitle = \"修改《\" + item.Title + \"》模板内容\";\r\n // console.log(item);\r\n\r\n let tempType = item.Type.split(\"|\");\r\n this.MaterialListFormType = [];\r\n this.MaterialListForm.typeMultiple = [];\r\n tempType.forEach((e: string) => {\r\n if (e) {\r\n this.MaterialListForm.typeMultiple.push(e);\r\n let tempResult = this.TagidData.filter((d: { children: any }) =>\r\n d.children.filter((a: { label: any }) => a.label == e)\r\n );\r\n if (tempResult) {\r\n // console.log(tempResult);\r\n this.MaterialListFormType.push([tempResult[0].label, e]);\r\n }\r\n }\r\n });\r\n } else {\r\n this.MaterialListForm = {\r\n ActionName: \"CREATE\",\r\n Id: 0,\r\n Title: \"\",\r\n TenantID: 0,\r\n Aid: 0,\r\n Type: \"\",\r\n Contents: \"\",\r\n Review: 1,\r\n Sort: 10,\r\n Remarks: \"\"\r\n };\r\n }\r\n }\r\n //删除模板内容\r\n DelMaterialList(item: any) {\r\n this.$confirm(\"选中的模板数据删除后无法恢复,确定要删除吗?\", \"提示\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(async () => {\r\n this.MaterialListForm = item;\r\n this.MaterialListForm.ActionName = \"DELETE\";\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"model\",\r\n Value: this.MaterialListForm\r\n }\r\n ]\r\n };\r\n var res: any = await httpApi.GetSaveWeiXinArticleMaterialListAsync(\r\n params\r\n );\r\n if (res.ErrorCode == 0) {\r\n this.$message.success(\"删除成功\");\r\n this.MaterialListShow = false;\r\n this.MaterialListForm = {\r\n ActionName: \"CREATE\",\r\n Id: 0,\r\n Title: \"\",\r\n TenantID: 0,\r\n Aid: 0,\r\n Type: \"\",\r\n Contents: \"\",\r\n Review: 1,\r\n Sort: 10,\r\n Remarks: \"\"\r\n };\r\n this.LoadMaterialListData();\r\n } else {\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n //console.log(params);\r\n });\r\n }\r\n // 这里拿到的 selectedOptions 就是一级一级选到的 value, 取最后一个传给后端\r\n handleChange(value: any) {\r\n //console.log(value);\r\n this.MaterialListForm.typeMultiple = [];\r\n value.forEach((element: any) => {\r\n if (element.length > 0) {\r\n this.MaterialListForm.typeMultiple.push(element[0]);\r\n }\r\n if (element.length > 1) {\r\n this.MaterialListForm.typeMultiple.push(element[1]);\r\n }\r\n });\r\n //console.log(this.MaterialListForm.typeMultiple);\r\n this.MaterialListForm.typeMultiple = this.unique(\r\n this.MaterialListForm.typeMultiple\r\n );\r\n //console.log(this.MaterialListForm.typeMultiple);\r\n }\r\n unique(arr: any) {\r\n for (var i = 0; i < arr.length; i++) {\r\n for (var j = i + 1; j < arr.length; j++) {\r\n if (arr[i] == arr[j]) {\r\n //第一个等同于第二个,splice方法删除第二个\r\n arr.splice(j, 1);\r\n j--;\r\n }\r\n }\r\n }\r\n return arr;\r\n }\r\n //读热门标签前100条\r\n async tagHotList(item: number) {\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"TenantID\",\r\n Value: item\r\n }\r\n ]\r\n };\r\n this.tagHotListSelct = item;\r\n var res: any = await httpApi.GetWeiXinArticleMaterialListHotAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.tagHotListData = res.output[0].value;\r\n } else {\r\n this.$message.error(\"加载热门模板错误:\" + res.ErrorMessage);\r\n }\r\n // console.log(this.tagHotListData);\r\n }\r\n //保存数据\r\n async saveMaterialList() {\r\n (this as any).$refs[\"MaterialListForm\"].validate(async (valid: boolean) => {\r\n if (valid) {\r\n //\r\n\r\n if (!this.MaterialListForm.typeMultiple) {\r\n this.$message.warning(\"请选择标签\");\r\n return;\r\n }\r\n if (this.MaterialListForm.typeMultiple.length < 1) {\r\n this.$message.warning(\"请至少选择一项标签!\");\r\n return;\r\n }\r\n this.MaterialListForm.Type = \"|\";\r\n this.MaterialListForm.typeMultiple.forEach((e: string) => {\r\n this.MaterialListForm.Type += e + \"|\";\r\n });\r\n //this.MaterialListForm.Type=JSON.stringify(this.MaterialListForm.Type);\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"model\",\r\n Value: this.MaterialListForm\r\n }\r\n ]\r\n };\r\n this.loading = true;\r\n var res: any = await httpApi.GetSaveWeiXinArticleMaterialListAsync(\r\n params\r\n );\r\n this.loading = false;\r\n //console.log(params);\r\n if (res.ErrorCode == 0) {\r\n this.$message.success(\"保存成功\");\r\n this.MaterialListShow = false;\r\n this.MaterialListFormType = [];\r\n this.LoadMaterialListData();\r\n } else {\r\n this.$message.error(res.ErrorMessage);\r\n }\r\n }\r\n });\r\n }\r\n //从数据库加载分组\r\n async LoadMaterialSortData() {\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"model\",\r\n Value: { TenantID: 0, Aid: 0 }\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWeiXinArticleMaterialSortAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.TagidData = [];\r\n this.modlekeys = [];\r\n this.WeiXinArticleMaterialSortData = res.output[0].value.filter(\r\n (d: { Review: any }) => d.Review == 1\r\n );\r\n let result = this.WeiXinArticleMaterialSortData.filter(\r\n (d: { Pid: any }) => d.Pid == 0\r\n );\r\n if (result.length > 0) {\r\n result.forEach((e: any) => {\r\n //加载左侧树\r\n let childrenData: any = [];\r\n let tempResult = this.WeiXinArticleMaterialSortData.filter(\r\n (d: { Pid: any }) => d.Pid == e.Id\r\n );\r\n if (tempResult.length > 0) {\r\n tempResult.forEach((k: any) => {\r\n if (e.Name == \"模板\") {\r\n this.modlekeys.push(k.Name);\r\n }\r\n childrenData.push({\r\n key: k.Id,\r\n label: k.Name,\r\n value: k.Name,\r\n children: []\r\n });\r\n });\r\n }\r\n //合成主级\r\n this.TagidData.push({\r\n key: e.Id,\r\n label: e.Name,\r\n value: e.Name,\r\n children: childrenData\r\n });\r\n });\r\n let tempResult = this.TagidData.filter((d: { key: any }) => d.key != 1);\r\n this.TagidDataSelect = this.getTreeData(tempResult);\r\n }\r\n //console.log(this.TagidData);\r\n } else {\r\n //异常\r\n }\r\n }\r\n //去最后一级\r\n getTreeData(data: any) {\r\n // 循环遍历json数据\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].children.length < 1) {\r\n // children若为空数组,则将children设为undefined\r\n data[i].children = undefined;\r\n } else {\r\n // children若不为空数组,则继续 递归调用 本方法\r\n this.getTreeData(data[i].children);\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n elTag(item: any) {\r\n this.stringType = item;\r\n this.tagType = item;\r\n\r\n //this.stringType+=','+item\r\n // this.stringType=item;\r\n this.LoadMaterialListData();\r\n }\r\n elTabs() {\r\n this.Searchkey = \"\";\r\n this.tagType = \"\";\r\n this.stringType = this.tabsType;\r\n this.inboxTabData = [];\r\n //console.log(this.tagType);\r\n this.LoadMaterialListData();\r\n if (this.modlekeys.length > 0 && this.tabsType == \"模板\") {\r\n this.GetWeiXinArticleMaterialListModel();\r\n }\r\n }\r\n //加载模板内容\r\n async LoadMaterialListData() {\r\n let params: any = {\r\n Input: [\r\n {\r\n Name: \"model\",\r\n Value: {\r\n TenantID: 0,\r\n Aid: 0,\r\n page: this.pageIndex,\r\n rows: this.pagesize,\r\n Title: this.Searchkey,\r\n Type: this.stringType,\r\n Review: 1\r\n }\r\n }\r\n ]\r\n };\r\n //console.log(params);\r\n var res: any = await httpApi.GetWeiXinArticleMaterialListAsync(params);\r\n //console.log(res);\r\n if (res.ErrorCode == 0) {\r\n this.inboxTabData = res.output[0].value;\r\n this.totalItem = res.output[1].value;\r\n } else {\r\n this.$message.error(\"加载模板内容失败:\" + res.ErrorMessage);\r\n }\r\n }\r\n\r\n handleSizeChange(val: number) {\r\n this.pagesize = val;\r\n this.LoadMaterialListData();\r\n }\r\n handleCurrentChange(val: number) {\r\n this.pageIndex = val;\r\n this.LoadMaterialListData();\r\n }\r\n /*\r\n onReadystatechange(item: any) {\r\n console.log(item);\r\n }\r\n // 失去焦点事件\r\n onEditorBlur() {} // 获得焦点事件\r\n onEditorFocus() {} // 内容改变事件\r\n onEditorChange(editor: any) {\r\n //console.log(editor);\r\n let content = this.AddaccountForm.Contents; // 请求后台返回的内容字符串\r\n this.AddaccountForm.Contents = this.escapeStringHTML(content);\r\n }\r\n //初始化编辑器\r\n onEditorReady(editor: any) {\r\n this.quill = editor;\r\n //this.quill.setText('Hello\\n');\r\n //console.log(\"editor ready!\", editor);\r\n //console.log(this.quill);\r\n }\r\n // 转码\r\n escapeStringHTML(str: any) {\r\n str = str.replace(/</g, \"<\");\r\n str = str.replace(/>/g, \">\");\r\n return str;\r\n }\r\n onReady(editor: any) {\r\n console.log(editor);\r\n }*/\r\n tinymceOnClick(e: any, editor: any) {\r\n // console.log(e);\r\n //console.log(editor);\r\n //editor.activeEditor.selection.setContent(\"test\");\r\n this.editorInstance = editor;\r\n }\r\n AutoResizeImage(maxWidth: any, maxHeight: any, objImg: any) {\r\n var img = new Image();\r\n img.src = objImg.src;\r\n var hRatio;\r\n var wRatio;\r\n var Ratio = 1;\r\n var w = img.width;\r\n var h = img.height;\r\n wRatio = maxWidth / w;\r\n hRatio = maxHeight / h;\r\n if (maxWidth == 0 && maxHeight == 0) {\r\n Ratio = 1;\r\n } else if (maxWidth == 0) {\r\n //\r\n if (hRatio < 1) Ratio = hRatio;\r\n } else if (maxHeight == 0) {\r\n if (wRatio < 1) Ratio = wRatio;\r\n } else if (wRatio < 1 || hRatio < 1) {\r\n Ratio = wRatio <= hRatio ? wRatio : hRatio;\r\n }\r\n if (Ratio < 1) {\r\n let ww = w * Ratio;\r\n let hh = h * Ratio;\r\n }\r\n objImg.height = h;\r\n objImg.width = w;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./weChat-graphic_edit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./weChat-graphic_edit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./weChat-graphic_edit.vue?vue&type=template&id=7989076b&scoped=true&\"\nimport script from \"./weChat-graphic_edit.vue?vue&type=script&lang=ts&\"\nexport * from \"./weChat-graphic_edit.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./weChat-graphic_edit.vue?vue&type=style&index=0&id=7989076b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7989076b\",\n null\n \n)\n\nexport default component.exports","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"02f4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar defined = __webpack_require__(\"be13\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n\n/***/ \"0390\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(\"02f4\")(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ \"07e3\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"0bfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(\"cb7c\");\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"0fc9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"3a38\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"1654\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(\"71c1\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(\"30f1\")(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"1691\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"1af6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(\"63b6\");\n\n$export($export.S, 'Array', { isArray: __webpack_require__(\"9003\") });\n\n\n/***/ }),\n\n/***/ \"1bc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"f772\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"1ec9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"f772\");\nvar document = __webpack_require__(\"e53d\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"20fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(\"d9f6\");\nvar createDesc = __webpack_require__(\"aebd\");\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n\n/***/ \"214f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(\"b0c5\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar fails = __webpack_require__(\"79e5\");\nvar defined = __webpack_require__(\"be13\");\nvar wks = __webpack_require__(\"2b4c\");\nvar regexpExec = __webpack_require__(\"520a\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n\n/***/ \"230e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nvar document = __webpack_require__(\"7726\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"23c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"2d95\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"241e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"25eb\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"25eb\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"294c\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"2aba\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar has = __webpack_require__(\"69a8\");\nvar SRC = __webpack_require__(\"ca5a\")('src');\nvar $toString = __webpack_require__(\"fa5b\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(\"8378\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"2b4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"5537\")('wks');\nvar uid = __webpack_require__(\"ca5a\");\nvar Symbol = __webpack_require__(\"7726\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"2d95\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"2fdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(\"5ca1\");\nvar context = __webpack_require__(\"d2c8\");\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"30f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"b8e3\");\nvar $export = __webpack_require__(\"63b6\");\nvar redefine = __webpack_require__(\"9138\");\nvar hide = __webpack_require__(\"35e8\");\nvar Iterators = __webpack_require__(\"481b\");\nvar $iterCreate = __webpack_require__(\"8f60\");\nvar setToStringTag = __webpack_require__(\"45f2\");\nvar getPrototypeOf = __webpack_require__(\"53e2\");\nvar ITERATOR = __webpack_require__(\"5168\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"32a6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(\"241e\");\nvar $keys = __webpack_require__(\"c3a1\");\n\n__webpack_require__(\"ce7e\")('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n\n/***/ \"32e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar createDesc = __webpack_require__(\"4630\");\nmodule.exports = __webpack_require__(\"9e1e\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"32fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"e53d\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"335c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"6b4c\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"355d\":\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"35e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"d9f6\");\nvar createDesc = __webpack_require__(\"aebd\");\nmodule.exports = __webpack_require__(\"8e60\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"36c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"335c\");\nvar defined = __webpack_require__(\"25eb\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"3702\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(\"481b\");\nvar ITERATOR = __webpack_require__(\"5168\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"3a38\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"40c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"6b4c\");\nvar TAG = __webpack_require__(\"5168\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"4588\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"45f2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"d9f6\").f;\nvar has = __webpack_require__(\"07e3\");\nvar TAG = __webpack_require__(\"5168\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"4630\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"469f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"6c1c\");\n__webpack_require__(\"1654\");\nmodule.exports = __webpack_require__(\"7d7b\");\n\n\n/***/ }),\n\n/***/ \"481b\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"4aa6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"dc62\");\n\n/***/ }),\n\n/***/ \"4bf8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"4ee1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(\"5168\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n\n/***/ \"50ed\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"5147\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n\n/***/ \"5168\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"dbdb\")('wks');\nvar uid = __webpack_require__(\"62a0\");\nvar Symbol = __webpack_require__(\"e53d\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"5176\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"51b6\");\n\n/***/ }),\n\n/***/ \"51b6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a3c3\");\nmodule.exports = __webpack_require__(\"584a\").Object.assign;\n\n\n/***/ }),\n\n/***/ \"520a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(\"0bfb\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"53e2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"07e3\");\nvar toObject = __webpack_require__(\"241e\");\nvar IE_PROTO = __webpack_require__(\"5559\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"549b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(\"d864\");\nvar $export = __webpack_require__(\"63b6\");\nvar toObject = __webpack_require__(\"241e\");\nvar call = __webpack_require__(\"b0dc\");\nvar isArrayIter = __webpack_require__(\"3702\");\nvar toLength = __webpack_require__(\"b447\");\nvar createProperty = __webpack_require__(\"20fd\");\nvar getIterFn = __webpack_require__(\"7cd6\");\n\n$export($export.S + $export.F * !__webpack_require__(\"4ee1\")(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n\n/***/ \"54a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"6c1c\");\n__webpack_require__(\"1654\");\nmodule.exports = __webpack_require__(\"95d5\");\n\n\n/***/ }),\n\n/***/ \"5537\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"8378\");\nvar global = __webpack_require__(\"7726\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(\"2d00\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"5559\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"dbdb\")('keys');\nvar uid = __webpack_require__(\"62a0\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"584a\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"5b4e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(\"36c3\");\nvar toLength = __webpack_require__(\"b447\");\nvar toAbsoluteIndex = __webpack_require__(\"0fc9\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"5ca1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar core = __webpack_require__(\"8378\");\nvar hide = __webpack_require__(\"32e9\");\nvar redefine = __webpack_require__(\"2aba\");\nvar ctx = __webpack_require__(\"9b43\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"5d73\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"469f\");\n\n/***/ }),\n\n/***/ \"5f1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(\"23c6\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n\n/***/ \"626a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"2d95\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"62a0\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"63b6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"e53d\");\nvar core = __webpack_require__(\"584a\");\nvar ctx = __webpack_require__(\"d864\");\nvar hide = __webpack_require__(\"35e8\");\nvar has = __webpack_require__(\"07e3\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"6762\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(\"5ca1\");\nvar $includes = __webpack_require__(\"c366\")(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(\"9c6c\")('includes');\n\n\n/***/ }),\n\n/***/ \"6821\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"626a\");\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"69a8\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"6a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"d3f4\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"6b4c\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"6c1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"c367\");\nvar global = __webpack_require__(\"e53d\");\nvar hide = __webpack_require__(\"35e8\");\nvar Iterators = __webpack_require__(\"481b\");\nvar TO_STRING_TAG = __webpack_require__(\"5168\")('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n\n/***/ \"71c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"3a38\");\nvar defined = __webpack_require__(\"25eb\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n\n/***/ \"7726\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"774e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"d2d5\");\n\n/***/ }),\n\n/***/ \"77f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"794b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"8e60\") && !__webpack_require__(\"294c\")(function () {\n return Object.defineProperty(__webpack_require__(\"1ec9\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"79aa\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"79e5\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"7cd6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"40c3\");\nvar ITERATOR = __webpack_require__(\"5168\")('iterator');\nvar Iterators = __webpack_require__(\"481b\");\nmodule.exports = __webpack_require__(\"584a\").getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"7d7b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"e4ae\");\nvar get = __webpack_require__(\"7cd6\");\nmodule.exports = __webpack_require__(\"584a\").getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n\n/***/ \"7e90\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"d9f6\");\nvar anObject = __webpack_require__(\"e4ae\");\nvar getKeys = __webpack_require__(\"c3a1\");\n\nmodule.exports = __webpack_require__(\"8e60\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"8436\":\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ \"86cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"c69a\");\nvar toPrimitive = __webpack_require__(\"6a99\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"9e1e\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"8aae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"32a6\");\nmodule.exports = __webpack_require__(\"584a\").Object.keys;\n\n\n/***/ }),\n\n/***/ \"8e60\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"294c\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"8f60\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"a159\");\nvar descriptor = __webpack_require__(\"aebd\");\nvar setToStringTag = __webpack_require__(\"45f2\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"35e8\")(IteratorPrototype, __webpack_require__(\"5168\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"9003\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(\"6b4c\");\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ \"9138\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"35e8\");\n\n\n/***/ }),\n\n/***/ \"9306\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(\"c3a1\");\nvar gOPS = __webpack_require__(\"9aa9\");\nvar pIE = __webpack_require__(\"355d\");\nvar toObject = __webpack_require__(\"241e\");\nvar IObject = __webpack_require__(\"335c\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(\"294c\")(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"9427\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(\"63b6\");\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(\"a159\") });\n\n\n/***/ }),\n\n/***/ \"95d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"40c3\");\nvar ITERATOR = __webpack_require__(\"5168\")('iterator');\nvar Iterators = __webpack_require__(\"481b\");\nmodule.exports = __webpack_require__(\"584a\").isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n\n/***/ \"9aa9\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"9b43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"d8e8\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"9c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(\"2b4c\")('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(\"32e9\")(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"9def\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"4588\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"9e1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"a159\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"e4ae\");\nvar dPs = __webpack_require__(\"7e90\");\nvar enumBugKeys = __webpack_require__(\"1691\");\nvar IE_PROTO = __webpack_require__(\"5559\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(\"1ec9\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(\"32fc\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"a352\":\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"sortablejs\");\n\n/***/ }),\n\n/***/ \"a3c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(\"63b6\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(\"9306\") });\n\n\n/***/ }),\n\n/***/ \"a481\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar toLength = __webpack_require__(\"9def\");\nvar toInteger = __webpack_require__(\"4588\");\nvar advanceStringIndex = __webpack_require__(\"0390\");\nvar regExpExec = __webpack_require__(\"5f1b\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(\"214f\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n\n/***/ \"a4bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"8aae\");\n\n/***/ }),\n\n/***/ \"a745\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"f410\");\n\n/***/ }),\n\n/***/ \"aae3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(\"d3f4\");\nvar cof = __webpack_require__(\"2d95\");\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"aebd\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"b0c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(\"520a\");\n__webpack_require__(\"5ca1\")({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n\n/***/ \"b0dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(\"e4ae\");\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n\n/***/ \"b447\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"3a38\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"b8e3\":\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ \"be13\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"c366\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(\"6821\");\nvar toLength = __webpack_require__(\"9def\");\nvar toAbsoluteIndex = __webpack_require__(\"77f1\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"c367\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(\"8436\");\nvar step = __webpack_require__(\"50ed\");\nvar Iterators = __webpack_require__(\"481b\");\nvar toIObject = __webpack_require__(\"36c3\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(\"30f1\")(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"c3a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"e6f3\");\nvar enumBugKeys = __webpack_require__(\"1691\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"c649\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return insertNodeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return console; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return removeNode; });\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a481\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"4aa6\");\n/* harmony import */ var F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nfunction getConsole() {\n if (typeof window !== \"undefined\") {\n return window.console;\n }\n\n return global.console;\n}\n\nvar console = getConsole();\n\nfunction cached(fn) {\n var cache = F_source_Vue_Draggable_node_modules_babel_runtime_corejs2_core_js_object_create__WEBPACK_IMPORTED_MODULE_1___default()(null);\n\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\nvar regex = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(regex, function (_, c) {\n return c ? c.toUpperCase() : \"\";\n });\n});\n\nfunction removeNode(node) {\n if (node.parentElement !== null) {\n node.parentElement.removeChild(node);\n }\n}\n\nfunction insertNodeAt(fatherNode, node, position) {\n var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n fatherNode.insertBefore(node, refNode);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c69a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"9e1e\") && !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty(__webpack_require__(\"230e\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"c8bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"54a1\");\n\n/***/ }),\n\n/***/ \"ca5a\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"cb7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"ce7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(\"63b6\");\nvar core = __webpack_require__(\"584a\");\nvar fails = __webpack_require__(\"294c\");\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"d2c8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(\"aae3\");\nvar defined = __webpack_require__(\"be13\");\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n\n/***/ \"d2d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"1654\");\n__webpack_require__(\"549b\");\nmodule.exports = __webpack_require__(\"584a\").Array.from;\n\n\n/***/ }),\n\n/***/ \"d3f4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"d864\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"79aa\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"d8e8\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"d9f6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"e4ae\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"794b\");\nvar toPrimitive = __webpack_require__(\"1bc3\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"8e60\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"dbdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"584a\");\nvar global = __webpack_require__(\"e53d\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(\"b8e3\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"dc62\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"9427\");\nvar $Object = __webpack_require__(\"584a\").Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n\n/***/ \"e4ae\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"f772\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"e53d\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"e6f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"07e3\");\nvar toIObject = __webpack_require__(\"36c3\");\nvar arrayIndexOf = __webpack_require__(\"5b4e\")(false);\nvar IE_PROTO = __webpack_require__(\"5559\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"f410\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"1af6\");\nmodule.exports = __webpack_require__(\"584a\").Array.isArray;\n\n\n/***/ }),\n\n/***/ \"f559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(\"5ca1\");\nvar toLength = __webpack_require__(\"9def\");\nvar context = __webpack_require__(\"d2c8\");\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n\n/***/ \"f772\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"fa5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"5537\")('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var setPublicPath_i\n if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_require__.p = setPublicPath_i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/object/assign.js\nvar object_assign = __webpack_require__(\"5176\");\nvar assign_default = /*#__PURE__*/__webpack_require__.n(object_assign);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js\nvar es6_string_starts_with = __webpack_require__(\"f559\");\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/object/keys.js\nvar keys = __webpack_require__(\"a4bb\");\nvar keys_default = /*#__PURE__*/__webpack_require__.n(keys);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js\nvar is_array = __webpack_require__(\"a745\");\nvar is_array_default = /*#__PURE__*/__webpack_require__.n(is_array);\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithHoles.js\n\nfunction _arrayWithHoles(arr) {\n if (is_array_default()(arr)) return arr;\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/get-iterator.js\nvar get_iterator = __webpack_require__(\"5d73\");\nvar get_iterator_default = /*#__PURE__*/__webpack_require__.n(get_iterator);\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArrayLimit.js\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = get_iterator_default()(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/slicedToArray.js\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js\nvar es7_array_includes = __webpack_require__(\"6762\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js\nvar es6_string_includes = __webpack_require__(\"2fdb\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (is_array_default()(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/array/from.js\nvar from = __webpack_require__(\"774e\");\nvar from_default = /*#__PURE__*/__webpack_require__.n(from);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/is-iterable.js\nvar is_iterable = __webpack_require__(\"c8bb\");\nvar is_iterable_default = /*#__PURE__*/__webpack_require__.n(is_iterable);\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArray.js\n\n\nfunction _iterableToArray(iter) {\n if (is_iterable_default()(Object(iter)) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return from_default()(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/toConsumableArray.js\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"sortablejs\",\"commonjs2\":\"sortablejs\",\"amd\":\"sortablejs\",\"root\":\"Sortable\"}\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __webpack_require__(\"a352\");\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);\n\n// EXTERNAL MODULE: ./src/util/helper.js\nvar helper = __webpack_require__(\"c649\");\n\n// CONCATENATED MODULE: ./src/vuedraggable.js\n\n\n\n\n\n\n\n\n\n\nfunction buildAttribute(object, propName, value) {\n if (value === undefined) {\n return object;\n }\n\n object = object || {};\n object[propName] = value;\n return object;\n}\n\nfunction computeVmIndex(vnodes, element) {\n return vnodes.map(function (elt) {\n return elt.elm;\n }).indexOf(element);\n}\n\nfunction _computeIndexes(slots, children, isTransition, footerOffset) {\n if (!slots) {\n return [];\n }\n\n var elmFromNodes = slots.map(function (elt) {\n return elt.elm;\n });\n var footerIndex = children.length - footerOffset;\n\n var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {\n return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);\n });\n\n return isTransition ? rawIndexes.filter(function (ind) {\n return ind !== -1;\n }) : rawIndexes;\n}\n\nfunction emit(evtName, evtData) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.$emit(evtName.toLowerCase(), evtData);\n });\n}\n\nfunction delegateAndEmit(evtName) {\n var _this2 = this;\n\n return function (evtData) {\n if (_this2.realList !== null) {\n _this2[\"onDrag\" + evtName](evtData);\n }\n\n emit.call(_this2, evtName, evtData);\n };\n}\n\nfunction isTransitionName(name) {\n return [\"transition-group\", \"TransitionGroup\"].includes(name);\n}\n\nfunction vuedraggable_isTransition(slots) {\n if (!slots || slots.length !== 1) {\n return false;\n }\n\n var _slots = _slicedToArray(slots, 1),\n componentOptions = _slots[0].componentOptions;\n\n if (!componentOptions) {\n return false;\n }\n\n return isTransitionName(componentOptions.tag);\n}\n\nfunction getSlot(slot, scopedSlot, key) {\n return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);\n}\n\nfunction computeChildrenAndOffsets(children, slot, scopedSlot) {\n var headerOffset = 0;\n var footerOffset = 0;\n var header = getSlot(slot, scopedSlot, \"header\");\n\n if (header) {\n headerOffset = header.length;\n children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);\n }\n\n var footer = getSlot(slot, scopedSlot, \"footer\");\n\n if (footer) {\n footerOffset = footer.length;\n children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);\n }\n\n return {\n children: children,\n headerOffset: headerOffset,\n footerOffset: footerOffset\n };\n}\n\nfunction getComponentAttributes($attrs, componentData) {\n var attributes = null;\n\n var update = function update(name, value) {\n attributes = buildAttribute(attributes, name, value);\n };\n\n var attrs = keys_default()($attrs).filter(function (key) {\n return key === \"id\" || key.startsWith(\"data-\");\n }).reduce(function (res, key) {\n res[key] = $attrs[key];\n return res;\n }, {});\n\n update(\"attrs\", attrs);\n\n if (!componentData) {\n return attributes;\n }\n\n var on = componentData.on,\n props = componentData.props,\n componentDataAttrs = componentData.attrs;\n update(\"on\", on);\n update(\"props\", props);\n\n assign_default()(attributes.attrs, componentDataAttrs);\n\n return attributes;\n}\n\nvar eventsListened = [\"Start\", \"Add\", \"Remove\", \"Update\", \"End\"];\nvar eventsToEmit = [\"Choose\", \"Unchoose\", \"Sort\", \"Filter\", \"Clone\"];\nvar readonlyProperties = [\"Move\"].concat(eventsListened, eventsToEmit).map(function (evt) {\n return \"on\" + evt;\n});\nvar draggingElement = null;\nvar vuedraggable_props = {\n options: Object,\n list: {\n type: Array,\n required: false,\n default: null\n },\n value: {\n type: Array,\n required: false,\n default: null\n },\n noTransitionOnDrag: {\n type: Boolean,\n default: false\n },\n clone: {\n type: Function,\n default: function _default(original) {\n return original;\n }\n },\n element: {\n type: String,\n default: \"div\"\n },\n tag: {\n type: String,\n default: null\n },\n move: {\n type: Function,\n default: null\n },\n componentData: {\n type: Object,\n required: false,\n default: null\n }\n};\nvar draggableComponent = {\n name: \"draggable\",\n inheritAttrs: false,\n props: vuedraggable_props,\n data: function data() {\n return {\n transitionMode: false,\n noneFunctionalComponentMode: false\n };\n },\n render: function render(h) {\n var slots = this.$slots.default;\n this.transitionMode = vuedraggable_isTransition(slots);\n\n var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),\n children = _computeChildrenAndOf.children,\n headerOffset = _computeChildrenAndOf.headerOffset,\n footerOffset = _computeChildrenAndOf.footerOffset;\n\n this.headerOffset = headerOffset;\n this.footerOffset = footerOffset;\n var attributes = getComponentAttributes(this.$attrs, this.componentData);\n return h(this.getTag(), attributes, children);\n },\n created: function created() {\n if (this.list !== null && this.value !== null) {\n helper[\"b\" /* console */].error(\"Value and list props are mutually exclusive! Please set one or another.\");\n }\n\n if (this.element !== \"div\") {\n helper[\"b\" /* console */].warn(\"Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props\");\n }\n\n if (this.options !== undefined) {\n helper[\"b\" /* console */].warn(\"Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props\");\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();\n\n if (this.noneFunctionalComponentMode && this.transitionMode) {\n throw new Error(\"Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: \".concat(this.getTag()));\n }\n\n var optionsAdded = {};\n eventsListened.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = delegateAndEmit.call(_this3, elt);\n });\n eventsToEmit.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = emit.bind(_this3, elt);\n });\n\n var attributes = keys_default()(this.$attrs).reduce(function (res, key) {\n res[Object(helper[\"a\" /* camelize */])(key)] = _this3.$attrs[key];\n return res;\n }, {});\n\n var options = assign_default()({}, this.options, attributes, optionsAdded, {\n onMove: function onMove(evt, originalEvent) {\n return _this3.onDragMove(evt, originalEvent);\n }\n });\n\n !(\"draggable\" in options) && (options.draggable = \">*\");\n this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);\n this.computeIndexes();\n },\n beforeDestroy: function beforeDestroy() {\n if (this._sortable !== undefined) this._sortable.destroy();\n },\n computed: {\n rootContainer: function rootContainer() {\n return this.transitionMode ? this.$el.children[0] : this.$el;\n },\n realList: function realList() {\n return this.list ? this.list : this.value;\n }\n },\n watch: {\n options: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n $attrs: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n realList: function realList() {\n this.computeIndexes();\n }\n },\n methods: {\n getIsFunctional: function getIsFunctional() {\n var fnOptions = this._vnode.fnOptions;\n return fnOptions && fnOptions.functional;\n },\n getTag: function getTag() {\n return this.tag || this.element;\n },\n updateOptions: function updateOptions(newOptionValue) {\n for (var property in newOptionValue) {\n var value = Object(helper[\"a\" /* camelize */])(property);\n\n if (readonlyProperties.indexOf(value) === -1) {\n this._sortable.option(value, newOptionValue[property]);\n }\n }\n },\n getChildrenNodes: function getChildrenNodes() {\n if (this.noneFunctionalComponentMode) {\n return this.$children[0].$slots.default;\n }\n\n var rawNodes = this.$slots.default;\n return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n },\n computeIndexes: function computeIndexes() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);\n });\n },\n getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n\n if (index === -1) {\n //Edge case during move callback: related element might be\n //an element different from collection\n return null;\n }\n\n var element = this.realList[index];\n return {\n index: index,\n element: element\n };\n },\n getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n var vue = _ref.__vue__;\n\n if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {\n if (!(\"realList\" in vue) && vue.$children.length === 1 && \"realList\" in vue.$children[0]) return vue.$children[0];\n return vue;\n }\n\n return vue.$parent;\n },\n emitChanges: function emitChanges(evt) {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.$emit(\"change\", evt);\n });\n },\n alterList: function alterList(onList) {\n if (this.list) {\n onList(this.list);\n return;\n }\n\n var newList = _toConsumableArray(this.value);\n\n onList(newList);\n this.$emit(\"input\", newList);\n },\n spliceList: function spliceList() {\n var _arguments = arguments;\n\n var spliceList = function spliceList(list) {\n return list.splice.apply(list, _toConsumableArray(_arguments));\n };\n\n this.alterList(spliceList);\n },\n updatePosition: function updatePosition(oldIndex, newIndex) {\n var updatePosition = function updatePosition(list) {\n return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n };\n\n this.alterList(updatePosition);\n },\n getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n var to = _ref2.to,\n related = _ref2.related;\n var component = this.getUnderlyingPotencialDraggableComponent(to);\n\n if (!component) {\n return {\n component: component\n };\n }\n\n var list = component.realList;\n var context = {\n list: list,\n component: component\n };\n\n if (to !== related && list && component.getUnderlyingVm) {\n var destination = component.getUnderlyingVm(related);\n\n if (destination) {\n return assign_default()(destination, context);\n }\n }\n\n return context;\n },\n getVmIndex: function getVmIndex(domIndex) {\n var indexes = this.visibleIndexes;\n var numberIndexes = indexes.length;\n return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n },\n getComponent: function getComponent() {\n return this.$slots.default[0].componentInstance;\n },\n resetTransitionData: function resetTransitionData(index) {\n if (!this.noTransitionOnDrag || !this.transitionMode) {\n return;\n }\n\n var nodes = this.getChildrenNodes();\n nodes[index].data = null;\n var transitionContainer = this.getComponent();\n transitionContainer.children = [];\n transitionContainer.kept = undefined;\n },\n onDragStart: function onDragStart(evt) {\n this.context = this.getUnderlyingVm(evt.item);\n evt.item._underlying_vm_ = this.clone(this.context.element);\n draggingElement = evt.item;\n },\n onDragAdd: function onDragAdd(evt) {\n var element = evt.item._underlying_vm_;\n\n if (element === undefined) {\n return;\n }\n\n Object(helper[\"d\" /* removeNode */])(evt.item);\n var newIndex = this.getVmIndex(evt.newIndex);\n this.spliceList(newIndex, 0, element);\n this.computeIndexes();\n var added = {\n element: element,\n newIndex: newIndex\n };\n this.emitChanges({\n added: added\n });\n },\n onDragRemove: function onDragRemove(evt) {\n Object(helper[\"c\" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);\n\n if (evt.pullMode === \"clone\") {\n Object(helper[\"d\" /* removeNode */])(evt.clone);\n return;\n }\n\n var oldIndex = this.context.index;\n this.spliceList(oldIndex, 1);\n var removed = {\n element: this.context.element,\n oldIndex: oldIndex\n };\n this.resetTransitionData(oldIndex);\n this.emitChanges({\n removed: removed\n });\n },\n onDragUpdate: function onDragUpdate(evt) {\n Object(helper[\"d\" /* removeNode */])(evt.item);\n Object(helper[\"c\" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);\n var oldIndex = this.context.index;\n var newIndex = this.getVmIndex(evt.newIndex);\n this.updatePosition(oldIndex, newIndex);\n var moved = {\n element: this.context.element,\n oldIndex: oldIndex,\n newIndex: newIndex\n };\n this.emitChanges({\n moved: moved\n });\n },\n updateProperty: function updateProperty(evt, propertyName) {\n evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);\n },\n computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n if (!relatedContext.element) {\n return 0;\n }\n\n var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {\n return el.style[\"display\"] !== \"none\";\n });\n\n var currentDOMIndex = domChildren.indexOf(evt.related);\n var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n var draggedInList = domChildren.indexOf(draggingElement) !== -1;\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n },\n onDragMove: function onDragMove(evt, originalEvent) {\n var onMove = this.move;\n\n if (!onMove || !this.realList) {\n return true;\n }\n\n var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n var draggedContext = this.context;\n var futureIndex = this.computeFutureIndex(relatedContext, evt);\n\n assign_default()(draggedContext, {\n futureIndex: futureIndex\n });\n\n var sendEvt = assign_default()({}, evt, {\n relatedContext: relatedContext,\n draggedContext: draggedContext\n });\n\n return onMove(sendEvt, originalEvent);\n },\n onDragEnd: function onDragEnd() {\n this.computeIndexes();\n draggingElement = null;\n }\n }\n};\n\nif (typeof window !== \"undefined\" && \"Vue\" in window) {\n window.Vue.component(\"draggable\", draggableComponent);\n}\n\n/* harmony default export */ var vuedraggable = (draggableComponent);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (vuedraggable);\n\n\n\n/***/ })\n\n/******/ })[\"default\"];\n//# sourceMappingURL=vuedraggable.common.js.map","/**!\n * Sortable 1.10.1\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.1\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n if (IE11OrLess) {\n return document.documentElement;\n } else {\n return document.scrollingElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\n * Selects the provided multi-drag item\n * @param {HTMLElement} el The element to be selected\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\n * Deselects the provided multi-drag item\n * @param {HTMLElement} el The element to be deselected\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\n * Insert multi-drag clones\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\n * @param {HTMLElement} rootEl\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","// Exports the \"insertdatetime\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/insertdatetime')\n// ES2015:\n// import 'tinymce/plugins/insertdatetime'\nrequire('./plugin.js');","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./weChat-graphic_edit.vue?vue&type=style&index=0&id=7989076b&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./weChat-graphic_edit.vue?vue&type=style&index=0&id=7989076b&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tinymce.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tinymce.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('editor',{attrs:{\"init\":_vm.init,\"disabled\":_vm.disabled},on:{\"onClick\":_vm.onClick},model:{value:(_vm.myValue),callback:function ($$v) {_vm.myValue=$$v},expression:\"myValue\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tinymce.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tinymce.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tinymce.vue?vue&type=template&id=093ee963&\"\nimport script from \"./tinymce.vue?vue&type=script&lang=js&\"\nexport * from \"./tinymce.vue?vue&type=script&lang=js&\"\nimport style0 from \"./tinymce.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\r\n //处理卡券方法\r\n loadData(tempData: any) {\r\n let wxcardItems: any = [];\r\n wxcardItems.push({\r\n type: \"htmlpanel\", // A HTML panel component\r\n html:\r\n \"
 卡券类型卡券名称卡券有效期库存微信价(元)卡券状态
\"\r\n });\r\n if (!tempData || tempData.length == 0) {\r\n wxcardItems.push({\r\n type: \"htmlpanel\", // A HTML panel component\r\n html: \"
暂无卡券
\"\r\n });\r\n } else {\r\n //console.log(tempData);\r\n tempData.forEach((e: any) => {\r\n //console.log(e);\r\n if (e.errcode == 0) {\r\n var temp = e.card;\r\n //折扣券\r\n if (temp.card_type == \"DISCOUNT\") {\r\n var baseInfo = temp.discount.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"折扣券\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"\" +\r\n baseInfo.sku.quantity +\r\n \"--\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n // console.log(baseInfo); \r\n }\r\n //代金券\r\n if (temp.card_type == \"CASH\") {\r\n var baseInfo = temp.cash.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"代金券\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"\" +\r\n baseInfo.sku.quantity +\r\n \"--\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n }\r\n //兑换券\r\n if (temp.card_type == \"GIFT\") {\r\n var baseInfo = temp.gift.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"兑换券\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"\" +\r\n baseInfo.sku.quantity +\r\n \"--\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n }\r\n //团购券\r\n if (temp.card_type == \"GROUPON\") {\r\n var baseInfo = temp.groupon.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"团购券\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"\" +\r\n baseInfo.sku.quantity +\r\n \"--\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n }\r\n //优惠券\r\n if (temp.card_type == \"GENERAL_COUPON\") {\r\n var baseInfo = temp.general_coupon.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"优惠券\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"\" +\r\n baseInfo.sku.quantity +\r\n \"--\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n }\r\n //会员卡:MEMBER_CARD;\r\n if (temp.card_type == \"MEMBER_CARD\") {\r\n var baseInfo = temp.member_card.base_info;\r\n wxcardItems.push({\r\n type: \"checkbox\",\r\n name: this.CardVal(baseInfo,temp),\r\n label:\r\n \"会员卡\" +\r\n baseInfo.title +\r\n \"\" +\r\n this.cardDataTimeFormat(baseInfo.date_info) +\r\n \"----\" +\r\n this.CardStatus(baseInfo.status) +\r\n \"\"\r\n });\r\n //console.log(baseInfo); \r\n }\r\n // 景点门票:SCENIC_TICKET ; 电影票:MOVIE_TICKET; 飞机票:BOARDING_PASS; 会议门票:MEETING_TICKET; 汽车票:BUS_TICKET;\r\n }\r\n });\r\n }\r\n //wxCardHtml = wxCardHtml + \"只能投放普通券\";\r\n wxcardItems.push(\r\n {\r\n type: \"htmlpanel\", // component type\r\n html: \"
注意:因微信有防盗链限制可能会出现无法显示LOGO,但发布后可以正常显示!
\"\r\n\r\n },\r\n {\r\n type: \"button\", // component type\r\n text: \"获取最新卡券信息\",\r\n primary: true,\r\n name: \"wxCard-button\"\r\n // disabled: true,\r\n //borderless: false\r\n }\r\n );\r\n return wxcardItems;\r\n },\r\n //卡券有效时间格式化\r\n cardDataTimeFormat(dateinfo: any) {\r\n if (dateinfo.fixed_term != 0) {\r\n if (dateinfo.fixed_begin_term == 0) {\r\n return \"领取后当天生效\" + dateinfo.fixed_term + \"天有效\";\r\n } else {\r\n return (\r\n \"领取后\" +\r\n dateinfo.fixed_begin_term +\r\n \"天生效\" +\r\n dateinfo.fixed_term +\r\n \"天有效\"\r\n );\r\n }\r\n }\r\n if (dateinfo.begin_timestamp != 0) {\r\n return (\r\n this.formatDate(dateinfo.begin_timestamp * 1000) +\r\n \"至\" +\r\n this.formatDate(dateinfo.end_timestamp * 1000)\r\n );\r\n }\r\n return \" \";\r\n },\r\n //卡券状态格式化 “CARD_STATUS_NOT_VERIFY”,待审核 ; “CARD_STATUS_VERIFY_FAIL”,审核失败; “CARD_STATUS_VERIFY_OK”,通过审核; “CARD_STATUS_DELETE”,卡券被商户删除; “CARD_STATUS_DISPATCH”,在公众平台投放过的卡券 ;\r\n CardStatus(val: any) {\r\n switch (val) {\r\n case \"CARD_STATUS_VERIFY_OK\":\r\n return \"待投放\";\r\n case \"CARD_STATUS_DISPATCH\":\r\n return \"投放过\";\r\n }\r\n },\r\n //选择卡券内容\r\n CardVal(baseInfo: any,info:any) {\r\n let val =\r\n \"logo_url|$|\" +\r\n encodeURIComponent(baseInfo.logo_url) +\r\n \"|$$|brand_name|$|\" +\r\n encodeURIComponent(baseInfo.brand_name) +\r\n \"|$$|title|$|\" +\r\n encodeURIComponent(baseInfo.title) +\r\n \"|$$|color|$|\" +\r\n encodeURIComponent(baseInfo.color) +\r\n \"|$$|cardid|$|\" +\r\n baseInfo.id+\r\n \"|$$|card_type|$|\" +info.card_type;\r\n return val;\r\n },\r\n //时间戳转时间\r\n formatDate(value: any) {\r\n let date = new Date(value);\r\n let y = date.getFullYear();\r\n let MM = date.getMonth() + 1;\r\n let MMstr = MM < 10 ? \"0\" + MM : MM;\r\n let d = date.getDate();\r\n let dstr = d < 10 ? \"0\" + d : d;\r\n let h = date.getHours();\r\n let hstr = h < 10 ? \"0\" + h : h;\r\n let m = date.getMinutes();\r\n let mstr = m < 10 ? \"0\" + m : m;\r\n let s = date.getSeconds();\r\n let sstr = s < 10 ? \"0\" + s : s;\r\n //return y + \"-\" + MMstr + \"-\" + dstr + \" \" + hstr + \":\" + mstr + \":\" + sstr;\r\n return y + \"-\" + MMstr + \"-\" + dstr;\r\n }\r\n \r\n}\r\n","module.exports = __webpack_public_path__ + \"img/import-word.ec8093af.svg\";","/**\n * Copyright (c) Tiny Technologies, Inc. All rights reserved.\n * Licensed under the LGPL or a commercial license.\n * For LGPL see License.txt in the project root for license information.\n * For commercial licenses see https://www.tiny.cloud/\n *\n * Version: 5.2.2 (2020-04-23)\n */\n(function () {\n 'use strict';\n\n var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n var getDateFormat = function (editor) {\n return editor.getParam('insertdatetime_dateformat', editor.translate('%Y-%m-%d'));\n };\n var getTimeFormat = function (editor) {\n return editor.getParam('insertdatetime_timeformat', editor.translate('%H:%M:%S'));\n };\n var getFormats = function (editor) {\n return editor.getParam('insertdatetime_formats', [\n '%H:%M:%S',\n '%Y-%m-%d',\n '%I:%M:%S %p',\n '%D'\n ]);\n };\n var getDefaultDateTime = function (editor) {\n var formats = getFormats(editor);\n return formats.length > 0 ? formats[0] : getTimeFormat(editor);\n };\n var shouldInsertTimeElement = function (editor) {\n return editor.getParam('insertdatetime_element', false);\n };\n var Settings = {\n getDateFormat: getDateFormat,\n getTimeFormat: getTimeFormat,\n getFormats: getFormats,\n getDefaultDateTime: getDefaultDateTime,\n shouldInsertTimeElement: shouldInsertTimeElement\n };\n\n var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');\n var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');\n var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');\n var monthsLong = 'January February March April May June July August September October November December'.split(' ');\n var addZeros = function (value, len) {\n value = '' + value;\n if (value.length < len) {\n for (var i = 0; i < len - value.length; i++) {\n value = '0' + value;\n }\n }\n return value;\n };\n var getDateTime = function (editor, fmt, date) {\n date = date || new Date();\n fmt = fmt.replace('%D', '%m/%d/%Y');\n fmt = fmt.replace('%r', '%I:%M:%S %p');\n fmt = fmt.replace('%Y', '' + date.getFullYear());\n fmt = fmt.replace('%y', '' + date.getYear());\n fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));\n fmt = fmt.replace('%d', addZeros(date.getDate(), 2));\n fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));\n fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));\n fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));\n fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));\n fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));\n fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));\n fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));\n fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));\n fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));\n fmt = fmt.replace('%%', '%');\n return fmt;\n };\n var updateElement = function (editor, timeElm, computerTime, userTime) {\n var newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime);\n timeElm.parentNode.insertBefore(newTimeElm, timeElm);\n editor.dom.remove(timeElm);\n editor.selection.select(newTimeElm, true);\n editor.selection.collapse(false);\n };\n var insertDateTime = function (editor, format) {\n if (Settings.shouldInsertTimeElement(editor)) {\n var userTime = getDateTime(editor, format);\n var computerTime = void 0;\n if (/%[HMSIp]/.test(format)) {\n computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');\n } else {\n computerTime = getDateTime(editor, '%Y-%m-%d');\n }\n var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');\n if (timeElm) {\n updateElement(editor, timeElm, computerTime, userTime);\n } else {\n editor.insertContent('');\n }\n } else {\n editor.insertContent(getDateTime(editor, format));\n }\n };\n var Actions = {\n insertDateTime: insertDateTime,\n getDateTime: getDateTime\n };\n\n var register = function (editor) {\n editor.addCommand('mceInsertDate', function () {\n Actions.insertDateTime(editor, Settings.getDateFormat(editor));\n });\n editor.addCommand('mceInsertTime', function () {\n Actions.insertDateTime(editor, Settings.getTimeFormat(editor));\n });\n };\n var Commands = { register: register };\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n var Cell = function (initial) {\n var value = initial;\n var get = function () {\n return value;\n };\n var set = function (v) {\n value = v;\n };\n var clone = function () {\n return Cell(get());\n };\n return {\n get: get,\n set: set,\n clone: clone\n };\n };\n\n var register$1 = function (editor) {\n var formats = Settings.getFormats(editor);\n var defaultFormat = Cell(Settings.getDefaultDateTime(editor));\n editor.ui.registry.addSplitButton('insertdatetime', {\n icon: 'insert-time',\n tooltip: 'Insert date/time',\n select: function (value) {\n return value === defaultFormat.get();\n },\n fetch: function (done) {\n done(global$1.map(formats, function (format) {\n return {\n type: 'choiceitem',\n text: Actions.getDateTime(editor, format),\n value: format\n };\n }));\n },\n onAction: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n Actions.insertDateTime(editor, defaultFormat.get());\n },\n onItemAction: function (_, value) {\n defaultFormat.set(value);\n Actions.insertDateTime(editor, value);\n }\n });\n var makeMenuItemHandler = function (format) {\n return function () {\n defaultFormat.set(format);\n Actions.insertDateTime(editor, format);\n };\n };\n editor.ui.registry.addNestedMenuItem('insertdatetime', {\n icon: 'insert-time',\n text: 'Date/time',\n getSubmenuItems: function () {\n return global$1.map(formats, function (format) {\n return {\n type: 'menuitem',\n text: Actions.getDateTime(editor, format),\n onAction: makeMenuItemHandler(format)\n };\n });\n }\n });\n };\n var Buttons = { register: register$1 };\n\n function Plugin () {\n global.add('insertdatetime', function (editor) {\n Commands.register(editor);\n Buttons.register(editor);\n });\n }\n\n Plugin();\n\n}());\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","import Vue from 'vue';\r\n\r\n// 使用 Event Bus\r\nconst bus = new Vue();\r\n\r\nexport default bus;\r\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","module.exports = __webpack_public_path__ + \"img/qr-code.12a999c1.svg\";"],"sourceRoot":""}