{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/quill/dist/quill.js","webpack:///./app/javascript/packs/quill-editor.js","webpack:///./app/javascript/packs/quill-image-compress.min.js","webpack:///./app/javascript/packs/resize.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/quill-magic-url/dist/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./app/javascript/packs/segment_analytics.js","webpack:///./app/javascript/packs/rich-text.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","factory","self","configurable","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","find","query","register","Container","default","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","extendStatics","__extends","this","setPrototypeOf","__proto__","Array","b","__","constructor","ParchmentError","_super","message","_this","Error","attributes","classes","tags","types","scope","match","ANY","Node","TEXT_NODE","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","split","tagName","TYPE","DATA_KEY","input","BlotClass","node","bubble","blot","parentNode","Definitions","_i","arguments","length","map","Definition","blotName","attrName","keyName","className","isArray","toUpperCase","forEach","tag","diff","equal","extend","op","NULL_CHARACTER","String","fromCharCode","Delta","ops","insert","text","newOp","keys","push","retain","index","lastOp","unshift","splice","chop","pop","filter","predicate","partition","passed","failed","reduce","initial","changeLength","elem","delete","slice","start","end","Infinity","iter","iterator","hasNext","nextOp","next","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","delta","Math","min","thisOp","otherOp","rest","concat","strings","join","diffResult","component","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","indexOf","transform","priority","transformPosition","offset","nextType","hasOwn","toStr","toString","gOPD","getOwnPropertyDescriptor","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","target","options","newValue","writable","getProperty","src","copy","copyIsArray","clone","deep","BlockEmbed","bubbleFormats","undefined","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_get","receiver","Function","desc","parent","getPrototypeOf","_extend2","_interopRequireDefault","_quillDelta2","_parchment2","_break2","_inline2","_text2","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","_Parchment$Embed","apply","domNode","formats","values","attribute","BLOCK_ATTRIBUTE","format","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","cache","descendants","leaf","lines","shift","children","tail","ref","head","remove","context","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_typeof","_slicedToArray","_arr","_n","_d","_e","_s","done","err","sliceIterator","_editor2","_emitter4","_module2","_selection","_selection2","_logger2","_theme2","_defineProperty","debug","Quill","container","error","html","innerHTML","trim","classList","add","__quill","root","addContainer","setAttribute","scrollingContainer","emitter","scroll","whitelist","editor","selection","theme","keyboard","addModule","clipboard","history","init","on","events","EDITOR_CHANGE","type","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","source","mutations","range","lastRange","modify","update","contents","convert","setContents","clear","placeholder","readOnly","disable","limit","level","imports","path","overwrite","warn","startsWith","refNode","document","createElement","setRange","_this3","_overload","_overload2","deleteText","enable","enabled","scrollTop","focus","scrollIntoView","_this4","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","height","left","right","width","getLength","_overload7","_overload8","getContents","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","config","moduleConfig","moduleClass","toolbar","querySelector","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","args","emit","_map","pos","_map2","_map3","max","_map4","version","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","_parchment","TextBlot","_Parchment$Text","_eventemitter2","eventName","addEventListener","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","log","event","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","quill","levels","method","_console","console","namespace","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","Date","getTime","a","isUndefinedOrNull","isBuffer","ka","kb","e","sort","objEquiv","x","attributeBit","ATTRIBUTE","item","canAdd","replace","removeAttribute","Code","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","lastIndexOf","appendChild","prev","optimize","removeChild","unwrap","TAB","_op2","_code2","_cursor2","_block","_clone2","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","image","list","bullet","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","data","textBlot","oldValue","CONTENTS","oldText","newText","combined","merged","_toConsumableArray","arr2","from","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","setTimeout","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","body","_format","nativeRange","collapsed","after","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","reverse","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","some","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","toLowerCase","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","Promise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","proto","resolve","reject","then","__isArray","__isRegExp","RegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","set","entryChild","attrs","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","global","ignoreCase","multiline","clonePrototype","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill2","test","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLine11","_quill$getLine13","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine17","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","charCodeAt","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","parseInt","sanitize","_inline","Link","url","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard2","_dropdown2","optionsCounter","toggleAriaAttribute","element","Picker","select","buildPicker","style","display","label","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","id","buildItem","selected","buildLabel","buildOptions","close","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed2","_scroll2","_clipboard2","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","camelize","parts","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","timestamp","now","delay","maxStack","deleteLength","changeIndex","endsWithNewlineChange","BaseTooltip","_colorPicker2","_iconPicker2","_picker2","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","align","handlers","formula","edit","fileInput","files","reader","FileReader","onload","result","readAsDataURL","click","video","_Tooltip","boundsContainer","save","cancel","preview","linkRange","restoreFocus","defaultValue","LinkedList","append","nodes","cur","curNode","ret","callback","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","InlineBlot","obj1","obj2","prop","isEqual","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","token","searchString","subjectString","isFinite","floor","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","longtext","shorttext","hm","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","j","best_common","prefixLength","text1_a","text1_b","text2_a","text2_b","hm1","ceil","hm2","mid_common","diff_halfMatch_","diffs_a","diffs_b","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","y1","x1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","diff_bisect_","diff_compute_","diff_cleanupMerge","norm","current_pos","next_pos","split_pos","d_left","d_right","cursor_normalize_diff","ndiffs","cursor_pointer","d_next","merge_tuples","fix_cursor","compact","starts_with_pair_end","str","ends_with_pair_start","fixed_diffs","fix_emoji","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","pointer","count_delete","count_insert","text_delete","text_insert","changes","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","fn","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","len","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","deltaEndsWith","ELEMENT_NODE","fontStyle","computeStyle","italic","fontWeight","bold","applyFormat","parseFloat","textIndent","matchAlias","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matcher","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","paste","pair","_pair","nodeType","window","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","marginTop","marginBottom","offsetTop","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_quill$selection$getR","prompt","addButton","groups","group","control","addSelect","clean","direction","link","_picker","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link2","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core2","_indent","_blockquote2","_header2","_list","_list2","_bold2","_italic2","_script2","_strike2","_underline2","_image2","_video2","_code","_formula2","_syntax2","_toolbar2","_bubble2","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","_bold","Italic","_Bold","Script","Strike","Underline","_link","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","render","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","code","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","ImageCompress","QuillResize","MagicUrl","QuillEditors","moduleOptions","color","background","imageCompress","quality","maxWidth","maxHeight","resize","parchment","minWidth","minHeight","border","magicUrl","quillGetText","quillAddUrlMatcher","isQuillEmpty","matches","beforeLink","enableQuill","quillToolbar","quillContainer","quillEditor","saveButton","$","removeClass","disableQuill","addClass","showError","XMLHttpRequest","errorThrown","hasClass","status","responseJSON","showSuccess","fadeOut","css","commentPostStart","commentPostContainer","commentPostEnd","setupQuillRichTextEditor","createEditor","operations","quillTextContainer","commentForm","postMessage","FormData","JSON","stringify","removeExtraSpaces","getImageBlobs","ajax","contentType","processData","success","commentList","parents","replaceComments","html_data","edgeHTML","setText","textStatus","beforeSend","complete","extractFromEditor","textChange","formattedBody","body_HTML","body_text","blobs","extractImageBlobs","clearEditor","disableEditor","setupEditor","dataJSON","setupQuillCommentBodies","findTopCommentList","commentElement","setQuillCommentBody","commentBody","commentBodyHidden","commentBodyHiddenHTML","includes","parse","each","commentBodyHiddenDiv","eq","setupReplyComments","currentTarget","toggleClass","setupEditButton","parentsUntil","setupSaveButton","saveMessage","saveErrorMessage","closest","serializeArray","dataType","setupDeleteButton","confirm","deleteMessage","setupUpvote","_event$detail","detail","icon","count","liked","_imgs","blobData","getBlobData","blob","_i2","_imgs2","base64Str","b64Data","sliceSize","byteCharacters","atob","byteArrays","byteNumbers","byteArray","Uint8Array","Blob","b64toBlob","setupAllEditors","showFirstEditor","hookAllEvents","u","abrupt","stop","f","h","prefixString","ImageDrop","file2b64","g","downscaleImage","dataUrl","downscaleImageFromUrl","sent","insertToEditor","imageDrop","imageType","getModule","selectLocalImage","fileHolder","onchange","fileChanged","requestAnimationFrame","file","dataUrlCompressed","logFileSize","round","toFixed","imageCompressor","asyncIterator","E","_invoke","arg","delegate","w","_sent","dispatchException","L","v","__await","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","awrap","AsyncIterator","async","rval","finish","catch","delegateYield","regeneratorRuntime","onNewDataUrl","handleDrop","handlePaste","getAsFile","base64ImageSrc","dataTransfer","hasFiles","caretRangeFromPoint","clientX","clientY","setBaseAndExtent","getImageFiles","handleNewImageFiles","clipboardData","items","hasItems","getContext","drawImage","toDataURL","imageQuality","newHeight","newWidth","require","resizer","overlay","activeEle","requestUpdate","onUpdate","onCreate","onDestroy","PlaceholderRegister","Resize","convertPlaceholderHTML","ClassNamePlaceholder","TagPlaceholder","EmbedPlaceholder","Element","msMatchesSelector","webkitMatchesSelector","documentElement","parentElement","assign","__handling","__formats","encodeURIComponent","outerHTML","cssText","handling","decodeURIComponent","DisplaySize","handleClick","handleChange","handleEdit","selectedBlots","selectedClass","addBlotsSelectedClass","moduleClasses","keyboardSelect","injectInit","initializeModules","removeModules","updateFromModule","repositionElements","judgeShow","showOverlay","activeClass","hideOverlay","setUserSelect","hideProxy","updateOverlayPositionProxy","updateOverlayPosition","keyboardProxy","scrollLeft","removeBlotsSelectedClass","ratio","boxSizing","handle","opacity","padding","textAlign","lineHeight","toolbarButton","verticalAlign","toolbarButtonSvg","getCurrentSize","_defineAlignments","_addToolbarButtons","alignments","isApplied","_selectButton","borderLeftWidth","boxes","addBox","positionBoxes","setCursor","handleMousedown","dragBox","dragStartX","dragStartY","preDragSize","naturalSize","getNaturalSize","handleDragProxy","handleDrag","handleMouseupProxy","handleMouseup","calcSize","naturalWidth","naturalHeight","makeArrowHandler","keyboardHandle","fromResize","getOtherLineIndex","stopPropagation","_arrayWithHoles","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","ownKeys","toPrimitive","_toPrimitive","supportsDescriptors","SyntaxError","AggregateError","ArrayBuffer","Atomics","BigInt","Boolean","DataView","decodeURI","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","Proxy","RangeError","Reflect","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","exec","O","A","P","S","alias","callee","is","functionsHaveConfigurableNames","hasIndices","dotAll","unicode","sticky","URL","getOwnPropertyDescriptors","_objectSpread","defaultProtocol","normalizeProtocol","forceHttp","forceHttps","stripAuthentication","stripHash","stripWWW","removeQueryParameters","removeTrailingSlash","removeDirectoryIndex","sortQueryParameters","_t$split$map","_t$split$map2","_t$split$map2$","username","password","hash","pathname","hostname","searchParams","stripProtocol","globalRegularExpression","urlRegularExpression","globalMailRegularExpression","mailRegularExpression","normalizeRegularExpression","normalizeUrlOptions","urlNormalizer","mailNormalizer","registerTypeListener","registerPasteListener","registerBlurListener","checkTextForUrl","localName","handleMatches","updateText","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","isLegacyArguments","getPolyfill","implementation","hasArrayLengthDefineBug","valueOf","boundFunctionsHaveNames","getDay","slashes","auth","host","port","search","resolveObject","isString","Url","javascript","http","https","ftp","gopher","isObject","k","parseHost","I","R","F","U","N","T","C","M","toASCII","D","q","z","H","W","B","isNullOrUndefined","isNull","overflow","ucs2","decode","encode","toUnicode","webpackPolyfill","deprecate","paths","maxKeys","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","encodingOrOffset","array","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","write","fromString","checked","buffer","val","fromObject","assertSize","size","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","num","output","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","currentPathName","location","currentUrl","email","properties","company","page_number","product_id","getElementById","createMerchantAccountButton","addPhoneNumberButton","confirmPhoneTokenButton","saveCompanyButton","connectShopifyStoreButton","company_slug","saveCollectionChangesButton","syncShopifyStoreButton","searchOrderButton","order_number","company_shopify_name","buyNowButton","notifyMeButton","brandButton","brand","searchButton","searchInput","richTextEditors","quillContent","editorContainer","content","fieldPlaceholder","existingContent","createCommonjsModule","sparkMd5","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","state","md51_array","rhex","hex","toUtf8","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","second","hexToBinaryString","SparkMD5","clamp","to","targetArray","sourceArray","begin","appendBinary","_buff","_hash","raw","_finish","getState","setState","destroy","hashBinary","classCallCheck","createClass","fileSlice","File","mozSlice","webkitSlice","FileChecksum","chunkSize","chunkCount","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","getMetaValue","findElement","findElements","toArray$1","eventInit","disabled","bubbles","cancelable","BlobRecord","checksum","filename","content_type","byte_size","xhr","open","responseType","setRequestHeader","csrfToken","requestDidLoad","requestDidError","send","response","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","headers","DirectUpload","notify","upload","methodName","messages","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","progress","loaded","total","alert","uploadRequestDidProgress","inputSelector","DirectUploadsController","form","inputs","controllers","createDirectUploadControllers","startNextController","controller","processingAttribute","submitButtonsByForm","started","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","submitForm","autostart","ActiveStorage","channels","webpackEmptyContext","req","Rails","linkClickSelector","buttonClickSelector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","cspNonce","expando","matchesSelector","mozMatchesSelector","oMatchesSelector","getData","setData","csrfParam","meta","CSRFProtection","refreshCSRFTokens","param","CustomEvent","fire","params","initCustomEvent","stopEverything","stopImmediatePropagation","eventType","AcceptHeaders","createXHR","prepareOptions","processResponse","xml","json","script","responseText","getResponseHeader","statusText","readyState","OPENED","accept","crossDomain","withCredentials","onreadystatechange","DONE","parser","DOMParser","parseFromString","isCrossDomain","originAnchor","urlAnchor","toArray","serializeElement","additionalParam","elements","formElements","el","allowAction","handleConfirm","answer","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","originalText","handleMethod","formContent","action","isRemote","handleRemote","enctype","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","jQuery","rails","ajaxPrefilter","originalOptions","_rails_loaded","Turbolinks","pushState","visit","clearCache","setProgressBarDelay","copyObject","defer","throttle","uuid","random","Location","absoluteURL","requestURL","getOrigin","getPath","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","isEqualTo","toCacheKey","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","timeout","notifyApplicationBeforeRequestStart","setProgress","requestStarted","abort","lengthComputable","endRequest","requestCompletedWithResponse","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","onprogress","onerror","ontimeout","onabort","requestFinished","ProgressBar","trickle","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","visible","installStylesheetElement","installProgressElement","startTrickling","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","refresh","firstChild","trickleInterval","setInterval","clearInterval","BrowserAdapter","showProgressBar","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","onPageLoad","onPopState","shouldHandlePopState","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","tracked","fromHeadElement","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","findMetaElementByName","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","__super__","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","getSnapshot","snapshot","markAsPreview","renderSnapshot","renderError","ScrollManager","onScroll","scrollToElement","scrollToPosition","scrollTo","updatePosition","pageXOffset","pageYOffset","scrollPositionChanged","SnapshotCache","snapshots","touch","put","Visit","performScroll","identifier","adapter","timingMetrics","recordTimingMetric","request","cancelRender","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","getTimingMetrics","snapshotCached","frame","cancelAnimationFrame","Controller","clickBubbled","clickCaptured","view","scrollManager","startHistory","stopHistory","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","nodeIsVisitable","currentScript","_state","_handled","_value","_deferreds","onFulfilled","onRejected","promise","setImmediate","all","race","_setImmediateFn","_setUnhandledRejectionFn","customElements","registerElement","uid_","nodes_","removeTransientObservers","callback_","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","JsMutationObserver","ShadowDOMPolyfill","wrapIfNeeded","attributeOldValue","attributeFilter","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","handleEvent","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","_isPolyfilled","performance","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","WebComponents","CustomElements","hasNative","isIE","useNative","HTMLImports","firstElementChild","shadowRoot","olderShadowRoot","IMPORT_LINK_TYPE","forDocumentTree","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","dom","_URL","DOCUMENT_FRAGMENT_NODE","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","createShadowRoot","watchShadow","__watched","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","attached","createdCallback","HTMLTemplateElement","decorate","getRegisteredDefinition","extends","upgradeWithDefinition","implementPrototype","_polyfilled","attributeChangedCallback","ctor","createElementNS","__name","lifecycle","ancestry","ready","registry","instanceof","reservedTagList","readyTime","elapsed","unwrapIfNeeded","__importsParsingHook","eager","attachEvent","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","browser","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","BasicObject","proxyMethod","toMethod","toProperty","optional","fromJSONString","fromJSON","hasSameConstructorAs","contentsForInspection","toJSONString","toUTF16String","UTF16String","box","getCacheKey","normalizeSpaces","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","summarizeStringChange","added","removed","utf16String","codepoints","fromCodepoints","objectsAreEqual","arraysAreEqual","arrayStartsWith","spliceArray","summarizeArrayChange","getAllAttributeNames","getTextAttributeNames","getBlockAttributeNames","getBlockConfig","blockAttributes","getTextConfig","textAttributes","getListAttributeNames","listAttribute","onElement","matchingSelector","withCallback","inPhase","times","findClosestElementFromNode","handleEventOnce","triggerEvent","elementMatchesSelector","untilNode","findInnerElement","innerElementIsActive","elementContainsNode","findNodeFromContainerAndOffset","findElementFromContainerAndOffset","findChildIndexOfNode","removeNode","walkTree","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","makeElement","editable","contenteditable","dataset","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","rangeIsCollapsed","rangesAreEqual","initialize","connect","initialized","connectedCallback","disconnectedCallback","construct","define","getDOMSelection","getDOMRange","setDOMRange","selectionChangeObserver","dataTransferIsPlainText","dataTransferIsWritable","keyEventIsKeyboardCommand","RTL_PATTERN","getDirection","dirName","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","merge","isEmpty","toObject","ObjectGroup","objects","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","ObjectMap","ElementStore","trixStoreKey","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","offsetFromUCS2Offset","codePointAt","fromCodePoint","lang","attachFiles","bullets","captionPlaceholder","heading1","numbers","outdent","quote","strike","unlink","urlPlaceholder","GB","KB","MB","PB","TB","attachment","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","numberList","number","exclusive","fileSize","precision","formatter","byte","inheritable","groupTagName","frozen","serializers","Document","fromHTML","toSerializableDocument","DocumentView","deserializers","serializeToContentType","deserializeFromContentType","getDefaultHTML","undoInterval","attachments","presentation","caption","keyNames","level2Enabled","getLevel","pickFiles","multiple","hidden","fileInputId","ObjectView","childViews","rootView","getNodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","objectGroup","getChildViews","createContainerElement","didMutate","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","FileVerificationOperation","InputController","mutationObserver","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","inputControllerDidReceiveKeyboardCommand","keypress","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","inputControllerWillCutText","deleteInDirection","testClipboardData","getPastedHTMLUsingHiddenElement","inputControllerWillPaste","insertHTML","inputControllerDidPaste","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","beforeinput","backspace","insertLineBreak","tab","canIncreaseNestingLevel","increaseNestingLevel","selectionIsInCursorTarget","moveCursorInDirection","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","alt","isEnded","getSelectedDocument","Files","charCode","inputController","isSignificant","insertPlaceholder","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","reparse","scheduleRender","afterRender","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","point","ArrowLeft","shouldManageMovingCursorInDirection","ArrowRight","Backspace","shouldManageDeletingInDirection","Tab","deleteByComposition","recordUndoEntry","deleteByCut","deleteByDrag","withTargetDOMRange","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","activateAttributeIfSupported","formatBold","toggleAttributeIfSupported","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","getCurrentAttributes","removeCurrentAttribute","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","inputControllerWillPerformFormatting","toggleCurrentAttribute","setCurrentAttribute","getTargetDOMRange","minLength","getTargetRanges","AttachmentEditorController","attachmentPiece","didBlurCaption","didChangeCaption","didInputCaption","didKeyDownCaption","didClickActionButton","didClickToolbar","install","undos","makeElementMutable","addToolbar","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","trixMutable","title","trixAction","getFilename","getFormattedFilesize","getCaption","scrollHeight","editCaption","attachmentEditorDidRequestRemovalOfAttachment","attachmentEditorDidRequestDeselectingAttachment","uploadProgressDelegate","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","getContent","createCaptionElement","isPending","getUploadProgress","getCaptionConfig","getType","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","findProgressElement","attachmentDidChangeUploadProgress","PreviewableAttachmentView","previewDelegate","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","createAttachmentNodes","createStringNodes","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","TextView","getPieces","BlockView","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","getBlockBreakPosition","elementStore","setDocument","sync","shadowElement","getBlocks","isSynced","createDocumentFragmentForSync","didSync","createDocumentFragment","CompositionController","composition","didClickAttachment","didBlur","didFocus","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","revision","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","getAttachmentPieceForAttachment","compositionControllerWillUpdateAttachment","updateAttributesForAttachment","removeAttributeForAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","getAttachmentById","ToolbarController","didKeyDownDialogInput","didClickDialogButton","didClickAttributeButton","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","ImagePreloadOperation","Attachment","releaseFile","didChangeAttributes","previewablePattern","attachmentForFile","attributesForFile","setFile","filesize","setAttributes","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","createObjectURL","revokeObjectURL","Piece","registerType","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","getAttributesHash","getCommonAttributes","pieceList","getPieceAtIndex","eachPiece","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","canBeConsolidatedWith","AttachmentPiece","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","StringPiece","consolidateWith","splitAtOffset","SplittableList","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","getObjectAtPosition","findIndexAndOffsetAtPosition","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","textForAttachmentWithAttributes","textForStringWithAttributes","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getRangeOfAttachment","getPieceAtPosition","toSerializableText","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","removeLastAttribute","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","blockBreak","HTMLSanitizer","allowedAttributes","forbiddenProtocols","forbiddenElements","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","elementIsRemovable","sanitizeElement","previousElementSibling","elementIsForbidden","elementIsntSerializable","createHTMLDocument","HTMLParser","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","findBlockElementAncestors","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","blockList","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","getRangeOfCommonAttributeAtPosition","getLocationRangeOfAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","LineBreakInsertion","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Composition","currentAttributes","refreshAttachments","compositionDidChangeDocument","selectedRange","loadSnapshot","compositionWillLoadSnapshot","compositionDidLoadSnapshot","notifyDelegateOfInsertionAtRange","insertBlock","getCurrentTextAttributes","insertBlockBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","replaceHTML","getLocationRange","compositionShouldAcceptFile","insertAttachments","insertAttachment","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","removeAttachment","stopEditingAttachment","placeholderPosition","getPosition","hasCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","getPreviousBlock","ignoreLock","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","expandSelectionForEditing","expandSelectionAroundCommonAttribute","getSelectedAttachments","positionIsCursorTarget","locationIsCursorTarget","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","UndoManager","undoEntries","redoEntries","consolidatable","createEntry","description","canUndo","canRedo","attachmentGalleryFilter","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","selectionManager","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","ManagedAttachment","attachmentManager","requestRemovalOfAttachment","AttachmentManager","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","LocationMapper","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","PointMapper","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","createTextRange","moveToPoint","getClientRectsForDOMRange","getClientRects","SelectionChangeObserver","run","selectionManagers","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","domRange","SelectionManager","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","domRangeWithinElement","pauseTemporarily","paused","locationRangeDidChange","EditorController","editorElement","compositionController","toolbarController","toolbarElement","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","getUndoContext","getLocationContext","getTimeContext","ownerDocument","queryCommandSupported","labels","inputElement","editorController","registerResetListener","registerClickListener","unregisterResetListener","unregisterClickListener","resetListener","resetBubbled","clickListener","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","process","nextTick","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","noop","env","argv","versions","prependListener","prependOnceListener","cwd","chdir","umask","directUploadUrl","directUploadDidComplete","directUploadWillStoreFileWithXHR","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate"],"mappings":"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","file":"js/application-755da38d6497a026a1dc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define([], factory);else if (typeof exports === 'object') exports[\"Quill\"] = factory();else root[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function () {\n return /******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __webpack_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __webpack_require__(__webpack_require__.s = 109);\n /******/\n }\n /************************************************************************/\n /******/([( /* 0 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var container_1 = __webpack_require__(17);\n var format_1 = __webpack_require__(18);\n var leaf_1 = __webpack_require__(19);\n var scroll_1 = __webpack_require__(45);\n var inline_1 = __webpack_require__(46);\n var block_1 = __webpack_require__(47);\n var embed_1 = __webpack_require__(48);\n var text_1 = __webpack_require__(49);\n var attributor_1 = __webpack_require__(12);\n var class_1 = __webpack_require__(32);\n var style_1 = __webpack_require__(33);\n var store_1 = __webpack_require__(31);\n var Registry = __webpack_require__(1);\n var Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default\n }\n };\n exports.default = Parchment;\n\n /***/\n }), ( /* 1 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var ParchmentError = /** @class */function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n }(Error);\n exports.ParchmentError = ParchmentError;\n var attributes = {};\n var classes = {};\n var tags = {};\n var types = {};\n exports.DATA_KEY = '__blot';\n var Scope;\n (function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n })(Scope = exports.Scope || (exports.Scope = {}));\n function create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node =\n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n }\n exports.create = create;\n function find(node, bubble) {\n if (bubble === void 0) {\n bubble = false;\n }\n if (node == null) return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null) return node[exports.DATA_KEY].blot;\n if (bubble) return find(node.parentNode, bubble);\n return null;\n }\n exports.find = find;\n function query(query, scope) {\n if (scope === void 0) {\n scope = Scope.ANY;\n }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n } else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n } else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n } else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n } else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match) break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null) return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope) return match;\n return null;\n }\n exports.query = query;\n function register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n } else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n } else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n } else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n }\n exports.register = register;\n\n /***/\n }), ( /* 2 */\n /***/function (module, exports, __webpack_require__) {\n var diff = __webpack_require__(51);\n var equal = __webpack_require__(11);\n var extend = __webpack_require__(3);\n var op = __webpack_require__(20);\n var NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n var Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n };\n Delta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n };\n Delta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({\n 'delete': length\n });\n };\n Delta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = {\n retain: length\n };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n };\n Delta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = {\n 'delete': lastOp['delete'] + newOp['delete']\n };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = {\n insert: lastOp.insert + newOp.insert\n };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes;\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = {\n retain: lastOp.retain + newOp.retain\n };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes;\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n };\n Delta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n };\n Delta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n };\n Delta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n };\n Delta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n };\n Delta.prototype.partition = function (predicate) {\n var passed = [],\n failed = [];\n this.forEach(function (op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n };\n Delta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n };\n Delta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n };\n Delta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n };\n Delta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n };\n Delta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n };\n Delta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n };\n Delta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n };\n Delta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ? thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n };\n Delta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n };\n Delta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n };\n module.exports = Delta;\n\n /***/\n }), ( /* 3 */\n /***/function (module, exports) {\n 'use strict';\n\n var hasOwn = Object.prototype.hasOwnProperty;\n var toStr = Object.prototype.toString;\n var defineProperty = Object.defineProperty;\n var gOPD = Object.getOwnPropertyDescriptor;\n var isArray = function isArray(arr) {\n if (typeof Array.isArray === 'function') {\n return Array.isArray(arr);\n }\n return toStr.call(arr) === '[object Array]';\n };\n var isPlainObject = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== '[object Object]') {\n return false;\n }\n var hasOwnConstructor = hasOwn.call(obj, 'constructor');\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n // Not own constructor property must be Object\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n }\n\n // Own properties are enumerated firstly, so to speed up,\n // if last one is own, then all properties are own.\n var key;\n for (key in obj) {/**/}\n return typeof key === 'undefined' || hasOwn.call(obj, key);\n };\n\n // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\n var setProperty = function setProperty(target, options) {\n if (defineProperty && options.name === '__proto__') {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n };\n\n // Return undefined instead of __proto__ if '__proto__' is not an own property\n var getProperty = function getProperty(obj, name) {\n if (name === '__proto__') {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n // In early versions of node, obj['__proto__'] is buggy when obj has\n // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n return gOPD(obj, name).value;\n }\n }\n return obj[name];\n };\n module.exports = function extend() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false;\n\n // Handle a deep copy situation\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {};\n // skip the boolean and the target\n i = 2;\n }\n if (target == null || typeof target !== 'object' && typeof target !== 'function') {\n target = {};\n }\n for (; i < length; ++i) {\n options = arguments[i];\n // Only deal with non-null/undefined values\n if (options != null) {\n // Extend the base object\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name);\n\n // Prevent never-ending loop\n if (target !== copy) {\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n }\n\n // Never move original objects, clone them\n setProperty(target, {\n name: name,\n newValue: extend(deep, clone, copy)\n });\n\n // Don't bring in undefined values\n } else if (typeof copy !== 'undefined') {\n setProperty(target, {\n name: name,\n newValue: copy\n });\n }\n }\n }\n }\n }\n\n // Return the modified object\n return target;\n };\n\n /***/\n }), ( /* 4 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _break = __webpack_require__(16);\n var _break2 = _interopRequireDefault(_break);\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var NEWLINE_LENGTH = 1;\n var BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n return BlockEmbed;\n }(_parchment2.default.Embed);\n BlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n // It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n var Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n function Block(domNode) {\n _classCallCheck(this, Block);\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n _this2.cache = {};\n return _this2;\n }\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n return Block;\n }(_parchment2.default.Block);\n Block.blotName = 'block';\n Block.tagName = 'P';\n Block.defaultChild = 'break';\n Block.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n function bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n }\n exports.bubbleFormats = bubbleFormats;\n exports.BlockEmbed = BlockEmbed;\n exports.default = Block;\n\n /***/\n }), ( /* 5 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.overload = exports.expandConfig = undefined;\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n __webpack_require__(50);\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _editor = __webpack_require__(14);\n var _editor2 = _interopRequireDefault(_editor);\n var _emitter3 = __webpack_require__(8);\n var _emitter4 = _interopRequireDefault(_emitter3);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _selection = __webpack_require__(15);\n var _selection2 = _interopRequireDefault(_selection);\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n var _theme = __webpack_require__(34);\n var _theme2 = _interopRequireDefault(_theme);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var debug = (0, _logger2.default)('quill');\n var Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n function Quill(container) {\n var _this2 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Quill);\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n var _overload = overload(index, length, source);\n var _overload2 = _slicedToArray(_overload, 4);\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n var formats = void 0;\n var _overload3 = overload(index, length, name, value, source);\n var _overload4 = _slicedToArray(_overload3, 4);\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n var formats = void 0;\n var _overload5 = overload(index, length, name, value, source);\n var _overload6 = _slicedToArray(_overload5, 4);\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n var _overload7 = overload(index, length);\n var _overload8 = _slicedToArray(_overload7, 2);\n index = _overload8[0];\n length = _overload8[1];\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n var _overload9 = overload(index, length);\n var _overload10 = _slicedToArray(_overload9, 2);\n index = _overload10[0];\n length = _overload10[1];\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n var formats = void 0;\n var _overload11 = overload(index, 0, name, value, source);\n var _overload12 = _slicedToArray(_overload11, 4);\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n var _overload13 = overload(index, length, source);\n var _overload14 = _slicedToArray(_overload13, 4);\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n var _overload16 = _slicedToArray(_overload15, 4);\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n return Quill;\n }();\n Quill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n };\n Quill.events = _emitter4.default.events;\n Quill.sources = _emitter4.default.sources;\n // eslint-disable-next-line no-undef\n Quill.version = false ? 'dev' : \"1.3.7\";\n Quill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n };\n function expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, {\n modules: moduleConfig\n }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n }\n\n // Handle selection preservation and TEXT_CHANGE emission\n // common to modification APIs\n function modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n }\n function overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n }\n function shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n var _map2 = _slicedToArray(_map, 2);\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n var _map4 = _slicedToArray(_map3, 2);\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n }\n exports.expandConfig = expandConfig;\n exports.overload = overload;\n exports.default = Quill;\n\n /***/\n }), ( /* 6 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n function Inline() {\n _classCallCheck(this, Inline);\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n return Inline;\n }(_parchment2.default.Inline);\n Inline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n // Lower index means deeper in the DOM tree, since not found (-1) is for embeds\n Inline.order = ['cursor', 'inline',\n // Must be lower\n 'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n ];\n exports.default = Inline;\n\n /***/\n }), ( /* 7 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n return TextBlot;\n }(_parchment2.default.Text);\n exports.default = TextBlot;\n\n /***/\n }), ( /* 8 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _eventemitter = __webpack_require__(54);\n var _eventemitter2 = _interopRequireDefault(_eventemitter);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var debug = (0, _logger2.default)('quill:events');\n var EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n EVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n });\n var Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n function Emitter() {\n _classCallCheck(this, Emitter);\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({\n node: node,\n handler: handler\n });\n }\n }]);\n return Emitter;\n }(_eventemitter2.default);\n Emitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n };\n Emitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n };\n exports.default = Emitter;\n\n /***/\n }), ( /* 9 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Module);\n this.quill = quill;\n this.options = options;\n };\n Module.DEFAULTS = {};\n exports.default = Module;\n\n /***/\n }), ( /* 10 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var levels = ['error', 'warn', 'log', 'info'];\n var level = 'warn';\n function debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n }\n function namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n }\n debug.level = namespace.level = function (newLevel) {\n level = newLevel;\n };\n exports.default = namespace;\n\n /***/\n }), ( /* 11 */\n /***/function (module, exports, __webpack_require__) {\n var pSlice = Array.prototype.slice;\n var objectKeys = __webpack_require__(52);\n var isArguments = __webpack_require__(53);\n var deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n };\n function isUndefinedOrNull(value) {\n return value === null || value === undefined;\n }\n function isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n }\n function objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {\n //happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length) return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n }\n\n /***/\n }), ( /* 12 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var Registry = __webpack_require__(1);\n var Attributor = /** @class */function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) {\n options = {};\n }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = options.scope & Registry.Scope.LEVEL | attributeBit;\n } else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null) this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null) return false;\n if (this.whitelist == null) return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n } else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n }();\n exports.default = Attributor;\n\n /***/\n }), ( /* 13 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.Code = undefined;\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Code = function (_Inline) {\n _inherits(Code, _Inline);\n function Code() {\n _classCallCheck(this, Code);\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n return Code;\n }(_inline2.default);\n Code.blotName = 'code';\n Code.tagName = 'CODE';\n var CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n return CodeBlock;\n }(_block2.default);\n CodeBlock.blotName = 'code-block';\n CodeBlock.tagName = 'PRE';\n CodeBlock.TAB = ' ';\n exports.Code = Code;\n exports.default = CodeBlock;\n\n /***/\n }), ( /* 14 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _op = __webpack_require__(20);\n var _op2 = _interopRequireDefault(_op);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _code = __webpack_require__(13);\n var _code2 = _interopRequireDefault(_code);\n var _cursor = __webpack_require__(24);\n var _cursor2 = _interopRequireDefault(_cursor);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n var _break = __webpack_require__(16);\n var _break2 = _interopRequireDefault(_break);\n var _clone = __webpack_require__(21);\n var _clone2 = _interopRequireDefault(_clone);\n var _deepEqual = __webpack_require__(11);\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var ASCII = /^[ -~]*$/;\n var Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n return Editor;\n }();\n function combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n }\n function normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({\n image: op.attributes.image\n }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n }\n exports.default = Editor;\n\n /***/\n }), ( /* 15 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.Range = undefined;\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _clone = __webpack_require__(21);\n var _clone2 = _interopRequireDefault(_clone);\n var _deepEqual = __webpack_require__(11);\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n var _emitter3 = __webpack_require__(8);\n var _emitter4 = _interopRequireDefault(_emitter3);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var debug = (0, _logger2.default)('quill:selection');\n var Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _classCallCheck(this, Range);\n this.index = index;\n this.length = length;\n };\n var Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n _classCallCheck(this, Selection);\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n var _leaf$position = leaf.position(offset, true);\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n if (leaf == null) return null;\n var _leaf$position3 = leaf.position(offset, true);\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n var oldRange = this.lastRange;\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n return Selection;\n }();\n function contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n }\n exports.Range = Range;\n exports.default = Selection;\n\n /***/\n }), ( /* 16 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n function Break() {\n _classCallCheck(this, Break);\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n return Break;\n }(_parchment2.default.Embed);\n Break.blotName = 'break';\n Break.tagName = 'BR';\n exports.default = Break;\n\n /***/\n }), ( /* 17 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var linked_list_1 = __webpack_require__(44);\n var shadow_1 = __webpack_require__(30);\n var Registry = __webpack_require__(1);\n var ContainerBlot = /** @class */function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice.call(this.domNode.childNodes).reverse().forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n } catch (err) {\n if (err instanceof Registry.ParchmentError) return;else throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n return [child, offset];\n } else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n } else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) {\n index = 0;\n }\n if (length === void 0) {\n length = Number.MAX_VALUE;\n }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index),\n child = _a[0],\n offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n } else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null && !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n } else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n var _a = this.children.find(index, inclusive),\n child = _a[0],\n offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n } else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n if (!force) {\n if (index === 0) return this;\n if (index === this.length()) return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null) return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes.filter(function (node) {\n return node.parentNode == _this.domNode;\n }).sort(function (a, b) {\n if (a === b) return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n }).forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n }(shadow_1.default);\n function makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n } catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n }\n exports.default = ContainerBlot;\n\n /***/\n }), ( /* 18 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var attributor_1 = __webpack_require__(12);\n var store_1 = __webpack_require__(31);\n var container_1 = __webpack_require__(17);\n var Registry = __webpack_require__(1);\n var FormatBlot = /** @class */function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n } else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n } else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n }(container_1.default);\n exports.default = FormatBlot;\n\n /***/\n }), ( /* 19 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var shadow_1 = __webpack_require__(30);\n var Registry = __webpack_require__(1);\n var LeafBlot = /** @class */function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0) offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n }(shadow_1.default);\n exports.default = LeafBlot;\n\n /***/\n }), ( /* 20 */\n /***/function (module, exports, __webpack_require__) {\n var equal = __webpack_require__(11);\n var extend = __webpack_require__(3);\n var lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n diff: function (a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n iterator: function (ops) {\n return new Iterator(ops);\n },\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n };\n function Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n ;\n Iterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n };\n Iterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return {\n 'delete': length\n };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return {\n retain: Infinity\n };\n }\n };\n Iterator.prototype.peek = function () {\n return this.ops[this.index];\n };\n Iterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n };\n Iterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n };\n Iterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n };\n module.exports = lib;\n\n /***/\n }), ( /* 21 */\n /***/function (module, exports) {\n var clone = function () {\n 'use strict';\n\n function _instanceof(obj, type) {\n return type != null && obj instanceof type;\n }\n var nativeMap;\n try {\n nativeMap = Map;\n } catch (_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function () {};\n }\n var nativeSet;\n try {\n nativeSet = Set;\n } catch (_) {\n nativeSet = function () {};\n }\n var nativePromise;\n try {\n nativePromise = Promise;\n } catch (_) {\n nativePromise = function () {};\n }\n\n /**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n */\n function clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n var useBuffer = typeof Buffer != 'undefined';\n if (typeof circular == 'undefined') circular = true;\n if (typeof depth == 'undefined') depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null) return null;\n if (depth === 0) return parent;\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function (value) {\n resolve(_clone(value, depth - 1));\n }, function (err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n } else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n if (circular) {\n var index = allParents.indexOf(parent);\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function (value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function (value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n return child;\n }\n return _clone(parent, depth);\n }\n\n /**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\n clone.clonePrototype = function clonePrototype(parent) {\n if (parent === null) return null;\n var c = function () {};\n c.prototype = parent;\n return new c();\n };\n\n // private utility functions\n\n function __objToStr(o) {\n return Object.prototype.toString.call(o);\n }\n clone.__objToStr = __objToStr;\n function __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n }\n clone.__isDate = __isDate;\n function __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n }\n clone.__isArray = __isArray;\n function __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n }\n clone.__isRegExp = __isRegExp;\n function __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n }\n clone.__getRegExpFlags = __getRegExpFlags;\n return clone;\n }();\n if (typeof module === 'object' && module.exports) {\n module.exports = clone;\n }\n\n /***/\n }), ( /* 22 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _emitter = __webpack_require__(8);\n var _emitter2 = _interopRequireDefault(_emitter);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n var _break = __webpack_require__(16);\n var _break2 = _interopRequireDefault(_break);\n var _code = __webpack_require__(13);\n var _code2 = _interopRequireDefault(_code);\n var _container = __webpack_require__(25);\n var _container2 = _interopRequireDefault(_container);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n function isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n }\n var Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n return Scroll;\n }(_parchment2.default.Scroll);\n Scroll.blotName = 'scroll';\n Scroll.className = 'ql-editor';\n Scroll.tagName = 'DIV';\n Scroll.defaultChild = 'block';\n Scroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n exports.default = Scroll;\n\n /***/\n }), ( /* 23 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SHORTKEY = exports.default = undefined;\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _clone = __webpack_require__(21);\n var _clone2 = _interopRequireDefault(_clone);\n var _deepEqual = __webpack_require__(11);\n var _deepEqual2 = _interopRequireDefault(_deepEqual);\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _op = __webpack_require__(20);\n var _op2 = _interopRequireDefault(_op);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var debug = (0, _logger2.default)('quill:keyboard');\n var SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n var Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({\n key: Keyboard.keys.ENTER,\n shiftKey: null\n }, handleEnter);\n _this.addBinding({\n key: Keyboard.keys.ENTER,\n metaKey: null,\n ctrlKey: null,\n altKey: null\n }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: true\n }, handleBackspace);\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: true\n }, handleDelete);\n } else {\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: true,\n prefix: /^.?$/\n }, handleBackspace);\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: true,\n suffix: /^.?$/\n }, handleDelete);\n }\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE\n }, {\n collapsed: false\n }, handleDeleteRange);\n _this.addBinding({\n key: Keyboard.keys.DELETE\n }, {\n collapsed: false\n }, handleDeleteRange);\n _this.addBinding({\n key: Keyboard.keys.BACKSPACE,\n altKey: null,\n ctrlKey: null,\n metaKey: null,\n shiftKey: null\n }, {\n collapsed: true,\n offset: 0\n }, handleBackspace);\n _this.listen();\n return _this;\n }\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = {\n handler: context\n };\n }\n if (typeof handler === 'function') {\n handler = {\n handler: handler\n };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n return Keyboard;\n }(_module2.default);\n Keyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n };\n Keyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: {\n list: 'checked'\n },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n var formats = (0, _extend2.default)({}, line.formats(), {\n list: 'checked'\n });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, {\n list: 'unchecked'\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, {\n header: null\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: {\n list: false\n },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':\n case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':\n case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, {\n list: value\n });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, {\n 'code-block': null\n }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n };\n function makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n }\n function handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n }\n function handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n }\n function handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n }\n function handleEnter(range, context) {\n var _this3 = this;\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n }\n function makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: {\n 'code-block': true\n },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n }\n function makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n }\n function normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({\n key: binding\n });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n }\n exports.default = Keyboard;\n exports.SHORTKEY = SHORTKEY;\n\n /***/\n }), ( /* 24 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n var _map2 = _slicedToArray(_map, 2);\n start = _map2[0];\n end = _map2[1];\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n return Cursor;\n }(_parchment2.default.Embed);\n Cursor.blotName = 'cursor';\n Cursor.className = 'ql-cursor';\n Cursor.tagName = 'span';\n Cursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n exports.default = Cursor;\n\n /***/\n }), ( /* 25 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n function Container() {\n _classCallCheck(this, Container);\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n return Container;\n }(_parchment2.default.Container);\n Container.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n exports.default = Container;\n\n /***/\n }), ( /* 26 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n return ColorAttributor;\n }(_parchment2.default.Attributor.Style);\n var ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n });\n var ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n });\n exports.ColorAttributor = ColorAttributor;\n exports.ColorClass = ColorClass;\n exports.ColorStyle = ColorStyle;\n\n /***/\n }), ( /* 27 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.sanitize = exports.default = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Link = function (_Inline) {\n _inherits(Link, _Inline);\n function Link() {\n _classCallCheck(this, Link);\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n return Link;\n }(_inline2.default);\n Link.blotName = 'link';\n Link.tagName = 'A';\n Link.SANITIZED_URL = 'about:blank';\n Link.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n function _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n }\n exports.default = Link;\n exports.sanitize = _sanitize;\n\n /***/\n }), ( /* 28 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _keyboard = __webpack_require__(23);\n var _keyboard2 = _interopRequireDefault(_keyboard);\n var _dropdown = __webpack_require__(107);\n var _dropdown2 = _interopRequireDefault(_dropdown);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var optionsCounter = 0;\n function toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n }\n var Picker = function () {\n function Picker(select) {\n var _this = this;\n _classCallCheck(this, Picker);\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n this.options = options;\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n return Picker;\n }();\n exports.default = Picker;\n\n /***/\n }), ( /* 29 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n var _break = __webpack_require__(16);\n var _break2 = _interopRequireDefault(_break);\n var _container = __webpack_require__(25);\n var _container2 = _interopRequireDefault(_container);\n var _cursor = __webpack_require__(24);\n var _cursor2 = _interopRequireDefault(_cursor);\n var _embed = __webpack_require__(35);\n var _embed2 = _interopRequireDefault(_embed);\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n var _scroll = __webpack_require__(22);\n var _scroll2 = _interopRequireDefault(_scroll);\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n var _clipboard = __webpack_require__(55);\n var _clipboard2 = _interopRequireDefault(_clipboard);\n var _history = __webpack_require__(42);\n var _history2 = _interopRequireDefault(_history);\n var _keyboard = __webpack_require__(23);\n var _keyboard2 = _interopRequireDefault(_keyboard);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n _quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n });\n _parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n exports.default = _quill2.default;\n\n /***/\n }), ( /* 30 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var Registry = __webpack_require__(1);\n var ShadowBlot = /** @class */function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = {\n blot: this\n };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n } else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n } else {\n node = document.createElement(this.tagName[0]);\n }\n } else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null) this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n } else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) {\n refBlot = null;\n }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode || this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) {\n root = this.parent;\n }\n if (this.parent == null || this == root) return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null) return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n }();\n exports.default = ShadowBlot;\n\n /***/\n }), ( /* 31 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var attributor_1 = __webpack_require__(12);\n var class_1 = __webpack_require__(32);\n var style_1 = __webpack_require__(33);\n var Registry = __webpack_require__(1);\n var AttributorStore = /** @class */function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n } else {\n delete this.attributes[attribute.attrName];\n }\n }\n } else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n }();\n exports.default = AttributorStore;\n\n /***/\n }), ( /* 32 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var attributor_1 = __webpack_require__(12);\n function match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n }\n var ClassAttributor = /** @class */function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name.split('-').slice(0, -1).join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n }(attributor_1.default);\n exports.default = ClassAttributor;\n\n /***/\n }), ( /* 33 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var attributor_1 = __webpack_require__(12);\n function camelize(name) {\n var parts = name.split('-');\n var rest = parts.slice(1).map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n }).join('');\n return parts[0] + rest;\n }\n var StyleAttributor = /** @class */function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value)) return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n }(attributor_1.default);\n exports.default = StyleAttributor;\n\n /***/\n }), ( /* 34 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n return Theme;\n }();\n Theme.DEFAULTS = {\n modules: {}\n };\n Theme.themes = {\n 'default': Theme\n };\n exports.default = Theme;\n\n /***/\n }), ( /* 35 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _text = __webpack_require__(7);\n var _text2 = _interopRequireDefault(_text);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var GUARD_TEXT = '\\uFEFF';\n var Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n function Embed(node) {\n _classCallCheck(this, Embed);\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n return Embed;\n }(_parchment2.default.Embed);\n exports.default = Embed;\n\n /***/\n }), ( /* 36 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n var config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n };\n var AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\n var AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\n var AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n exports.AlignAttribute = AlignAttribute;\n exports.AlignClass = AlignClass;\n exports.AlignStyle = AlignStyle;\n\n /***/\n }), ( /* 37 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.BackgroundStyle = exports.BackgroundClass = undefined;\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _color = __webpack_require__(26);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n var BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n });\n var BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n });\n exports.BackgroundClass = BackgroundClass;\n exports.BackgroundStyle = BackgroundStyle;\n\n /***/\n }), ( /* 38 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n var config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n };\n var DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\n var DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\n var DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n exports.DirectionAttribute = DirectionAttribute;\n exports.DirectionClass = DirectionClass;\n exports.DirectionStyle = DirectionStyle;\n\n /***/\n }), ( /* 39 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontClass = exports.FontStyle = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n };\n var FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n var FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n return FontStyleAttributor;\n }(_parchment2.default.Attributor.Style);\n var FontStyle = new FontStyleAttributor('font', 'font-family', config);\n exports.FontStyle = FontStyle;\n exports.FontClass = FontClass;\n\n /***/\n }), ( /* 40 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SizeStyle = exports.SizeClass = undefined;\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n var SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n });\n var SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n });\n exports.SizeClass = SizeClass;\n exports.SizeStyle = SizeStyle;\n\n /***/\n }), ( /* 41 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n module.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n };\n\n /***/\n }), ( /* 42 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getLastChangeIndex = exports.default = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var History = function (_Module) {\n _inherits(History, _Module);\n function History(quill, options) {\n _classCallCheck(this, History);\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({\n key: 'Z',\n shortKey: true\n }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({\n key: 'Z',\n shortKey: true,\n shiftKey: true\n }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({\n key: 'Y',\n shortKey: true\n }, _this.redo.bind(_this));\n }\n return _this;\n }\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = {\n undo: [],\n redo: []\n };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n return History;\n }(_module2.default);\n History.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n };\n function endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n }\n function getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n }\n exports.default = History;\n exports.getLastChangeIndex = getLastChangeIndex;\n\n /***/\n }), ( /* 43 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BaseTooltip = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _emitter = __webpack_require__(8);\n var _emitter2 = _interopRequireDefault(_emitter);\n var _keyboard = __webpack_require__(23);\n var _keyboard2 = _interopRequireDefault(_keyboard);\n var _theme = __webpack_require__(34);\n var _theme2 = _interopRequireDefault(_theme);\n var _colorPicker = __webpack_require__(59);\n var _colorPicker2 = _interopRequireDefault(_colorPicker);\n var _iconPicker = __webpack_require__(60);\n var _iconPicker2 = _interopRequireDefault(_iconPicker);\n var _picker = __webpack_require__(28);\n var _picker2 = _interopRequireDefault(_picker);\n var _tooltip = __webpack_require__(61);\n var _tooltip2 = _interopRequireDefault(_tooltip);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ALIGNS = [false, 'center', 'right', 'justify'];\n var COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n var FONTS = [false, 'serif', 'monospace'];\n var HEADERS = ['1', '2', '3', false];\n var SIZES = ['small', false, 'large', 'huge'];\n var BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n return BaseTheme;\n }(_theme2.default);\n BaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({\n image: e.target.result\n }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n });\n var BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n }\n // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n return BaseTooltip;\n }(_tooltip2.default);\n function extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n }\n function fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n }\n exports.BaseTooltip = BaseTooltip;\n exports.default = BaseTheme;\n\n /***/\n }), ( /* 44 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var LinkedList = /** @class */function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur,\n next = this.iterator();\n while (cur = next()) {\n if (cur === node) return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node) return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n } else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n } else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0,\n cur = this.head;\n while (cur != null) {\n if (cur === target) return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node)) return;\n if (node.prev != null) node.prev.next = node.next;\n if (node.next != null) node.next.prev = node.prev;\n if (node === this.head) this.head = node.next;\n if (node === this.tail) this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) {\n curNode = this.head;\n }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null) curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n var cur,\n next = this.iterator();\n while (cur = next()) {\n var length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0)) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur,\n next = this.iterator();\n while (cur = next()) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0) return;\n var _a = this.find(index),\n startNode = _a[0],\n offset = _a[1];\n var cur,\n curIndex = index - offset,\n next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n } else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur,\n next = this.iterator();\n while (cur = next()) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n }();\n exports.default = LinkedList;\n\n /***/\n }), ( /* 45 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var container_1 = __webpack_require__(17);\n var Registry = __webpack_require__(1);\n var OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true\n };\n var MAX_OPTIMIZE_ITERATIONS = 100;\n var ScrollBlot = /** @class */function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n } else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) {\n mutations = [];\n }\n if (context === void 0) {\n context = {};\n }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0) mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) {\n markParent = true;\n }\n if (blot == null || blot === _this) return;\n if (blot.domNode.parentNode == null) return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent) mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null) return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n } else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0) mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) {\n context = {};\n }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations.map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null) return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n } else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n }).forEach(function (blot) {\n if (blot == null || blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null) return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n }(container_1.default);\n exports.default = ScrollBlot;\n\n /***/\n }), ( /* 46 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var format_1 = __webpack_require__(18);\n var Registry = __webpack_require__(1);\n // Shallow object comparison\n function isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length) return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop]) return false;\n }\n return true;\n }\n var InlineBlot = /** @class */function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName) return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n } else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n }(format_1.default);\n exports.default = InlineBlot;\n\n /***/\n }), ( /* 47 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var format_1 = __webpack_require__(18);\n var Registry = __webpack_require__(1);\n var BlockBlot = /** @class */function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName) return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n } else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n } else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n } else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n } else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n }(format_1.default);\n exports.default = BlockBlot;\n\n /***/\n }), ( /* 48 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var leaf_1 = __webpack_require__(19);\n var EmbedBlot = /** @class */function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n } else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n }(leaf_1.default);\n exports.default = EmbedBlot;\n\n /***/\n }), ( /* 49 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var __extends = this && this.__extends || function () {\n var extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n }();\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var leaf_1 = __webpack_require__(19);\n var Registry = __webpack_require__(1);\n var TextBlot = /** @class */function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize']) text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n } else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n } else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) {\n force = false;\n }\n if (!force) {\n if (index === 0) return this;\n if (index === this.length()) return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n }(leaf_1.default);\n exports.default = TextBlot;\n\n /***/\n }), ( /* 50 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n var elem = document.createElement('div');\n elem.classList.toggle('test-class', false);\n if (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n }\n if (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n }\n if (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n }\n if (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n }\n document.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n });\n\n /***/\n }), ( /* 51 */\n /***/function (module, exports) {\n /**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n /**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\n var DIFF_DELETE = -1;\n var DIFF_INSERT = 1;\n var DIFF_EQUAL = 0;\n\n /**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\n function diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n }\n ;\n\n /**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\n function diff_compute_(text1, text2) {\n var diffs;\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)], [DIFF_EQUAL, shorttext], [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n return diff_bisect_(text1, text2);\n }\n ;\n\n /**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\n function diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = delta % 2 != 0;\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1]) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length && text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1]) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length && text1.charAt(text1_length - x2 - 1) == text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n ;\n\n /**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\n function diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n return diffs.concat(diffsb);\n }\n ;\n\n /**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\n function diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) == text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n }\n ;\n\n /**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\n function diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) == text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n }\n ;\n\n /**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\n function diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i), shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i), shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n }\n ;\n\n /**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\n function diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (pointer - count_delete - count_insert > 0 && diffs[pointer - count_delete - count_insert - 1][0] == DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert, count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete, count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert, count_delete + count_insert, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL && diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) == diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n }\n ;\n var diff = diff_main;\n diff.INSERT = DIFF_INSERT;\n diff.DELETE = DIFF_DELETE;\n diff.EQUAL = DIFF_EQUAL;\n module.exports = diff;\n\n /*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\n function cursor_normalize_diff(diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!');\n }\n\n /*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\n function fix_cursor(diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d);\n return merge_tuples(ndiffs, cursor_pointer, 2);\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3);\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n }\n\n /*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\n function fix_emoji(diffs) {\n var compact = false;\n var starts_with_pair_end = function (str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n };\n var ends_with_pair_start = function (str) {\n return str.charCodeAt(str.length - 1) >= 0xD800 && str.charCodeAt(str.length - 1) <= 0xDBFF;\n };\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i - 2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i - 2][1]) && diffs[i - 1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i - 1][1]) && diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n diffs[i - 1][1] = diffs[i - 2][1].slice(-1) + diffs[i - 1][1];\n diffs[i][1] = diffs[i - 2][1].slice(-1) + diffs[i][1];\n diffs[i - 2][1] = diffs[i - 2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n }\n\n /*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\n function merge_tuples(diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i + 1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n }\n\n /***/\n }), ( /* 52 */\n /***/function (module, exports) {\n exports = module.exports = typeof Object.keys === 'function' ? Object.keys : shim;\n exports.shim = shim;\n function shim(obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n }\n\n /***/\n }), ( /* 53 */\n /***/function (module, exports) {\n var supportsArgumentsClass = function () {\n return Object.prototype.toString.call(arguments);\n }() == '[object Arguments]';\n exports = module.exports = supportsArgumentsClass ? supported : unsupported;\n exports.supported = supported;\n function supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n }\n ;\n exports.unsupported = unsupported;\n function unsupported(object) {\n return object && typeof object == 'object' && typeof object.length == 'number' && Object.prototype.hasOwnProperty.call(object, 'callee') && !Object.prototype.propertyIsEnumerable.call(object, 'callee') || false;\n }\n ;\n\n /***/\n }), ( /* 54 */\n /***/function (module, exports) {\n 'use strict';\n\n var has = Object.prototype.hasOwnProperty,\n prefix = '~';\n\n /**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\n function Events() {}\n\n //\n // We try to not inherit from `Object.prototype`. In some engines creating an\n // instance in this way is faster than calling `Object.create(null)` directly.\n // If `Object.create(null)` is not supported we prefix the event names with a\n // character to make sure that the built-in object properties are not\n // overridden or used as an attack vector.\n //\n if (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n }\n\n /**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\n function EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n }\n\n /**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\n function EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n /**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\n EventEmitter.prototype.eventNames = function eventNames() {\n var names = [],\n events,\n name;\n if (this._eventsCount === 0) return names;\n for (name in events = this._events) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n return names;\n };\n\n /**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\n EventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event,\n available = this._events[evt];\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n return ee;\n };\n\n /**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\n EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt],\n len = arguments.length,\n args,\n i;\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n switch (len) {\n case 1:\n return listeners.fn.call(listeners.context), true;\n case 2:\n return listeners.fn.call(listeners.context, a1), true;\n case 3:\n return listeners.fn.call(listeners.context, a1, a2), true;\n case 4:\n return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length,\n j;\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n default:\n if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n return true;\n };\n\n /**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n EventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this),\n evt = prefix ? prefix + event : event;\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;else if (!this._events[evt].fn) this._events[evt].push(listener);else this._events[evt] = [this._events[evt], listener];\n return this;\n };\n\n /**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n EventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true),\n evt = prefix ? prefix + event : event;\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;else if (!this._events[evt].fn) this._events[evt].push(listener);else this._events[evt] = [this._events[evt], listener];\n return this;\n };\n\n /**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n return this;\n }\n var listeners = this._events[evt];\n if (listeners.fn) {\n if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n return this;\n };\n\n /**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\n EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n return this;\n };\n\n //\n // Alias methods names because people roll like that.\n //\n EventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n EventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n //\n // This function doesn't apply anymore.\n //\n EventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n };\n\n //\n // Expose the prefix.\n //\n EventEmitter.prefixed = prefix;\n\n //\n // Allow `EventEmitter` to be imported as module namespace.\n //\n EventEmitter.EventEmitter = EventEmitter;\n\n //\n // Expose the module.\n //\n if ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n }\n\n /***/\n }), ( /* 55 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _extend2 = __webpack_require__(3);\n var _extend3 = _interopRequireDefault(_extend2);\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n var _align = __webpack_require__(36);\n var _background = __webpack_require__(37);\n var _code = __webpack_require__(13);\n var _code2 = _interopRequireDefault(_code);\n var _color = __webpack_require__(26);\n var _direction = __webpack_require__(38);\n var _font = __webpack_require__(39);\n var _size = __webpack_require__(40);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var debug = (0, _logger2.default)('quill:clipboard');\n var DOM_KEY = '__ql-matcher';\n var CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n var ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n }, {});\n var STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n }, {});\n var Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n return Clipboard;\n }(_module2.default);\n Clipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n };\n function applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n }\n function computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n }\n function deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n }\n function isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n }\n function traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n }\n function matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n }\n function matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n }\n function matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n }\n function matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n }\n function matchIgnore() {\n return new _quillDelta2.default();\n }\n function matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, {\n indent: indent\n }));\n }\n function matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n }\n function matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n }\n function matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n }\n function matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n }\n exports.default = Clipboard;\n exports.matchAttributor = matchAttributor;\n exports.matchBlot = matchBlot;\n exports.matchNewline = matchNewline;\n exports.matchSpacing = matchSpacing;\n exports.matchText = matchText;\n\n /***/\n }), ( /* 56 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n function Bold() {\n _classCallCheck(this, Bold);\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n return Bold;\n }(_inline2.default);\n Bold.blotName = 'bold';\n Bold.tagName = ['STRONG', 'B'];\n exports.default = Bold;\n\n /***/\n }), ( /* 57 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addControls = exports.default = undefined;\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _quillDelta = __webpack_require__(2);\n var _quillDelta2 = _interopRequireDefault(_quillDelta);\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _logger = __webpack_require__(10);\n var _logger2 = _interopRequireDefault(_logger);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var debug = (0, _logger2.default)('quill:toolbar');\n var Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n _this.update(range);\n });\n return _this;\n }\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n return Toolbar;\n }(_module2.default);\n Toolbar.DEFAULTS = {};\n function addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n }\n function addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n }\n function addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n }\n Toolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n };\n exports.default = Toolbar;\n exports.addControls = addControls;\n\n /***/\n }), ( /* 58 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 59 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _picker = __webpack_require__(28);\n var _picker2 = _interopRequireDefault(_picker);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n return ColorPicker;\n }(_picker2.default);\n exports.default = ColorPicker;\n\n /***/\n }), ( /* 60 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _picker = __webpack_require__(28);\n var _picker2 = _interopRequireDefault(_picker);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n return IconPicker;\n }(_picker2.default);\n exports.default = IconPicker;\n\n /***/\n }), ( /* 61 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n _classCallCheck(this, Tooltip);\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n return Tooltip;\n }();\n exports.default = Tooltip;\n\n /***/\n }), ( /* 62 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _emitter = __webpack_require__(8);\n var _emitter2 = _interopRequireDefault(_emitter);\n var _base = __webpack_require__(43);\n var _base2 = _interopRequireDefault(_base);\n var _link = __webpack_require__(27);\n var _link2 = _interopRequireDefault(_link);\n var _selection = __webpack_require__(15);\n var _icons = __webpack_require__(41);\n var _icons2 = _interopRequireDefault(_icons);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var TOOLBAR_CONFIG = [[{\n header: ['1', '2', '3', false]\n }], ['bold', 'italic', 'underline', 'link'], [{\n list: 'ordered'\n }, {\n list: 'bullet'\n }], ['clean']];\n var SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({\n key: 'K',\n shortKey: true\n }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n return SnowTheme;\n }(_base2.default);\n SnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n });\n var SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n return SnowTooltip;\n }(_base.BaseTooltip);\n SnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n exports.default = SnowTheme;\n\n /***/\n }), ( /* 63 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _core = __webpack_require__(29);\n var _core2 = _interopRequireDefault(_core);\n var _align = __webpack_require__(36);\n var _direction = __webpack_require__(38);\n var _indent = __webpack_require__(64);\n var _blockquote = __webpack_require__(65);\n var _blockquote2 = _interopRequireDefault(_blockquote);\n var _header = __webpack_require__(66);\n var _header2 = _interopRequireDefault(_header);\n var _list = __webpack_require__(67);\n var _list2 = _interopRequireDefault(_list);\n var _background = __webpack_require__(37);\n var _color = __webpack_require__(26);\n var _font = __webpack_require__(39);\n var _size = __webpack_require__(40);\n var _bold = __webpack_require__(56);\n var _bold2 = _interopRequireDefault(_bold);\n var _italic = __webpack_require__(68);\n var _italic2 = _interopRequireDefault(_italic);\n var _link = __webpack_require__(27);\n var _link2 = _interopRequireDefault(_link);\n var _script = __webpack_require__(69);\n var _script2 = _interopRequireDefault(_script);\n var _strike = __webpack_require__(70);\n var _strike2 = _interopRequireDefault(_strike);\n var _underline = __webpack_require__(71);\n var _underline2 = _interopRequireDefault(_underline);\n var _image = __webpack_require__(72);\n var _image2 = _interopRequireDefault(_image);\n var _video = __webpack_require__(73);\n var _video2 = _interopRequireDefault(_video);\n var _code = __webpack_require__(13);\n var _code2 = _interopRequireDefault(_code);\n var _formula = __webpack_require__(74);\n var _formula2 = _interopRequireDefault(_formula);\n var _syntax = __webpack_require__(75);\n var _syntax2 = _interopRequireDefault(_syntax);\n var _toolbar = __webpack_require__(57);\n var _toolbar2 = _interopRequireDefault(_toolbar);\n var _icons = __webpack_require__(41);\n var _icons2 = _interopRequireDefault(_icons);\n var _picker = __webpack_require__(28);\n var _picker2 = _interopRequireDefault(_picker);\n var _colorPicker = __webpack_require__(59);\n var _colorPicker2 = _interopRequireDefault(_colorPicker);\n var _iconPicker = __webpack_require__(60);\n var _iconPicker2 = _interopRequireDefault(_iconPicker);\n var _tooltip = __webpack_require__(61);\n var _tooltip2 = _interopRequireDefault(_tooltip);\n var _bubble = __webpack_require__(108);\n var _bubble2 = _interopRequireDefault(_bubble);\n var _snow = __webpack_require__(62);\n var _snow2 = _interopRequireDefault(_snow);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n _core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n }, true);\n _core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n 'formats/list/item': _list.ListItem,\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n }, true);\n exports.default = _core2.default;\n\n /***/\n }), ( /* 64 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.IndentClass = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n return IdentAttributor;\n }(_parchment2.default.Attributor.Class);\n var IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n });\n exports.IndentClass = IndentClass;\n\n /***/\n }), ( /* 65 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n return Blockquote;\n }(_block2.default);\n Blockquote.blotName = 'blockquote';\n Blockquote.tagName = 'blockquote';\n exports.default = Blockquote;\n\n /***/\n }), ( /* 66 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Header = function (_Block) {\n _inherits(Header, _Block);\n function Header() {\n _classCallCheck(this, Header);\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n return Header;\n }(_block2.default);\n Header.blotName = 'header';\n Header.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n exports.default = Header;\n\n /***/\n }), ( /* 67 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.ListItem = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _block = __webpack_require__(4);\n var _block2 = _interopRequireDefault(_block);\n var _container = __webpack_require__(25);\n var _container2 = _interopRequireDefault(_container);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _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 return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n function ListItem() {\n _classCallCheck(this, ListItem);\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n return ListItem;\n }(_block2.default);\n ListItem.blotName = 'list-item';\n ListItem.tagName = 'LI';\n var List = function (_Container) {\n _inherits(List, _Container);\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n function List(domNode) {\n _classCallCheck(this, List);\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n return List;\n }(_container2.default);\n List.blotName = 'list';\n List.scope = _parchment2.default.Scope.BLOCK_BLOT;\n List.tagName = ['OL', 'UL'];\n List.defaultChild = 'list-item';\n List.allowedChildren = [ListItem];\n exports.ListItem = ListItem;\n exports.default = List;\n\n /***/\n }), ( /* 68 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _bold = __webpack_require__(56);\n var _bold2 = _interopRequireDefault(_bold);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n function Italic() {\n _classCallCheck(this, Italic);\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n return Italic;\n }(_bold2.default);\n Italic.blotName = 'italic';\n Italic.tagName = ['EM', 'I'];\n exports.default = Italic;\n\n /***/\n }), ( /* 69 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Script = function (_Inline) {\n _inherits(Script, _Inline);\n function Script() {\n _classCallCheck(this, Script);\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n return Script;\n }(_inline2.default);\n Script.blotName = 'script';\n Script.tagName = ['SUB', 'SUP'];\n exports.default = Script;\n\n /***/\n }), ( /* 70 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n function Strike() {\n _classCallCheck(this, Strike);\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n return Strike;\n }(_inline2.default);\n Strike.blotName = 'strike';\n Strike.tagName = 'S';\n exports.default = Strike;\n\n /***/\n }), ( /* 71 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _inline = __webpack_require__(6);\n var _inline2 = _interopRequireDefault(_inline);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n function Underline() {\n _classCallCheck(this, Underline);\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n return Underline;\n }(_inline2.default);\n Underline.blotName = 'underline';\n Underline.tagName = 'U';\n exports.default = Underline;\n\n /***/\n }), ( /* 72 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _link = __webpack_require__(27);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ATTRIBUTES = ['alt', 'height', 'width'];\n var Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n function Image() {\n _classCallCheck(this, Image);\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return /\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url);\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n return Image;\n }(_parchment2.default.Embed);\n Image.blotName = 'image';\n Image.tagName = 'IMG';\n exports.default = Image;\n\n /***/\n }), ( /* 73 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _block = __webpack_require__(4);\n var _link = __webpack_require__(27);\n var _link2 = _interopRequireDefault(_link);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var ATTRIBUTES = ['height', 'width'];\n var Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n function Video() {\n _classCallCheck(this, Video);\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n return Video;\n }(_block.BlockEmbed);\n Video.blotName = 'video';\n Video.className = 'ql-video';\n Video.tagName = 'IFRAME';\n exports.default = Video;\n\n /***/\n }), ( /* 74 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.FormulaBlot = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _embed = __webpack_require__(35);\n var _embed2 = _interopRequireDefault(_embed);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n return FormulaBlot;\n }(_embed2.default);\n FormulaBlot.blotName = 'formula';\n FormulaBlot.className = 'ql-formula';\n FormulaBlot.tagName = 'SPAN';\n var Formula = function (_Module) {\n _inherits(Formula, _Module);\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n function Formula() {\n _classCallCheck(this, Formula);\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n return Formula;\n }(_module2.default);\n exports.FormulaBlot = FormulaBlot;\n exports.default = Formula;\n\n /***/\n }), ( /* 75 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.CodeToken = exports.CodeBlock = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _parchment = __webpack_require__(0);\n var _parchment2 = _interopRequireDefault(_parchment);\n var _quill = __webpack_require__(5);\n var _quill2 = _interopRequireDefault(_quill);\n var _module = __webpack_require__(9);\n var _module2 = _interopRequireDefault(_module);\n var _code = __webpack_require__(13);\n var _code2 = _interopRequireDefault(_code);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n return SyntaxCodeBlock;\n }(_code2.default);\n SyntaxCodeBlock.className = 'ql-syntax';\n var CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n });\n var Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n return Syntax;\n }(_module2.default);\n Syntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n };\n exports.CodeBlock = SyntaxCodeBlock;\n exports.CodeToken = CodeToken;\n exports.default = Syntax;\n\n /***/\n }), ( /* 76 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 77 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 78 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 79 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 80 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 81 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 82 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 83 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 84 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 85 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 86 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 87 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 88 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 89 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 90 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 91 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 92 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 93 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 94 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 95 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 96 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 97 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 98 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 99 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 100 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 101 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 102 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 103 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 104 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 105 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 106 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 107 */\n /***/function (module, exports) {\n module.exports = \" \";\n\n /***/\n }), ( /* 108 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = exports.BubbleTooltip = undefined;\n var _get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n if (getter === undefined) {\n return undefined;\n }\n return getter.call(receiver);\n }\n };\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _extend = __webpack_require__(3);\n var _extend2 = _interopRequireDefault(_extend);\n var _emitter = __webpack_require__(8);\n var _emitter2 = _interopRequireDefault(_emitter);\n var _base = __webpack_require__(43);\n var _base2 = _interopRequireDefault(_base);\n var _selection = __webpack_require__(15);\n var _icons = __webpack_require__(41);\n var _icons2 = _interopRequireDefault(_icons);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n var TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{\n header: 1\n }, {\n header: 2\n }, 'blockquote']];\n var BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n return BubbleTheme;\n }(_base2.default);\n BubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n });\n var BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n return BubbleTooltip;\n }(_base.BaseTooltip);\n BubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n exports.BubbleTooltip = BubbleTooltip;\n exports.default = BubbleTheme;\n\n /***/\n }), ( /* 109 */\n /***/function (module, exports, __webpack_require__) {\n module.exports = __webpack_require__(63);\n\n /***/\n }\n /******/)])[\"default\"];\n});","//import ImageResize from \"packs/image-resize.min\"; //changed one line in file. File source is now in javascript/packs.\nimport ImageCompress from 'packs/quill-image-compress.min';\nimport QuillResize from 'packs/resize'; //added if statement in node_modules/quill-resize-module/src/QuillResize.js \nimport Quill from \"quill\";\nimport MagicUrl from 'quill-magic-url'\n\nexport default Quill;\n\n//Quill.register(\"modules/imageResize\", ImageResize);\nQuill.register('modules/imageCompress', ImageCompress);\nQuill.register('modules/resize', QuillResize);\nQuill.register('modules/magicUrl', MagicUrl);\n\nexport const QuillEditors = {};\n\n(() => {\n const toolbarOptions = {\n container: [\n [\"bold\", \"italic\", \"underline\"],\n [{ 'header': [1, 2, 3, 4, 5, 6, false] }], // Add heading options\n [{ 'size': [\"small\", false, \"large\"] }], // Add text size options\n [{ align: [] }],\n [{ 'indent': '-1'}, { 'indent': '+1' }], \n [\"image\", \"link\", \"blockquote\"],\n [{\n color: []\n }, {\n background: []\n }],\n [{\n list: \"ordered\"\n }, {\n list: \"bullet\"\n }],\n [\"clean\"]\n ]\n };\n\n\n const moduleOptions = {\n toolbar: toolbarOptions,\n imageCompress: {\n quality: 1,\n maxWidth: 1000,\n maxHeight: 1000,\n debug: false,\n },\n resize: {\n parchment: {\n image: {\n attribute: ['width', 'height'],\n limit: {\n minWidth: 50,\n maxWidth: 1000,\n minHeight: 50,\n maxHeight: 1000,\n }\n }\n },\n styles: {\n display: {\n border: 'none',\n color: 'black'\n }\n },\n modules: ['Resize', 'DisplaySize']\n },\n\tmagicUrl: true,\n };\n\n\n const quillGetText = (QuillEditors.quillGetText = (quill) => {\n let text = quill\n .getContents()\n .ops.map((op) => {\n if (typeof op.insert === \"string\") {\n return op.insert;\n }\n })\n .join(\"\");\n return text;\n });\n\n const isQuillEmpty = (QuillEditors.isQuillEmpty = (delta) => {\n return delta.ops[0].insert === \"\\n\";\n });\n\n const quillAddUrlMatcher = (QuillEditors.quillAddUrlMatcher = (quill) => {\n quill.clipboard.addMatcher(Node.TEXT_NODE, function(node, delta) {\n let regex = /https?:\\/\\/[^\\s]+/g;\n if (typeof node.data !== \"string\") return;\n let matches = node.data.match(regex);\n if (matches && matches.length > 0) {\n let ops = [];\n let str = node.data;\n matches.forEach(function(match) {\n let split = str.split(match);\n let beforeLink = split.shift();\n ops.push({\n insert: beforeLink\n });\n ops.push({\n insert: match,\n attributes: {\n link: match\n }\n });\n str = split.join(match);\n });\n ops.push({\n insert: str\n });\n delta.ops = ops;\n }\n return delta;\n });\n });\n\n const enableQuill = (QuillEditors.enableQuill = (quill, quillToolbar, quillContainer, quillEditor, saveButton) => {\n $(quillToolbar).removeClass(\"hidden\");\n $(quillContainer).removeClass(\"quill-comment-border\");\n $(quillEditor).removeClass(\"quill-comment-editor-paddingleft\");\n $(saveButton).removeClass(\"hidden\");\n quill.enable();\n });\n\n const disableQuill = (QuillEditors.disableQuill = (quill, quillToolbar, quillContainer, quillEditor, saveButton) => {\n $(quillToolbar).addClass(\"hidden\");\n $(quillContainer).addClass(\"quill-comment-border\");\n $(quillEditor).addClass(\"quill-comment-editor-paddingleft\");\n if (saveButton !== null) $(saveButton).addClass(\"hidden\");\n quill.disable();\n });\n\n const showError = (QuillEditors.showError = (message, XMLHttpRequest, errorThrown) => {\n if ($(message).hasClass(\".guild-delete-comment-alert\")) {\n $(message).html(`Comment not deleted, an error occurred: ${XMLHttpRequest.status} ${errorThrown}`);\n $(message).removeClass(\".guild-delete-comment-alert\");\n } else {\n if (XMLHttpRequest.responseJSON !== undefined && XMLHttpRequest.responseJSON.text === \"Text required to post comment\") {\n $(message).html(`Comment not saved, an error occurred: ${XMLHttpRequest.responseJSON.text}`);\n } else {\n $(message).html(`Comment not saved, an error occurred: ${XMLHttpRequest.status} ${errorThrown}`);\n }\n }\n $(message).removeClass(\"hidden\");\n });\n\n const showSuccess = (QuillEditors.showSuccess = (message) => {\n $(message).hasClass(\"guild-save-comment-alert\") ? $(message).html(\"Comment Saved\") : $(message).html(\"Comment Posted\");\n $(message).removeClass(\"hidden\");\n $(message).addClass(\"guild-comment-alert-success\");\n $(message).fadeOut(2500, function() {\n $(this).removeClass(\"guild-comment-alert-success\");\n $(this).css(\"display\", \"inline\");\n $(this).addClass(\"hidden\");\n });\n });\n\n const commentPostStart = QuillEditors.commentPostStart = (commentPostContainer, message) => {\n commentPostContainer.children(\".guild-comment-loader\").removeClass(\"hidden\");\n commentPostContainer.children(\".guild-comment-loader-message\").html(\"Comment Uploading...\").removeClass(\"hidden\");\n (message) ? message.html(\"\"): commentPostContainer.children(\".guild-save-comment-error-alert\").html(\"\");\n }\n\n const commentPostEnd = QuillEditors.commentPostEnd = (commentPostContainer) => {\n commentPostContainer.children(\".guild-comment-loader\").addClass(\"hidden\");\n commentPostContainer.children(\".guild-comment-loader-message\").addClass(\"hidden\");\n }\n\n // Initialize Quill on the specified container, checking that it's not already there (user has hit back/foward)\n const createEditor = QuillEditors.createEditor = (container, operations, placeholder) => {\n const quillToolbar = $(container).parent().find('.ql-toolbar');\n\n if (quillToolbar.length > 0) {\n return;\n }\n \n const quill = new Quill(container, {\n modules: moduleOptions,\n placeholder: placeholder || \"Write a comment...\",\n theme: \"snow\",\n });\n \n quillAddUrlMatcher(quill);\n \n if (operations) {\n quill.setContents(operations);\n }\n \n\tif ($(container).attr('data-initial-focus')) {\n\t \tquill.focus();\n\t}\n \n return (quill);\n }\n\n const setupQuillRichTextEditor = (QuillEditors.setupQuillRichTextEditor = (quillTextContainer, commentForm) => {\n if (!quillTextContainer) {\n return (false);\n }\n \n let quill = new Quill(quillTextContainer, {\n modules: moduleOptions,\n placeholder: \"Write a comment...\",\n theme: \"snow\",\n });\n \n quillAddUrlMatcher(quill);\n \n\tif ($(container).attr('data-initial-focus')) {\n\t\tquill.focus();\n\t}\n \n $(commentForm).on(\"submit\", function(event) {\n console.log(\"FORM SUBMIT\");\n let commentForm = $(this);\n let postMessage = commentForm.children(\".guild-comment-post-container\").children(\".guild-post-comment-alert\");\n let data = new FormData(this);\n data.append(\"body\", JSON.stringify(removeExtraSpaces(quill.getContents())));\n data.append(\"body_HTML\", quill.root.innerHTML);\n data.append(\"body_text\", quillGetText(quill));\n getImageBlobs(quill, data);\n $.ajax({\n method: $(this).attr(\"method\"),\n url: $(this).attr(\"action\"),\n data: data,\n contentType: false,\n processData: false,\n success: function(data) {\n const commentList = commentForm.parents(\".comment-list\").first();\n \n if (commentList.length > 0) {\n replaceComments(data.html_data, commentList);\n } else {\n $(document).trigger({type: \"edge:new\", edgeHTML: data});\n quill.setText('');\n }\n },\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n showError(postMessage, XMLHttpRequest, errorThrown);\n $('input[type=\"submit\"]').prop(\"disabled\", false);\n },\n beforeSend: function() {\n commentPostStart(commentForm.children(\".guild-comment-post-container\"), postMessage);\n },\n complete: function() {\n commentPostEnd(commentForm.children(\".guild-comment-post-container\"));\n }\n });\n event.preventDefault();\n });\n });\n \n const extractFromEditor = QuillEditors.extractFromEditor = (container, textChange=false) => {\n const quill = Quill.find(container, true);\n if (!textChange){\n let formattedBody = removeExtraSpaces(quill.getContents());\n quill.setContents(formattedBody);\n }\n return ({\n body: JSON.stringify(removeExtraSpaces(quill.getContents())),\n body_HTML: quill.root.innerHTML,\n body_text: quillGetText(quill),\n blobs: extractImageBlobs(quill)\n });\n }\n \n const clearEditor = QuillEditors.clearEditor = (container) => {\n const quill = Quill.find(container, true);\n quill.setText('');\n }\n \n const disableEditor = QuillEditors.disableEditor = (container) => {\n const quill = Quill.find(container, true);\n quill.disable();\n }\n \n const setupEditor = QuillEditors.setupEditor = (commentForm) => {\n const container = $(commentForm).find(\"#quill-text-container\").first()[0];\n \n return (setupQuillRichTextEditor(container, commentForm));\n }\n\n const replaceComments = QuillEditors.replaceComments = (dataJSON, commentList) => {\n $(commentList).replaceWith(dataJSON);\n setupQuillCommentBodies();\n //setupQuillRichTextEditor($(\"#quill-text-container\").first()[0], $('form.comment-form').first());\n };\n\n const findTopCommentList = QuillEditors.findTopCommentList = (commentElement) => {\n let commentList = null;\n while (commentElement.length > 0) {\n if (commentElement.hasClass(\"comment-list\")) {\n commentList = commentElement;\n }\n commentElement = commentElement.parent();\n }\n return commentList;\n }\n\n const setupQuillCommentBody = QuillEditors.setQuillCommentBody = (container) => {\n const commentBody = $(container).find(\".comment-body\").first()[0];\n const commentBodyHidden = $(container).find(\".comment-body-hidden\").first();\n\n if (!commentBody) {\n return (false);\n }\n\n const quill = new Quill(commentBody, {\n modules: moduleOptions,\n theme: \"snow\",\n });\n\n quillAddUrlMatcher(quill);\n\n if (commentBodyHidden) {\n const commentBodyHiddenHTML = $(commentBodyHidden).html();\n if (String(commentBodyHiddenHTML).includes('{\"ops\":[{\"')) {\n quill.setContents(JSON.parse(commentBodyHiddenHTML));\n } else {\n quill.setText(commentBodyHiddenHTML);\n }\n const quillToolbar = $(commentBody).parent().children(\".ql-toolbar\");\n const quillContainer = $(commentBody);\n const quillEditor = $(commentBody).children(\".ql-editor\");\n disableQuill(quill, quillToolbar, quillContainer, quillEditor, null);\n }\n }\n\n const setupQuillCommentBodies = QuillEditors.setupQuillCommentBodies = () => {\n const commentBody = $(\".comment-body\");\n const commentBodyHidden = $(\".comment-body-hidden\");\n var index = 0;\n commentBody.each(function() {\n let commentBody = $(this)[0];\n if (commentBody) {\n let quill = new Quill(commentBody, {\n modules: moduleOptions,\n theme: \"snow\",\n });\n quillAddUrlMatcher(quill);\n let commentBodyHiddenDiv = commentBodyHidden.eq(index);\n if (commentBodyHiddenDiv) {\n let commentBodyHiddenHTML = $(commentBodyHiddenDiv).html();\n if (String(commentBodyHiddenHTML).includes('{\"ops\":[{\"')) {\n quill.setContents(JSON.parse(commentBodyHiddenHTML));\n } else {\n quill.setText(commentBodyHiddenHTML);\n }\n let quillToolbar = $(commentBody).parent().children(\".ql-toolbar\");\n let quillContainer = $(commentBody);\n let quillEditor = $(commentBody).children(\".ql-editor\");\n disableQuill(quill, quillToolbar, quillContainer, quillEditor, null);\n }\n }\n index++;\n });\n }\n\n const removeExtraSpaces = QuillEditors.removeExtraSpaces = (delta) => {\n delta.forEach((ops) => {\n if (ops.insert.image === undefined) {\n ops.insert = ops.insert.replace(/\\u00A0+/g, ' ');\n ops.insert = ops.insert.replace(/\\n\\u0020+/g, \"\\n\");\n ops.insert = ops.insert.replace(/\\u0020+\\n/g, \"\\n\");\n \n }\n });\n return delta;\n }\n\n const setupReplyComments = (QuillEditors.setupReplyComments = () => {\n $(document).on(\"click\", \".comment_reply_action\", (event) => {\n const comment = $(event.currentTarget).parents(\".single-comment\").first();\n const commentForm = comment.find(\".comment-form\").first();\n commentForm.toggleClass(\"comment-reply-hidden\");\n let quillContainer = $(commentForm).children(\"#quill-container\");\n let quillToolbar = $(quillContainer).children(\".ql-toolbar\");\n if (quillToolbar.length === 0) {\n let quillTextContainer = $(quillContainer).children(\"#quill-text-container\")[0];\n setupQuillRichTextEditor(quillTextContainer, commentForm);\n }\n });\n });\n\n const setupEditButton = (QuillEditors.setupEditButton = () => {\n $(document).on(\"click\", \".guild-edit-comment-action\", (event) => {\n let parents = $(event.currentTarget).parentsUntil(\".comment-list\");\n let quillContainer = $(parents).children(\".comment-body.ql-container\");\n let quillToolbar = $(parents).children(\".ql-toolbar\");\n let saveButton = $(parents).children(\".guild-comment-save-container\").children(\".guild-save-comment-action\");\n let quillEditor = $(parents).children(\".comment-body.ql-container\").children(\".ql-editor\");\n let quill = Quill.find(quillContainer[0]);\n if ($(quillToolbar).hasClass(\"hidden\")) {\n enableQuill(quill, quillToolbar, quillContainer, quillEditor, saveButton);\n } else {\n disableQuill(quill, quillToolbar, quillContainer, quillEditor, saveButton);\n }\n });\n });\n\n const setupSaveButton = QuillEditors.setupSaveButton = () => {\n $(document).on(\"click\", \".guild-save-comment-action\", (event) => {\n event.preventDefault();\n \n let parents = $(event.currentTarget).parentsUntil(\".comment-list\");\n let saveMessage = $(parents).children(\".comment-byline\").children(\".guild-save-comment-alert\");\n let saveErrorMessage = parents.children(\".guild-comment-save-container\").children(\".guild-save-comment-error-alert\");\n let quillContainer = $(parents).children(\".comment-body.ql-container\");\n let quillToolbar = $(parents).children(\".ql-toolbar\");\n let saveButton = $(parents).children(\".guild-comment-save-container\").children(\".guild-save-comment-action\");\n let quillEditor = $(parents).children(\".comment-body.ql-container\").children(\".ql-editor\");\n let quill = Quill.find(quillContainer[0]);\n let data = $(parents).closest(\"div\").find(\"input,select,textarea\").serializeArray();\n \n data.push({\n name: \"body\",\n value: JSON.stringify(removeExtraSpaces(quill.getContents()))\n });\n data.push({\n name: \"body_HTML\",\n value: quill.root.innerHTML\n });\n data.push({\n name: \"body_text\",\n value: quillGetText(quill)\n });\n \n $.ajax({\n method: \"PATCH\",\n url: `/guild/comments/${data.find((x) => x.name === \"commentable_id\").value}`,\n data: data,\n dataType: \"JSON\",\n success: function() {\n showSuccess(saveMessage);\n disableQuill(quill, quillToolbar, quillContainer, quillEditor, saveButton);\n },\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n showError(saveErrorMessage, XMLHttpRequest, errorThrown);\n },\n beforeSend: function() {\n commentPostStart(parents.children(\".guild-comment-save-container\"), null);\n $(saveButton).prop(\"disabled\", true);\n },\n complete: function() {\n commentPostEnd(parents.children(\".guild-comment-save-container\"));\n $(saveButton).prop(\"disabled\", false);\n }\n });\n });\n }\n\n const setupDeleteButton = (QuillEditors.setupDeleteButton = () => {\n $(document).on(\"click\", \".guild-delete-comment-action\", (event) => {\n if (confirm(\"Are you sure?\")) {\n event.preventDefault();\n let parents = $(event.currentTarget).parentsUntil(\".comment-list\");\n let deleteMessage = $(parents).children(\".comment-byline\").children(\".guild-save-comment-alert\").addClass(\".guild-delete-comment-alert\");\n let data = $(event.currentTarget).closest(\"div\").find(\"input,select,textarea\").serializeArray();\n let commentDelete = $(event.currentTarget);\n $.ajax({\n method: \"DELETE\",\n url: `/guild/comments/${data.find((x) => x.name === \"commentable_id\").value}`,\n data: data,\n success: function(dataJSON) {\n replaceComments(dataJSON, $(event.currentTarget).parents(\".comment-list\").first());\n },\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n showError(deleteMessage, XMLHttpRequest, errorThrown);\n },\n });\n event.preventDefault(); // Prevent link from following its href\n }\n });\n });\n\n const setupUpvote = QuillEditors.setupUpvote = () => {\n $(document).on(\"ajax:success\", \".upvote-button\", (event) => {\n const [data, status, xhr] = event.detail;\n const icon = $(event.target).children(\".upvote-icon\").first();\n const count = $(event.target).children(\".like-count\").first();\n count.html(data.count);\n\t if (data.liked) {\n\t icon.addClass(\"upvote-icon-voted\");\n\t } else {\n\t\ticon.removeClass(\"upvote-icon-voted\");\n\t }\n });\n }\n\n const getImageBlobs = Quill.getImageBlobs = (quill, data) => {\n const imgs = Array.from(quill.container.querySelectorAll('img[src^=\"data:\"]:not(.loading)'));\n let blobs = []\n for (let img of imgs) {\n let blobData = getBlobData(img.getAttribute(\"src\"));\n blobs.push(blobData);\n }\n blobs.forEach((blob) => data.append(\"blobs[]\", blob));\n }\n \n const extractImageBlobs = Quill.extractImageBlobs = (quill) => {\n const imgs = Array.from(quill.container.querySelectorAll('img[src^=\"data:\"]:not(.loading)'));\n const blobs = [];\n for (let img of imgs) {\n let blobData = getBlobData(img.getAttribute(\"src\"));\n blobs.push(blobData);\n }\n\n return (blobs);\n }\n\n function getBlobData(base64Str) {\n if (typeof base64Str !== \"string\" || base64Str.length < 100) {\n return base64Str;\n }\n const data = b64ToBlobData(base64Str); // your upload logic\n return data;\n }\n\n function b64toBlob(b64Data, contentType, sliceSize) {\n contentType = contentType || \"\";\n sliceSize = sliceSize || 512;\n let byteCharacters = atob(b64Data);\n let byteArrays = [];\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n let slice = byteCharacters.slice(offset, offset + sliceSize);\n let byteNumbers = new Array(slice.length);\n for (var i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n let byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n let blob = new Blob(byteArrays, {\n type: contentType\n });\n return blob;\n }\n\n function b64ToBlobData(base64) {\n let block = base64.split(\";\");\n let contentType = block[0].split(\":\")[1];\n let realData = block[1].split(\",\")[1];\n let blob = b64toBlob(realData, contentType);\n return blob;\n }\n\n\n const setupAllEditors = QuillEditors.setupAllEditors = () => {\n const quillTextContainer = $(\"#quill-text-container\").first()[0];\n const quillToolbar = $('.ql-toolbar'); //checks if toolbar is already loaded on to the page. if user uses forward and back nav in browser.\n if (quillTextContainer && quillToolbar.length === 0) {\n let commentForm = $('form.comment-form').first();\n QuillEditors.setupQuillRichTextEditor(quillTextContainer, commentForm); //first comment form\n }\n if (quillToolbar.length === 0) {\n QuillEditors.setupQuillCommentBodies(); //all other comments\n }\n }\n \n // Show the first editor in a content stream (rest remain hidden until reply is hit)\n const showFirstEditor = QuillEditors.showFirstEditor = () => {\n QuillEditors.setupQuillRichTextEditor($(\"#quill-text-container\").first()[0], $('form.comment-form').first());\n }\n \n const hookAllEvents = QuillEditors.hookAllEvents = () => {\n QuillEditors.setupEditButton(); //when edit it pressed\n QuillEditors.setupSaveButton(); //when save button is pressed\n QuillEditors.setupDeleteButton(); //when delete button is pressed\n QuillEditors.setupReplyComments(); //when reply button is pressed\n QuillEditors.setupUpvote();\n }\n})();","!(function (t, e) {\n if (\"object\" == typeof exports && \"object\" == typeof module) module.exports = e();\n else if (\"function\" == typeof define && define.amd) define([], e);\n else {\n var r = e();\n for (var n in r) (\"object\" == typeof exports ? exports : t)[n] = r[n];\n }\n})(window, function () {\n return (function (t) {\n var e = {};\n function r(n) {\n if (e[n]) return e[n].exports;\n var o = (e[n] = { i: n, l: !1, exports: {} });\n return t[n].call(o.exports, o, o.exports, r), (o.l = !0), o.exports;\n }\n return (\n (r.m = t),\n (r.c = e),\n (r.d = function (t, e, n) {\n r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });\n }),\n (r.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: \"Module\" }), Object.defineProperty(t, \"__esModule\", { value: !0 });\n }),\n (r.t = function (t, e) {\n if ((1 & e && (t = r(t)), 8 & e)) return t;\n if (4 & e && \"object\" == typeof t && t && t.__esModule) return t;\n var n = Object.create(null);\n if ((r.r(n), Object.defineProperty(n, \"default\", { enumerable: !0, value: t }), 2 & e && \"string\" != typeof t))\n for (var o in t)\n r.d(\n n,\n o,\n function (e) {\n return t[e];\n }.bind(null, o)\n );\n return n;\n }),\n (r.n = function (t) {\n var e =\n t && t.__esModule\n ? function () {\n return t.default;\n }\n : function () {\n return t;\n };\n return r.d(e, \"a\", e), e;\n }),\n (r.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }),\n (r.p = \"/dist/\"),\n r((r.s = 6))\n );\n })([\n function (t, e, r) {\n t.exports = r(7);\n },\n function (t, e) {\n function r(t, e, r, n, o, i, a) {\n try {\n var u = t[i](a),\n s = u.value;\n } catch (t) {\n return void r(t);\n }\n u.done ? e(s) : Promise.resolve(s).then(n, o);\n }\n (t.exports = function (t) {\n return function () {\n var e = this,\n n = arguments;\n return new Promise(function (o, i) {\n var a = t.apply(e, n);\n function u(t) {\n r(a, o, i, u, s, \"next\", t);\n }\n function s(t) {\n r(a, o, i, u, s, \"throw\", t);\n }\n u(void 0);\n });\n };\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e) {\n (t.exports = function (t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e) {\n function r(t, e) {\n for (var r = 0; r < e.length; r++) {\n var n = e[r];\n (n.enumerable = n.enumerable || !1), (n.configurable = !0), \"value\" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);\n }\n }\n (t.exports = function (t, e, n) {\n return e && r(t.prototype, e), n && r(t, n), t;\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e, r) {\n \"use strict\";\n r.r(e),\n r.d(e, \"file2b64\", function () {\n return u;\n });\n var n = r(1),\n o = r.n(n),\n i = r(0),\n a = r.n(i);\n function u(t) {\n return s.apply(this, arguments);\n }\n function s() {\n return (s = o()(\n a.a.mark(function t(e) {\n var r, n;\n return a.a.wrap(function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n return (\n (r = new FileReader()),\n (n = new Promise(function (t) {\n r.addEventListener(\n \"load\",\n function () {\n var e = r.result;\n t(e);\n },\n !1\n );\n })),\n r.readAsDataURL(e),\n t.abrupt(\"return\", n)\n );\n case 4:\n case \"end\":\n return t.stop();\n }\n }, t);\n })\n )).apply(this, arguments);\n }\n },\n function (t, e, r) {\n var n = r(10),\n o = r(11),\n i = r(12),\n a = r(14);\n (t.exports = function (t, e) {\n return n(t) || o(t, e) || i(t, e) || a();\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e, r) {\n \"use strict\";\n r.r(e),\n r.d(e, \"imageCompressor\", function () {\n return m;\n });\n var n = r(1),\n o = r.n(n),\n i = r(2),\n a = r.n(i),\n u = r(3),\n s = r.n(u),\n c = r(0),\n l = r.n(c);\n var f = !0,\n h = {\n prefixString: function () {\n return \" quill-image-compress: \";\n },\n get log() {\n return f ? console.log.bind(console, this.prefixString()) : function () {};\n },\n get error() {\n return console.error.bind(console, this.prefixString());\n },\n get warn() {\n return console.warn.bind(console, this.prefixString());\n },\n },\n p = r(8).ImageDrop,\n d = r(4).file2b64,\n g = r(9).downscaleImage,\n m = (function () {\n function t(e, r) {\n var n = this;\n a()(this, t), (this.quill = e), (this.range = null), (this.options = r), (f = r && r.debug);\n var i = (function () {\n var t = o()(\n l.a.mark(function t(e) {\n var r;\n return l.a.wrap(function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n return h.log(\"onImageDrop\", { dataUrl: e }), (t.next = 3), n.downscaleImageFromUrl(e);\n case 3:\n (r = t.sent), n.insertToEditor(r);\n case 5:\n case \"end\":\n return t.stop();\n }\n }, t);\n })\n );\n return function (e) {\n return t.apply(this, arguments);\n };\n })();\n (this.imageDrop = new p(e, i, h)),\n (function (t) {\n (t.maxWidth = t.maxWidth || 1e3), (t.maxHeight = t.maxHeight || 1e3), t.maxWidth && \"number\" != typeof t.maxWidth && (h.warn(\"[config error] 'maxWidth' is required to be a \\\"number\\\" (in pixels), \\nrecieved: \".concat(t.maxWidth, \"\\n-> using default 1000\")), (t.maxWidth = 1e3)), t.maxHeight && \"number\" != typeof t.maxHeight && (h.warn(\"[config error] 'maxHeight' is required to be a \\\"number\\\" (in pixels), \\nrecieved: \".concat(t.maxHeight, \"\\n-> using default 1000\")), (t.maxHeight = 1e3)), t.quality && \"number\" != typeof t.quality && (h.warn(\"quill.imageCompressor: [config error] 'quality' is required to be a \\\"number\\\", \\nrecieved: \".concat(t.quality, \"\\n-> using default 0.7\")), (t.quality = 0.7)), !t.imageType || (\"string\" == typeof t.imageType && t.imageType.startsWith(\"image/\")) || (h.warn('quill.imageCompressor: [config error] \\'imageType\\' is required be in the form of \"image/png\" or \"image/jpeg\" etc ..., \\nrecieved: '.concat(t.imageType, \"\\n-> using default image/jpeg\")), (t.imageType = \"image/jpeg\"));\n })(r),\n h.log(\"fileChanged\", { options: r, quill: e, debug: f });\n var u = this.quill.getModule(\"toolbar\");\n u\n ? u.addHandler(\"image\", function () {\n return n.selectLocalImage();\n })\n : h.error(\"Quill toolbar module not found! need { toolbar: // options } in Quill.modules for image icon to sit in\");\n }\n var e, r;\n return (\n s()(t, [\n {\n key: \"selectLocalImage\",\n value: function () {\n var t = this;\n (this.range = this.quill.getSelection()),\n (this.fileHolder = document.createElement(\"input\")),\n this.fileHolder.setAttribute(\"type\", \"file\"),\n this.fileHolder.setAttribute(\"accept\", \"image/*\"),\n this.fileHolder.setAttribute(\"style\", \"visibility:hidden\"),\n (this.fileHolder.onchange = function () {\n return t.fileChanged();\n }),\n document.body.appendChild(this.fileHolder),\n this.fileHolder.click(),\n window.requestAnimationFrame(function () {\n document.body.removeChild(t.fileHolder);\n });\n },\n },\n {\n key: \"fileChanged\",\n value:\n ((r = o()(\n l.a.mark(function t() {\n var e, r, n;\n return l.a.wrap(\n function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n if (((e = this.fileHolder.files[0]), h.log(\"fileChanged\", { file: e }), e)) {\n t.next = 4;\n break;\n }\n return t.abrupt(\"return\");\n case 4:\n return (t.next = 6), d(e);\n case 6:\n return (r = t.sent), (t.next = 9), this.downscaleImageFromUrl(r);\n case 9:\n (n = t.sent), this.insertToEditor(n);\n case 11:\n case \"end\":\n return t.stop();\n }\n },\n t,\n this\n );\n })\n )),\n function () {\n return r.apply(this, arguments);\n }),\n },\n {\n key: \"downscaleImageFromUrl\",\n value:\n ((e = o()(\n l.a.mark(function t(e) {\n var r, n;\n return l.a.wrap(\n function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n return (r = h), (t.next = 3), g(e, this.options.maxWidth, this.options.maxHeight, this.options.imageType, this.options.quality, r);\n case 3:\n return (n = t.sent), h.log(\"downscaleImageFromUrl\", { dataUrl: e, dataUrlCompressed: n }), t.abrupt(\"return\", n);\n case 6:\n case \"end\":\n return t.stop();\n }\n },\n t,\n this\n );\n })\n )),\n function (t) {\n return e.apply(this, arguments);\n }),\n },\n {\n key: \"insertToEditor\",\n value: function (t) {\n h.log(\"insertToEditor\", { url: t }), (this.range = this.quill.getSelection());\n var e = this.range;\n this.logFileSize(t), this.quill.insertEmbed(e.index, \"image\", \"\".concat(t), \"user\"), e.index++, this.quill.setSelection(e, \"api\");\n },\n },\n {\n key: \"logFileSize\",\n value: function (t) {\n var e = (Math.round((3 * (t.length - \"data:image/png;base64,\".length)) / 4) / 1024).toFixed(0);\n h.log(\"estimated img size: \" + e + \" kb\");\n },\n },\n ]),\n t\n );\n })();\n (window.imageCompressor = m), (e.default = m);\n },\n function (t, e, r) {\n var n = (function (t) {\n \"use strict\";\n var e = Object.prototype,\n r = e.hasOwnProperty,\n n = \"function\" == typeof Symbol ? Symbol : {},\n o = n.iterator || \"@@iterator\",\n i = n.asyncIterator || \"@@asyncIterator\",\n a = n.toStringTag || \"@@toStringTag\";\n function u(t, e, r) {\n return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e];\n }\n try {\n u({}, \"\");\n } catch (t) {\n u = function (t, e, r) {\n return (t[e] = r);\n };\n }\n function s(t, e, r, n) {\n var o = e && e.prototype instanceof f ? e : f,\n i = Object.create(o.prototype),\n a = new E(n || []);\n return (\n (i._invoke = (function (t, e, r) {\n var n = \"suspendedStart\";\n return function (o, i) {\n if (\"executing\" === n) throw new Error(\"Generator is already running\");\n if (\"completed\" === n) {\n if (\"throw\" === o) throw i;\n return j();\n }\n for (r.method = o, r.arg = i; ; ) {\n var a = r.delegate;\n if (a) {\n var u = w(a, r);\n if (u) {\n if (u === l) continue;\n return u;\n }\n }\n if (\"next\" === r.method) r.sent = r._sent = r.arg;\n else if (\"throw\" === r.method) {\n if (\"suspendedStart\" === n) throw ((n = \"completed\"), r.arg);\n r.dispatchException(r.arg);\n } else \"return\" === r.method && r.abrupt(\"return\", r.arg);\n n = \"executing\";\n var s = c(t, e, r);\n if (\"normal\" === s.type) {\n if (((n = r.done ? \"completed\" : \"suspendedYield\"), s.arg === l)) continue;\n return { value: s.arg, done: r.done };\n }\n \"throw\" === s.type && ((n = \"completed\"), (r.method = \"throw\"), (r.arg = s.arg));\n }\n };\n })(t, r, a)),\n i\n );\n }\n function c(t, e, r) {\n try {\n return { type: \"normal\", arg: t.call(e, r) };\n } catch (t) {\n return { type: \"throw\", arg: t };\n }\n }\n t.wrap = s;\n var l = {};\n function f() {}\n function h() {}\n function p() {}\n var d = {};\n d[o] = function () {\n return this;\n };\n var g = Object.getPrototypeOf,\n m = g && g(g(L([])));\n m && m !== e && r.call(m, o) && (d = m);\n var v = (p.prototype = f.prototype = Object.create(d));\n function y(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n u(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function x(t, e) {\n var n;\n this._invoke = function (o, i) {\n function a() {\n return new e(function (n, a) {\n !(function n(o, i, a, u) {\n var s = c(t[o], t, i);\n if (\"throw\" !== s.type) {\n var l = s.arg,\n f = l.value;\n return f && \"object\" == typeof f && r.call(f, \"__await\")\n ? e.resolve(f.__await).then(\n function (t) {\n n(\"next\", t, a, u);\n },\n function (t) {\n n(\"throw\", t, a, u);\n }\n )\n : e.resolve(f).then(\n function (t) {\n (l.value = t), a(l);\n },\n function (t) {\n return n(\"throw\", t, a, u);\n }\n );\n }\n u(s.arg);\n })(o, i, n, a);\n });\n }\n return (n = n ? n.then(a, a) : a());\n };\n }\n function w(t, e) {\n var r = t.iterator[e.method];\n if (void 0 === r) {\n if (((e.delegate = null), \"throw\" === e.method)) {\n if (t.iterator.return && ((e.method = \"return\"), (e.arg = void 0), w(t, e), \"throw\" === e.method)) return l;\n (e.method = \"throw\"), (e.arg = new TypeError(\"The iterator does not provide a 'throw' method\"));\n }\n return l;\n }\n var n = c(r, t.iterator, e.arg);\n if (\"throw\" === n.type) return (e.method = \"throw\"), (e.arg = n.arg), (e.delegate = null), l;\n var o = n.arg;\n return o ? (o.done ? ((e[t.resultName] = o.value), (e.next = t.nextLoc), \"return\" !== e.method && ((e.method = \"next\"), (e.arg = void 0)), (e.delegate = null), l) : o) : ((e.method = \"throw\"), (e.arg = new TypeError(\"iterator result is not an object\")), (e.delegate = null), l);\n }\n function b(t) {\n var e = { tryLoc: t[0] };\n 1 in t && (e.catchLoc = t[1]), 2 in t && ((e.finallyLoc = t[2]), (e.afterLoc = t[3])), this.tryEntries.push(e);\n }\n function _(t) {\n var e = t.completion || {};\n (e.type = \"normal\"), delete e.arg, (t.completion = e);\n }\n function E(t) {\n (this.tryEntries = [{ tryLoc: \"root\" }]), t.forEach(b, this), this.reset(!0);\n }\n function L(t) {\n if (t) {\n var e = t[o];\n if (e) return e.call(t);\n if (\"function\" == typeof t.next) return t;\n if (!isNaN(t.length)) {\n var n = -1,\n i = function e() {\n for (; ++n < t.length; ) if (r.call(t, n)) return (e.value = t[n]), (e.done = !1), e;\n return (e.value = void 0), (e.done = !0), e;\n };\n return (i.next = i);\n }\n }\n return { next: j };\n }\n function j() {\n return { value: void 0, done: !0 };\n }\n return (\n (h.prototype = v.constructor = p),\n (p.constructor = h),\n (h.displayName = u(p, a, \"GeneratorFunction\")),\n (t.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === h || \"GeneratorFunction\" === (e.displayName || e.name));\n }),\n (t.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, p) : ((t.__proto__ = p), u(t, a, \"GeneratorFunction\")), (t.prototype = Object.create(v)), t;\n }),\n (t.awrap = function (t) {\n return { __await: t };\n }),\n y(x.prototype),\n (x.prototype[i] = function () {\n return this;\n }),\n (t.AsyncIterator = x),\n (t.async = function (e, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new x(s(e, r, n, o), i);\n return t.isGeneratorFunction(r)\n ? a\n : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }),\n y(v),\n u(v, a, \"Generator\"),\n (v[o] = function () {\n return this;\n }),\n (v.toString = function () {\n return \"[object Generator]\";\n }),\n (t.keys = function (t) {\n var e = [];\n for (var r in t) e.push(r);\n return (\n e.reverse(),\n function r() {\n for (; e.length; ) {\n var n = e.pop();\n if (n in t) return (r.value = n), (r.done = !1), r;\n }\n return (r.done = !0), r;\n }\n );\n }),\n (t.values = L),\n (E.prototype = {\n constructor: E,\n reset: function (t) {\n if (((this.prev = 0), (this.next = 0), (this.sent = this._sent = void 0), (this.done = !1), (this.delegate = null), (this.method = \"next\"), (this.arg = void 0), this.tryEntries.forEach(_), !t)) for (var e in this) \"t\" === e.charAt(0) && r.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = void 0);\n },\n stop: function () {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function (t) {\n if (this.done) throw t;\n var e = this;\n function n(r, n) {\n return (a.type = \"throw\"), (a.arg = t), (e.next = r), n && ((e.method = \"next\"), (e.arg = void 0)), !!n;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return n(\"end\");\n if (i.tryLoc <= this.prev) {\n var u = r.call(i, \"catchLoc\"),\n s = r.call(i, \"finallyLoc\");\n if (u && s) {\n if (this.prev < i.catchLoc) return n(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return n(i.finallyLoc);\n } else if (u) {\n if (this.prev < i.catchLoc) return n(i.catchLoc, !0);\n } else {\n if (!s) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return n(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function (t, e) {\n for (var n = this.tryEntries.length - 1; n >= 0; --n) {\n var o = this.tryEntries[n];\n if (o.tryLoc <= this.prev && r.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return (a.type = t), (a.arg = e), i ? ((this.method = \"next\"), (this.next = i.finallyLoc), l) : this.complete(a);\n },\n complete: function (t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? (this.next = t.arg) : \"return\" === t.type ? ((this.rval = this.arg = t.arg), (this.method = \"return\"), (this.next = \"end\")) : \"normal\" === t.type && e && (this.next = e), l;\n },\n finish: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), _(r), l;\n }\n },\n catch: function (t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n _(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (t, e, r) {\n return (this.delegate = { iterator: L(t), resultName: e, nextLoc: r }), \"next\" === this.method && (this.arg = void 0), l;\n },\n }),\n t\n );\n })(t.exports);\n try {\n regeneratorRuntime = n;\n } catch (t) {\n Function(\"r\", \"regeneratorRuntime = r\")(n);\n }\n },\n function (t, e, r) {\n \"use strict\";\n r.r(e),\n r.d(e, \"ImageDrop\", function () {\n return h;\n });\n var n = r(1),\n o = r.n(n),\n i = r(2),\n a = r.n(i),\n u = r(3),\n s = r.n(u),\n c = r(0),\n l = r.n(c),\n f = r(4).file2b64,\n h = (function () {\n function t(e, r, n) {\n var o = this;\n a()(this, t),\n (this.logger = n),\n (this.quill = e),\n (this.onNewDataUrl = r),\n this.quill.root.addEventListener(\n \"drop\",\n function (t) {\n return o.handleDrop(t);\n },\n !1\n ),\n this.quill.root.addEventListener(\n \"paste\",\n function (t) {\n return o.handlePaste(t);\n },\n !1\n );\n }\n var e;\n return (\n s()(t, [\n {\n key: \"handleNewImageFiles\",\n value:\n ((e = o()(\n l.a.mark(function t(e) {\n var r, n, o;\n return l.a.wrap(\n function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n if (Array.isArray(e)) {\n t.next = 2;\n break;\n }\n return t.abrupt(\"return\");\n case 2:\n if ((r = e.pop())) {\n t.next = 5;\n break;\n }\n return t.abrupt(\"return\");\n case 5:\n return (n = r.getAsFile ? r.getAsFile() : r), (t.next = 8), f(n);\n case 8:\n (o = t.sent), this.logger.log(\"handlePaste\", { base64ImageSrc: o }), this.onNewDataUrl(o);\n case 11:\n case \"end\":\n return t.stop();\n }\n },\n t,\n this\n );\n })\n )),\n function (t) {\n return e.apply(this, arguments);\n }),\n },\n {\n key: \"handleDrop\",\n value: function (t) {\n t.preventDefault();\n var e = t.dataTransfer && t.dataTransfer.files && t.dataTransfer.files.length;\n if ((this.logger.log(\"handleDrop\", { hasFiles: e }), e)) {\n if (document.caretRangeFromPoint) {\n var r = document.getSelection(),\n n = document.caretRangeFromPoint(t.clientX, t.clientY);\n r && n && r.setBaseAndExtent(n.startContainer, n.startOffset, n.startContainer, n.startOffset);\n }\n var o = this.getImageFiles(t.dataTransfer.files);\n this.handleNewImageFiles(o);\n }\n },\n },\n {\n key: \"handlePaste\",\n value: function (t) {\n var e = t.clipboardData && t.clipboardData.items && !!t.clipboardData.items.length;\n if ((this.logger.log(\"handlePaste\", { hasItems: e }), e)) {\n var r = this.getImageFiles(t.clipboardData.items);\n 0 !== r.length &&\n (Array.from(t.clipboardData.items).some(function (t) {\n return false; // return \"text/html === t.type\"\n })\n ? this.logger.log(\"detected html, not handling\")\n : (t.preventDefault(), this.handleNewImageFiles(r)));\n }\n },\n },\n {\n key: \"getImageFiles\",\n value: function (t) {\n var e = Array.from(t);\n return (\n this.logger.log(\"readFiles\", { files: e }),\n e.filter(function (t) {\n return !!t.type.match(/^image\\/(gif|jpe?g|a?png|svg|webp|bmp|vnd\\.microsoft\\.icon)/i);\n }) || []\n );\n },\n },\n ]),\n t\n );\n })();\n },\n function (t, e, r) {\n \"use strict\";\n r.r(e),\n r.d(e, \"downscaleImage\", function () {\n return c;\n });\n var n = r(5),\n o = r.n(n),\n i = r(1),\n a = r.n(i),\n u = r(0),\n s = r.n(u);\n function c(t, e, r, n, o, i) {\n return l.apply(this, arguments);\n }\n function l() {\n return (l = a()(\n s.a.mark(function t(e, r, n, i, a, u) {\n var c, l, h, p, d, g, m;\n return s.a.wrap(function (t) {\n for (;;)\n switch ((t.prev = t.next)) {\n case 0:\n return (\n (i = i || \"image/jpeg\"),\n (a = a || 0.7),\n ((c = new Image()).src = e),\n (t.next = 6),\n new Promise(function (t) {\n c.onload = function () {\n t();\n };\n })\n );\n case 6:\n return (l = f(c.width, c.height, r, n)), (h = o()(l, 2)), (p = h[0]), (d = h[1]), ((g = document.createElement(\"canvas\")).width = p), (g.height = d), g.getContext(\"2d\").drawImage(c, 0, 0, p, d), (m = g.toDataURL(i, a)), u.log(\"downscaling image...\", { args: { dataUrl: e, maxWidth: r, maxHeight: n, imageType: i, imageQuality: a }, newHeight: d, newWidth: p }), t.abrupt(\"return\", m);\n case 15:\n case \"end\":\n return t.stop();\n }\n }, t);\n })\n )).apply(this, arguments);\n }\n function f(t, e, r, n) {\n if (t <= r && e <= n) return [t, e];\n if (t > r) {\n var o = r,\n i = Math.floor((e / t) * o);\n if (i > n) {\n var a = n;\n return [Math.floor((t / e) * a), a];\n }\n return [o, i];\n }\n if (e > n) {\n var u = n;\n return [Math.floor((t / e) * u), u];\n }\n }\n },\n function (t, e) {\n (t.exports = function (t) {\n if (Array.isArray(t)) return t;\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e) {\n (t.exports = function (t, e) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(t)) {\n var r = [],\n n = !0,\n o = !1,\n i = void 0;\n try {\n for (var a, u = t[Symbol.iterator](); !(n = (a = u.next()).done) && (r.push(a.value), !e || r.length !== e); n = !0);\n } catch (t) {\n (o = !0), (i = t);\n } finally {\n try {\n n || null == u.return || u.return();\n } finally {\n if (o) throw i;\n }\n }\n return r;\n }\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e, r) {\n var n = r(13);\n (t.exports = function (t, e) {\n if (t) {\n if (\"string\" == typeof t) return n(t, e);\n var r = Object.prototype.toString.call(t).slice(8, -1);\n return \"Object\" === r && t.constructor && (r = t.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(t) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? n(t, e) : void 0;\n }\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e) {\n (t.exports = function (t, e) {\n (null == e || e > t.length) && (e = t.length);\n for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];\n return n;\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n function (t, e) {\n (t.exports = function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }),\n (t.exports.default = t.exports),\n (t.exports.__esModule = !0);\n },\n ]);\n});\n","/*!\n * Quill Resize Module v1.2.4\n * https://github.com/mudoo/quill-resize-module\n */\n!(function (t, e) {\n \"object\" == typeof exports && \"object\" == typeof module ? (module.exports = e(require(\"quill\"))) \n : \"function\" == typeof define && define.amd ? define([\"Quill\"], e) \n : \"object\" == typeof exports ? (exports.QuillResize = e(require(\"Quill\"))) \n : (t.QuillResize = e(t.Quill));\n})(window, function (t) {\n return (function (t) {\n var e = {};\n function i(o) {\n if (e[o]) return e[o].exports;\n var n = (e[o] = { i: o, l: !1, exports: {} });\n return t[o].call(n.exports, n, n.exports, i), (n.l = !0), n.exports;\n }\n return (\n (i.m = t),\n (i.c = e),\n (i.d = function (t, e, o) {\n i.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: o });\n }),\n (i.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: \"Module\" }), Object.defineProperty(t, \"__esModule\", { value: !0 });\n }),\n (i.t = function (t, e) {\n if ((1 & e && (t = i(t)), 8 & e)) return t;\n if (4 & e && \"object\" == typeof t && t && t.__esModule) return t;\n var o = Object.create(null);\n if ((i.r(o), Object.defineProperty(o, \"default\", { enumerable: !0, value: t }), 2 & e && \"string\" != typeof t))\n for (var n in t)\n i.d(\n o,\n n,\n function (e) {\n return t[e];\n }.bind(null, n)\n );\n return o;\n }),\n (i.n = function (t) {\n var e =\n t && t.__esModule\n ? function () {\n return t.default;\n }\n : function () {\n return t;\n };\n return i.d(e, \"a\", e), e;\n }),\n (i.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }),\n (i.p = \"\"),\n i((i.s = 2))\n );\n })([\n function (e, i) {\n e.exports = t;\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o = (function () {\n function t(e) {\n !(function (t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n })(this, t),\n (this.resizer = e),\n (this.quill = e.quill),\n (this.overlay = e.overlay),\n (this.activeEle = e.activeEle),\n (this.blot = e.blot),\n (this.options = e.options),\n (this.requestUpdate = function () {\n e.onUpdate(!0);\n });\n }\n return (t.prototype.onCreate = function () {}), (t.prototype.onDestroy = function () {}), (t.prototype.onUpdate = function () {}), t;\n })();\n e.default = o;\n },\n function (t, e, i) {\n \"use strict\";\n (e.__esModule = !0), (e.PlaceholderRegister = e.Image = e.Resize = e.convertPlaceholderHTML = e.ClassNamePlaceholder = e.TagPlaceholder = e.EmbedPlaceholder = void 0);\n var o = i(3);\n Object.defineProperty(e, \"EmbedPlaceholder\", {\n enumerable: !0,\n get: function () {\n return o.EmbedPlaceholder;\n },\n }),\n Object.defineProperty(e, \"TagPlaceholder\", {\n enumerable: !0,\n get: function () {\n return o.TagPlaceholder;\n },\n }),\n Object.defineProperty(e, \"ClassNamePlaceholder\", {\n enumerable: !0,\n get: function () {\n return o.ClassNamePlaceholder;\n },\n }),\n Object.defineProperty(e, \"convertPlaceholderHTML\", {\n enumerable: !0,\n get: function () {\n return o.convertPlaceholderHTML;\n },\n });\n var n = a(i(0));\n i(16);\n var r = a(i(4)),\n s = i(15),\n l = a(o);\n function a(t) {\n return t && t.__esModule ? t : { default: t };\n }\n (window.Quill || n.default).register(s.Image, !0),\n (e.default = r.default),\n (e.Resize = r.default),\n (e.Image = s.Image),\n (e.PlaceholderRegister = l.default),\n Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector),\n Element.prototype.closest ||\n (Element.prototype.closest = function (t) {\n var e = this;\n if (!document.documentElement.contains(e)) return null;\n do {\n if (e.matches(t)) return e;\n e = e.parentElement || e.parentNode;\n } while (null !== e && 1 === e.nodeType);\n return null;\n });\n },\n function (t, e, i) {\n \"use strict\";\n (e.__esModule = !0), (e.convertPlaceholderHTML = e.ClassNamePlaceholder = e.TagPlaceholder = e.EmbedPlaceholder = void 0);\n var o =\n Object.assign ||\n function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var i = arguments[e];\n for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);\n }\n return t;\n };\n e.default = function () {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [v];\n Array.isArray(t) || (t = [t]);\n t.push(m),\n t.forEach(function (t) {\n h.register(t, !0), (t.tagName = y.tagName), (t.className = m.className);\n });\n };\n var n,\n r = i(0),\n s = (n = r) && n.__esModule ? n : { default: n };\n function l(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function a(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n function u(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n }\n var h = window.Quill || s.default,\n c = h.import(\"blots/container\"),\n d = h.import(\"blots/scroll\"),\n p = [\"data-embed-source\", \"data-type\", \"data-src\", \"data-size\", \"style\"],\n f = h.import(\"parchment\"),\n y = (function (t) {\n function e() {\n return l(this, e), a(this, t.apply(this, arguments));\n }\n return (\n u(e, t),\n (e.create = function (e) {\n var i = t.create.call(this);\n if (\"string\" == typeof e) i.setAttribute(p[0], e);\n else for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && i.setAttribute(o, e[o]);\n return i.setAttribute(\"contenteditable\", !1), i.setAttribute(\"unselectable\", \"on\"), i;\n }),\n (e.formats = function (t) {\n return t.__handling && t.__formats\n ? t.__formats\n : p.slice(3).reduce(function (e, i) {\n return t.hasAttribute(i) && (e[i] = t.getAttribute(i)), e;\n }, {});\n }),\n (e.value = function (t) {\n var e = p.slice(0, 3),\n i = {};\n return (\n e.forEach(function (e) {\n var o = \"\";\n if (t.hasAttribute(e)) o = t.getAttribute(e);\n else\n switch (e) {\n case p[0]:\n o = encodeURIComponent(t.outerHTML);\n break;\n case p[1]:\n o = t.tagName;\n break;\n case p[2]:\n o = t.getAttribute(\"src\");\n break;\n case \"style\":\n o = t.style.cssText;\n break;\n default:\n o = t[e] || \"\";\n }\n o && (i[e] = o);\n }),\n i\n );\n }),\n (e.prototype.format = function (e, i) {\n \"style\" !== e ? (-1 !== p.indexOf(e) ? (i ? this.domNode.setAttribute(e, i) : this.domNode.removeAttribute(e)) : t.prototype.format.call(this, e, i)) : (this.domNode.style.cssText = i);\n }),\n (e.prototype.handling = function (t) {\n (this.domNode.__formats = this.constructor.formats(this.domNode)), (this.domNode.__handling = t);\n }),\n e\n );\n })(h.import(\"blots/block/embed\"));\n (y.blotName = \"embed-placeholder\"), (y.tagName = \"span\"), (y.scope = f.Scope.INLINE_BLOT), c.allowedChildren.push(y), d.allowedChildren.push(y);\n var v = (function (t) {\n function e() {\n return l(this, e), a(this, t.apply(this, arguments));\n }\n return u(e, t), e;\n })(y);\n v.tagName = [\"video\", \"iframe\"];\n var m = (function (t) {\n function e() {\n return l(this, e), a(this, t.apply(this, arguments));\n }\n return u(e, t), e;\n })(y);\n m.className = \"ql-embed-placeholder\";\n var b = /<([\\w-]+)((?:\\s+[\\w-:.]*(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*>([^<]*?)<\\/\\1>/g,\n g = /([\\w-:.]+)(?:\\s*=\\s*(?:\"((?:\\\\.|[^\"])*)\"|'((?:\\\\.|[^'])*)'))?/g;\n function w(t) {\n var e = {};\n return (\n t.replace(g, function (t, i, o, n) {\n var r = (o || n || \"\").trim();\n e[i] = r;\n }),\n e\n );\n }\n var E = /<([\\w-]+)((?:\\s+[\\w-:.]*(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*>/;\n function x() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\",\n e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n return t.replace(E, function (t, i) {\n var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"\",\n r = w(n);\n o(r, e);\n var s = Object.keys(r).reduce(function (t, e) {\n var i = r[e];\n return null == i ? t : (t += \"\" === i ? \" \" + e : \" \" + e + '=\"' + i + '\"');\n }, \"\");\n return \"<\" + i + s + \">\";\n });\n }\n (e.EmbedPlaceholder = y),\n (e.TagPlaceholder = v),\n (e.ClassNamePlaceholder = m),\n (e.convertPlaceholderHTML = function () {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n if (!t) return \"\";\n var e = new RegExp('class\\\\s*=\\\\s*(?:\"[^\"]*\\\\b(' + m.className + \")\\\\b[^\\\"]*\\\"|'[^']*\\\\b(\" + m.className + \")\\\\b[^']*')\");\n return t.replace(b, function (t, i) {\n var o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"\";\n if (!i || i.toLowerCase() !== y.tagName || !e.test(o)) return t;\n var n = w(o),\n r = decodeURIComponent(n[p[0]]);\n return x(r, { style: n.style, \"data-size\": n[\"data-size\"] });\n });\n });\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o =\n Object.assign ||\n function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var i = arguments[e];\n for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);\n }\n return t;\n },\n n = h(i(5)),\n r = h(i(6)),\n s = h(i(7)),\n l = h(i(13)),\n a = h(i(14)),\n u = h(i(0));\n function h(t) {\n return t && t.__esModule ? t : { default: t };\n }\n function c(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n var d = (window.Quill || u.default).import(\"parchment\"),\n p = { DisplaySize: r.default, Toolbar: s.default, Resize: l.default, Keyboard: a.default },\n f = (function () {\n function t(e) {\n var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n c(this, t), (e.resizer = this), (this.quill = e);\n var r = !1;\n i.modules && (r = i.modules.slice()), (this.options = o({}, n.default, i)), (this.options.styles = o({}, n.default.styles, i.styles)), !1 !== r && (this.options.modules = r), document.execCommand(\"enableObjectResizing\", !1, \"false\"), this.quill.root.addEventListener(\"mousedown\", this.handleClick.bind(this), !1), this.quill.on(\"text-change\", this.handleChange.bind(this)), this.quill.emitter.on(\"resize-edit\", this.handleEdit.bind(this)), (this.quill.root.parentNode.style.position = this.quill.root.parentNode.style.position || \"relative\"), (this.selectedBlots = []), this.options.selectedClass && this.quill.on(\"selection-change\", this.addBlotsSelectedClass.bind(this)), (this.moduleClasses = this.options.modules), (this.modules = []), this.options.keyboardSelect && a.default.injectInit(this.quill);\n }\n return (\n (t.prototype.initializeModules = function () {\n var t = this;\n this.removeModules(),\n (this.modules = this.moduleClasses.map(function (e) {\n return new (p[e] || e)(t);\n })),\n this.modules.forEach(function (t) {\n t.onCreate();\n }),\n this.onUpdate();\n }),\n (t.prototype.onUpdate = function (t) {\n (this.updateFromModule = t),\n this.repositionElements(),\n this.modules.forEach(function (t) {\n t.onUpdate();\n });\n }),\n (t.prototype.removeModules = function () {\n this.modules.forEach(function (t) {\n t.onDestroy();\n }),\n (this.modules = []);\n }),\n (t.prototype.handleEdit = function () {\n if (this.blot) {\n var t = this.blot.offset(this.quill.scroll);\n this.hide(), this.quill.focus(), this.quill.setSelection(t, 1);\n }\n }),\n (t.prototype.handleClick = function (t) {\n if (this.quill.isEnabled()) { //check to see if quill is enabled\n var e = !1,\n i = void 0,\n o = t.target;\n o && o.tagName && (i = this.quill.constructor.find(o)) && (e = this.judgeShow(i, o)), e ? t.preventDefault() : this.activeEle && this.hide();\n }\n }),\n (t.prototype.judgeShow = function (t, e) {\n var i = !1;\n if (!t) return i;\n !e && t.domNode && (e = t.domNode);\n var o = this.options.parchment[t.statics.blotName];\n if (!o) return i;\n if (this.activeEle === e) return !0;\n var n = o.limit || {};\n return (!n.minWidth || (n.minWidth && e.offsetWidth >= n.minWidth)) && ((i = !0), this.activeEle && this.hide(), (this.activeEle = e), (this.blot = t), this.show(e)), i;\n }),\n (t.prototype.handleChange = function (t, e, i) {\n this.updateFromModule ? (this.updateFromModule = !1) : \"user\" === i && this.overlay && this.activeEle && this.onUpdate();\n }),\n (t.prototype.show = function () {\n this.showOverlay(), this.initializeModules(), this.options.activeClass && this.activeEle.classList.add(this.options.activeClass);\n }),\n (t.prototype.showOverlay = function () {\n var t = this;\n this.overlay && this.hideOverlay(),\n this.quill.setSelection(null),\n this.setUserSelect(\"none\"),\n (this.overlay = document.createElement(\"div\")),\n o(this.overlay.style, this.options.styles.overlay),\n this.overlay.addEventListener(\"dblclick\", this.handleEdit.bind(this), !1),\n this.quill.root.parentNode.appendChild(this.overlay),\n (this.hideProxy = function (e) {\n t.activeEle && t.hide();\n }),\n this.quill.root.addEventListener(\"input\", this.hideProxy, !0),\n (this.updateOverlayPositionProxy = this.updateOverlayPosition.bind(this)),\n this.quill.root.addEventListener(\"scroll\", this.updateOverlayPositionProxy),\n this.repositionElements();\n }),\n (t.prototype.hideOverlay = function () {\n this.overlay && (this.quill.root.parentNode.removeChild(this.overlay), (this.overlay = void 0), document.removeEventListener(\"keydown\", this.keyboardProxy, !0), this.quill.root.removeEventListener(\"input\", this.hideProxy, !0), this.quill.root.removeEventListener(\"scroll\", this.updateOverlayPositionProxy), this.setUserSelect(\"\"));\n }),\n (t.prototype.repositionElements = function () {\n if (this.overlay && this.activeEle) {\n var t = this.quill.root.parentNode,\n e = this.activeEle.getBoundingClientRect(),\n i = t.getBoundingClientRect();\n o(this.overlay.style, { left: e.left - i.left - 1 + t.scrollLeft + \"px\", top: e.top - i.top + this.quill.root.scrollTop + \"px\", width: e.width + \"px\", height: e.height + \"px\", marginTop: -1 * this.quill.root.scrollTop + \"px\" });\n }\n }),\n (t.prototype.updateOverlayPosition = function () {\n this.overlay.style.marginTop = -1 * this.quill.root.scrollTop + \"px\";\n }),\n (t.prototype.addBlotsSelectedClass = function (t, e) {\n var i = this;\n if (!t) return this.removeBlotsSelectedClass(), void (this.selectedBlots = []);\n var o = this.quill.scroll.descendants(d.Leaf, t.index, t.length).filter(function (t) {\n var e = !!i.options.parchment[t.statics.blotName];\n return e && t.domNode.classList.add(i.options.selectedClass), e;\n });\n this.removeBlotsSelectedClass(o), (this.selectedBlots = o);\n }),\n (t.prototype.removeBlotsSelectedClass = function () {\n var t = this,\n e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\n Array.isArray(e) || (e = [e]),\n this.selectedBlots.forEach(function (i) {\n -1 === e.indexOf(i) && i.domNode.classList.remove(t.options.selectedClass);\n });\n }),\n (t.prototype.hide = function () {\n this.hideOverlay(), this.removeModules(), this.activeEle && this.options.activeClass && this.activeEle.classList.remove(this.options.activeClass), (this.activeEle = void 0), (this.blot = void 0);\n }),\n (t.prototype.setUserSelect = function (t) {\n var e = this;\n [\"userSelect\", \"mozUserSelect\", \"webkitUserSelect\", \"msUserSelect\"].forEach(function (i) {\n (e.quill.root.style[i] = t), (document.documentElement.style[i] = t);\n });\n }),\n t\n );\n })();\n (e.default = f), window.Quill && window.Quill.register(\"modules/resize\", f);\n },\n function (t, e, i) {\n \"use strict\";\n (e.__esModule = !0), (e.default = { modules: [\"DisplaySize\", \"Toolbar\", \"Resize\", \"Keyboard\"], keyboardSelect: !0, selectedClass: \"selected\", activeClass: \"active\", parchment: { image: { attribute: [\"width\"], limit: { minWidth: 100 } }, \"embed-placeholder\": { attribute: [\"width\", \"height\"], limit: { minWidth: 200, ratio: 0.5625 } }, video: { attribute: [\"width\", \"height\"], limit: { minWidth: 200, ratio: 0.5625 } } }, styles: { overlay: { position: \"absolute\", boxSizing: \"border-box\", border: \"1px dashed #444\" }, handle: { position: \"absolute\", height: \"12px\", width: \"12px\", backgroundColor: \"white\", border: \"1px solid #777\", boxSizing: \"border-box\", opacity: \"0.80\" }, display: { position: \"absolute\", padding: \"4px 8px\", textAlign: \"center\", backgroundColor: \"white\", color: \"#333\", border: \"1px solid #777\", boxSizing: \"border-box\", opacity: \"0.80\", cursor: \"default\", lineHeight: \"1\" }, toolbar: { position: \"absolute\", top: \"-12px\", right: \"0\", left: \"0\", height: \"0\", minWidth: \"120px\", textAlign: \"center\", color: \"#333\", boxSizing: \"border-box\", cursor: \"default\" }, toolbarButton: { display: \"inline-block\", width: \"24px\", height: \"24px\", background: \"white\", border: \"1px solid #999\", verticalAlign: \"middle\" }, toolbarButtonSvg: {} } });\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o,\n n =\n Object.assign ||\n function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var i = arguments[e];\n for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);\n }\n return t;\n },\n r = i(1);\n function s(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function l(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n var a = (function (t) {\n function e() {\n return s(this, e), l(this, t.apply(this, arguments));\n }\n return (\n (function (t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n })(e, t),\n (e.prototype.onCreate = function () {\n (this.display = document.createElement(\"div\")), n(this.display.style, this.options.styles.display), this.overlay.appendChild(this.display);\n }),\n (e.prototype.onUpdate = function () {\n if (this.display && this.activeEle) {\n var t = this.getCurrentSize();\n if (((this.display.innerHTML = t.join(\" × \")), t[0] > 120 && t[1] > 30)) n(this.display.style, { right: \"4px\", bottom: \"4px\", left: \"auto\" });\n else if (\"right\" === this.activeEle.style.float) {\n var e = this.display.getBoundingClientRect();\n n(this.display.style, { right: \"auto\", bottom: \"-\" + (e.height + 4) + \"px\", left: \"-\" + (e.width + 4) + \"px\" });\n } else {\n var i = this.display.getBoundingClientRect();\n n(this.display.style, { right: \"-\" + (i.width + 4) + \"px\", bottom: \"-\" + (i.height + 4) + \"px\", left: \"auto\" });\n }\n }\n }),\n (e.prototype.getCurrentSize = function () {\n return [this.activeEle.offsetWidth, this.activeEle.offsetHeight];\n }),\n e\n );\n })(((o = r) && o.__esModule ? o : { default: o }).default);\n e.default = a;\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o =\n Object.assign ||\n function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var i = arguments[e];\n for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);\n }\n return t;\n },\n n = c(i(1)),\n r = c(i(8)),\n s = c(i(9)),\n l = c(i(10)),\n a = c(i(11)),\n u = c(i(12)),\n h = c(i(0));\n function c(t) {\n return t && t.__esModule ? t : { default: t };\n }\n function d(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function p(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n var f = (window.Quill || h.default).import(\"parchment\"),\n y = new (f.ClassAttributor ? f.ClassAttributor : f.Attributor.Class)(\"imagestyle\", \"ql-resize-style\"),\n v = (function (t) {\n function e() {\n return d(this, e), p(this, t.apply(this, arguments));\n }\n return (\n (function (t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n })(e, t),\n (e.prototype.onCreate = function () {\n (this.toolbar = document.createElement(\"div\")), o(this.toolbar.style, this.options.styles.toolbar), this.overlay.appendChild(this.toolbar), this._defineAlignments(), this._addToolbarButtons();\n }),\n (e.prototype._defineAlignments = function () {\n var t = this;\n this.alignments = [\n {\n icon: r.default,\n apply: function () {\n y.add(t.activeEle, \"left\");\n },\n isApplied: function () {\n return \"left\" === y.value(t.activeEle);\n },\n },\n {\n icon: s.default,\n apply: function () {\n y.add(t.activeEle, \"center\");\n },\n isApplied: function () {\n return \"center\" === y.value(t.activeEle);\n },\n },\n {\n icon: l.default,\n apply: function () {\n y.add(t.activeEle, \"right\");\n },\n isApplied: function () {\n return \"right\" === y.value(t.activeEle);\n },\n },\n {\n icon: a.default,\n apply: function () {\n y.add(t.activeEle, \"full\");\n },\n isApplied: function () {\n return \"full\" === y.value(t.activeEle);\n },\n },\n ];\n }),\n (e.prototype._addToolbarButtons = function () {\n var t = this,\n e = [];\n this.alignments.forEach(function (i, n) {\n var r = document.createElement(\"span\");\n e.push(r),\n (r.innerHTML = i.icon),\n r.addEventListener(\"click\", function () {\n e.forEach(function (t) {\n return (t.style.filter = \"\");\n }),\n i.isApplied() ? y.remove(t.activeEle) : (t._selectButton(r), i.apply()),\n t.requestUpdate();\n }),\n o(r.style, t.options.styles.toolbarButton),\n n > 0 && (r.style.borderLeftWidth = \"0\"),\n o(r.children[0].style, t.options.styles.toolbarButtonSvg),\n i.isApplied() && t._selectButton(r),\n t.toolbar.appendChild(r);\n });\n var i = document.createElement(\"span\");\n (i.innerHTML = u.default),\n o(i.style, this.options.styles.toolbarButton),\n (i.style.borderLeftWidth = \"0\"),\n i.addEventListener(\"click\", function () {\n t.quill.emitter.emit(\"resize-edit\", t.activeEle, t.blot);\n }),\n this.toolbar.appendChild(i);\n }),\n (e.prototype._selectButton = function (t) {\n t.style.filter = \"invert(20%)\";\n }),\n e\n );\n })(n.default);\n e.default = v;\n },\n function (t, e, i) {\n \"use strict\";\n i.r(e), (e.default = '\\n \\n \\n \\n \\n \\n');\n },\n function (t, e, i) {\n \"use strict\";\n i.r(e), (e.default = '\\n \\n \\n \\n');\n },\n function (t, e, i) {\n \"use strict\";\n i.r(e), (e.default = '\\n \\n \\n \\n \\n \\n');\n },\n function (t, e, i) {\n \"use strict\";\n i.r(e), (e.default = '\\n \\n \\n \\n');\n },\n function (t, e, i) {\n \"use strict\";\n i.r(e), (e.default = '\\n \\n\\n');\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o,\n n =\n Object.assign ||\n function (t) {\n for (var e = 1; e < arguments.length; e++) {\n var i = arguments[e];\n for (var o in i) Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);\n }\n return t;\n },\n r = i(1);\n function s(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function l(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n var a = (function (t) {\n function e() {\n return s(this, e), l(this, t.apply(this, arguments));\n }\n return (\n (function (t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n })(e, t),\n (e.prototype.onCreate = function () {\n (this.boxes = []), this.addBox(\"nwse-resize\"), this.addBox(\"nesw-resize\"), this.addBox(\"nwse-resize\"), this.addBox(\"nesw-resize\"), this.positionBoxes();\n }),\n (e.prototype.onDestroy = function () {\n this.setCursor(\"\");\n }),\n (e.prototype.positionBoxes = function () {\n var t = this,\n e = -parseFloat(this.options.styles.handle.width) / 2 + \"px\",\n i = -parseFloat(this.options.styles.handle.height) / 2 + \"px\";\n [\n { left: e, top: i },\n { right: e, top: i },\n { right: e, bottom: i },\n { left: e, bottom: i },\n ].forEach(function (e, i) {\n n(t.boxes[i].style, e);\n });\n }),\n (e.prototype.addBox = function (t) {\n var e = document.createElement(\"div\");\n n(e.style, this.options.styles.handle), (e.style.cursor = t), (e.style.width = this.options.styles.handle.width + \"px\"), (e.style.height = this.options.styles.handle.height + \"px\"), e.addEventListener(\"mousedown\", this.handleMousedown.bind(this), !1), this.overlay.appendChild(e), this.boxes.push(e);\n }),\n (e.prototype.handleMousedown = function (t) {\n var e = this;\n this.blot.handling && this.blot.handling(!0),\n (this.dragBox = t.target),\n (this.dragStartX = t.clientX),\n (this.dragStartY = t.clientY),\n (this.preDragSize = { width: this.activeEle.offsetWidth, height: this.activeEle.offsetHeight }),\n (this.naturalSize = this.getNaturalSize()),\n this.setCursor(this.dragBox.style.cursor),\n (this.handleDragProxy = function (t) {\n return e.handleDrag(t);\n }),\n (this.handleMouseupProxy = function (t) {\n return e.handleMouseup(t);\n }),\n document.addEventListener(\"mousemove\", this.handleDragProxy, !1),\n document.addEventListener(\"mouseup\", this.handleMouseupProxy, !1);\n }),\n (e.prototype.handleMouseup = function () {\n this.setCursor(\"\"), this.blot.handling && this.blot.handling(!1), document.removeEventListener(\"mousemove\", this.handleDragProxy), document.removeEventListener(\"mouseup\", this.handleMouseupProxy);\n }),\n (e.prototype.handleDrag = function (t) {\n var e = this;\n if (this.activeEle && this.blot) {\n var i = t.clientX - this.dragStartX,\n o = t.clientY - this.dragStartY,\n r = this.options.parchment[this.blot.statics.blotName],\n s = {},\n l = 1;\n (r.attribute || [\"width\"]).forEach(function (t) {\n s[t] = e.preDragSize[t];\n }),\n (this.dragBox !== this.boxes[0] && this.dragBox !== this.boxes[3]) || (l = -1),\n s.width && (s.width = Math.round(this.preDragSize.width + i * l)),\n s.height && (s.height = Math.round(this.preDragSize.height + o * l)),\n n(this.activeEle.style, this.calcSize(s, r.limit)),\n this.requestUpdate();\n }\n }),\n (e.prototype.calcSize = function (t) {\n var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n i = t.width,\n o = t.height;\n if (e.ratio) {\n var n = void 0;\n e.minWidth && (i = Math.max(e.minWidth, i)), e.maxWidth && (i = Math.min(e.maxWidth, i)), (o = i * e.ratio), e.minHeight && o < e.minHeight && ((n = !0), (o = e.minHeight)), e.maxHeight && o > e.maxHeight && ((n = !0), (o = e.maxHeight)), n && (i = o / e.ratio);\n } else t.width && (e.minWidth && (i = Math.max(e.minWidth, i)), e.maxWidth && (i = Math.min(e.maxWidth, i))), t.height && (e.minHeight && (o = Math.max(e.minHeight, o)), e.maxHeight && (o = Math.min(e.maxHeight, o)));\n return i && (t.width = i + \"px\"), o && (t.height = o + \"px\"), t;\n }),\n (e.prototype.getNaturalSize = function () {\n var t = this.activeEle,\n e = [0, 0];\n return t.getAttribute(\"data-size\") ? (e = t.getAttribute(\"data-size\").split(\",\")) : ((e = [t.naturalWidth || t.offsetWidth, t.naturalHeight || t.offsetHeight]), t.setAttribute(\"data-size\", e[0] + \",\" + e[1])), { width: parseInt(e[0]), height: parseInt(e[1]) };\n }),\n (e.prototype.setCursor = function (t) {\n [document.body, this.activeEle].forEach(function (e) {\n e.style.cursor = t;\n });\n }),\n e\n );\n })(((o = r) && o.__esModule ? o : { default: o }).default);\n e.default = a;\n },\n function (t, e, i) {\n \"use strict\";\n e.__esModule = !0;\n var o,\n n = i(1);\n function r(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function s(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n var l = (function (t) {\n function e() {\n return r(this, e), s(this, t.apply(this, arguments));\n }\n return (\n (function (t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n })(e, t),\n (e.injectInit = function (t) {\n var e = t.keyboard.bindings;\n e[this.keys.LEFT].unshift(this.makeArrowHandler(this.keys.LEFT, !1)), e[this.keys.RIGHT].unshift(this.makeArrowHandler(this.keys.RIGHT, !1));\n }),\n (e.makeArrowHandler = function (t, i) {\n var o,\n n = t === e.keys.LEFT ? \"prefix\" : \"suffix\";\n return (\n ((o = { key: t, shiftKey: i, altKey: null })[n] = /^$/),\n (o.handler = function (i) {\n if (!this.quill.resizer) return !0;\n var o = i.index,\n n = this.quill.getLine(i.index)[0],\n r = this.quill.getIndex(n);\n if (t === e.keys.RIGHT && r + n.length() - 1 === o) return !0;\n t === e.keys.RIGHT && (o += i.length + 1);\n var s = this.quill.getLeaf(o)[0],\n l = s.offset(s.parent);\n return (t === e.keys.LEFT && (0 === o || o === r)) || (t === e.keys.LEFT && 0 === l && ((o -= 1), (s = this.quill.getLeaf(o)[0])), !this.quill.resizer.judgeShow(s));\n }),\n o\n );\n }),\n (e.prototype.onCreate = function (t) {\n var e = this;\n (this.keyboardProxy = function (t) {\n return e.keyboardHandle(t);\n }),\n document.addEventListener(\"keydown\", this.keyboardProxy, !0);\n }),\n (e.prototype.onDestroy = function () {\n document.removeEventListener(\"keydown\", this.keyboardProxy, !0);\n }),\n (e.prototype.keyboardHandle = function (t) {\n if (!t.defaultPrevented && !(t.shiftKey || t.ctrlKey || t.altKey) && this.activeEle && !t.fromResize && !t.ctrlKey) {\n var i = t.keyCode,\n o = this.blot.offset(this.quill.scroll),\n n = void 0,\n r = !1;\n i === e.keys.BACKSPACE || i === e.keys.DELETE ? (this.blot.deleteAt(0), this.blot.parent.optimize(), (r = !0)) : i >= e.keys.LEFT && i <= e.keys.DOWN && (i === e.keys.RIGHT ? o++ : i === e.keys.UP ? ((o = this.getOtherLineIndex(-1)), (n = this.quill.getLeaf(o)[0])) : i === e.keys.DOWN && ((o = this.getOtherLineIndex(1)), (n = this.quill.getLeaf(o)[0])), (r = !0)), r && (t.stopPropagation(), t.preventDefault()), (n && this.resizer.judgeShow(n, n.domNode)) || (this.quill.setSelection(o), this.resizer.hide());\n }\n }),\n (e.prototype.getOtherLineIndex = function (t) {\n var e = this.blot.offset(this.quill.scroll),\n i = this.quill.getLine(e)[0],\n o = this.blot.offset(i) + 1,\n n = t > 0 ? i.next : i.prev;\n if (n) {\n var r = n.length();\n \"block\" === n.statics.blotName && r--, (e = n.offset(this.quill.scroll) + Math.min(r, o));\n }\n return e;\n }),\n (e.prototype.dispatchEvent = function (t) {\n var e = new t.constructor(t);\n (e.fromResize = !0), this.quill.root.dispatchEvent(e);\n }),\n e\n );\n })(((o = n) && o.__esModule ? o : { default: o }).default);\n (e.default = l), (l.keys = { BACKSPACE: 8, TAB: 9, ENTER: 13, ESCAPE: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46 });\n },\n function (t, e, i) {\n \"use strict\";\n (e.__esModule = !0), (e.ATTRIBUTES = e.Image = void 0);\n var o,\n n = i(0),\n r = (o = n) && o.__esModule ? o : { default: o };\n function s(t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }\n function l(t, e) {\n if (!t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return !e || (\"object\" != typeof e && \"function\" != typeof e) ? t : e;\n }\n var a = window.Quill || r.default,\n u = [\"alt\", \"height\", \"width\", \"style\", \"data-size\"],\n h = (function (t) {\n function e() {\n return s(this, e), l(this, t.apply(this, arguments));\n }\n return (\n (function (t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function, not \" + typeof e);\n (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : (t.__proto__ = e));\n })(e, t),\n (e.formats = function (t) {\n return t.__handling && t.__formats\n ? t.__formats\n : u.reduce(function (e, i) {\n return t.hasAttribute(i) && (e[i] = t.getAttribute(i)), e;\n }, {});\n }),\n (e.prototype.format = function (e, i) {\n u.indexOf(e) > -1 ? (i ? this.domNode.setAttribute(e, i) : this.domNode.removeAttribute(e)) : t.prototype.format.call(this, e, i);\n }),\n (e.prototype.handling = function (t) {\n (this.domNode.__formats = this.constructor.formats(this.domNode)), (this.domNode.__handling = t);\n }),\n e\n );\n })(a.import(\"formats/image\"));\n (e.Image = h), (e.ATTRIBUTES = u);\n },\n function (t, e) {},\n ]);\n});\n","var g;\n\n// This works in non-strict mode\ng = function () {\n return this;\n}();\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (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;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n!function (t, e) {\n if (\"object\" == typeof exports && \"object\" == typeof module) module.exports = e();else if (\"function\" == typeof define && define.amd) define([], e);else {\n var r = e();\n for (var n in r) (\"object\" == typeof exports ? exports : t)[n] = r[n];\n }\n}(window, function () {\n return function (t) {\n var e = {};\n function r(n) {\n if (e[n]) return e[n].exports;\n var o = e[n] = {\n i: n,\n l: !1,\n exports: {}\n };\n return t[n].call(o.exports, o, o.exports, r), o.l = !0, o.exports;\n }\n return r.m = t, r.c = e, r.d = function (t, e, n) {\n r.o(t, e) || Object.defineProperty(t, e, {\n enumerable: !0,\n get: n\n });\n }, r.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n }, r.t = function (t, e) {\n if (1 & e && (t = r(t)), 8 & e) return t;\n if (4 & e && \"object\" == typeof t && t && t.__esModule) return t;\n var n = Object.create(null);\n if (r.r(n), Object.defineProperty(n, \"default\", {\n enumerable: !0,\n value: t\n }), 2 & e && \"string\" != typeof t) for (var o in t) r.d(n, o, function (e) {\n return t[e];\n }.bind(null, o));\n return n;\n }, r.n = function (t) {\n var e = t && t.__esModule ? function () {\n return t.default;\n } : function () {\n return t;\n };\n return r.d(e, \"a\", e), e;\n }, r.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }, r.p = \"\", r(r.s = 17);\n }([function (t, e, r) {\n \"use strict\";\n\n var n = r(7),\n o = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol(\"foo\"),\n i = Object.prototype.toString,\n s = Array.prototype.concat,\n a = Object.defineProperty,\n u = r(25)(),\n p = a && u,\n c = function (t, e, r, n) {\n var o;\n (!(e in t) || \"function\" == typeof (o = n) && \"[object Function]\" === i.call(o) && n()) && (p ? a(t, e, {\n configurable: !0,\n enumerable: !1,\n value: r,\n writable: !0\n }) : t[e] = r);\n },\n l = function (t, e) {\n var r = arguments.length > 2 ? arguments[2] : {},\n i = n(e);\n o && (i = s.call(i, Object.getOwnPropertySymbols(e)));\n for (var a = 0; a < i.length; a += 1) c(t, i[a], e[i[a]], r[i[a]]);\n };\n l.supportsDescriptors = !!p, t.exports = l;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(9);\n t.exports = function () {\n return n() && !!Symbol.toStringTag;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = SyntaxError,\n o = Function,\n i = TypeError,\n s = function (t) {\n try {\n return o('\"use strict\"; return (' + t + \").constructor;\")();\n } catch (t) {}\n },\n a = Object.getOwnPropertyDescriptor;\n if (a) try {\n a({}, \"\");\n } catch (t) {\n a = null;\n }\n var u = function () {\n throw new i();\n },\n p = a ? function () {\n try {\n return u;\n } catch (t) {\n try {\n return a(arguments, \"callee\").get;\n } catch (t) {\n return u;\n }\n }\n }() : u,\n c = r(21)(),\n l = Object.getPrototypeOf || function (t) {\n return t.__proto__;\n },\n f = {},\n h = \"undefined\" == typeof Uint8Array ? void 0 : l(Uint8Array),\n y = {\n \"%AggregateError%\": \"undefined\" == typeof AggregateError ? void 0 : AggregateError,\n \"%Array%\": Array,\n \"%ArrayBuffer%\": \"undefined\" == typeof ArrayBuffer ? void 0 : ArrayBuffer,\n \"%ArrayIteratorPrototype%\": c ? l([][Symbol.iterator]()) : void 0,\n \"%AsyncFromSyncIteratorPrototype%\": void 0,\n \"%AsyncFunction%\": f,\n \"%AsyncGenerator%\": f,\n \"%AsyncGeneratorFunction%\": f,\n \"%AsyncIteratorPrototype%\": f,\n \"%Atomics%\": \"undefined\" == typeof Atomics ? void 0 : Atomics,\n \"%BigInt%\": \"undefined\" == typeof BigInt ? void 0 : BigInt,\n \"%Boolean%\": Boolean,\n \"%DataView%\": \"undefined\" == typeof DataView ? void 0 : DataView,\n \"%Date%\": Date,\n \"%decodeURI%\": decodeURI,\n \"%decodeURIComponent%\": decodeURIComponent,\n \"%encodeURI%\": encodeURI,\n \"%encodeURIComponent%\": encodeURIComponent,\n \"%Error%\": Error,\n \"%eval%\": eval,\n \"%EvalError%\": EvalError,\n \"%Float32Array%\": \"undefined\" == typeof Float32Array ? void 0 : Float32Array,\n \"%Float64Array%\": \"undefined\" == typeof Float64Array ? void 0 : Float64Array,\n \"%FinalizationRegistry%\": \"undefined\" == typeof FinalizationRegistry ? void 0 : FinalizationRegistry,\n \"%Function%\": o,\n \"%GeneratorFunction%\": f,\n \"%Int8Array%\": \"undefined\" == typeof Int8Array ? void 0 : Int8Array,\n \"%Int16Array%\": \"undefined\" == typeof Int16Array ? void 0 : Int16Array,\n \"%Int32Array%\": \"undefined\" == typeof Int32Array ? void 0 : Int32Array,\n \"%isFinite%\": isFinite,\n \"%isNaN%\": isNaN,\n \"%IteratorPrototype%\": c ? l(l([][Symbol.iterator]())) : void 0,\n \"%JSON%\": \"object\" == typeof JSON ? JSON : void 0,\n \"%Map%\": \"undefined\" == typeof Map ? void 0 : Map,\n \"%MapIteratorPrototype%\": \"undefined\" != typeof Map && c ? l(new Map()[Symbol.iterator]()) : void 0,\n \"%Math%\": Math,\n \"%Number%\": Number,\n \"%Object%\": Object,\n \"%parseFloat%\": parseFloat,\n \"%parseInt%\": parseInt,\n \"%Promise%\": \"undefined\" == typeof Promise ? void 0 : Promise,\n \"%Proxy%\": \"undefined\" == typeof Proxy ? void 0 : Proxy,\n \"%RangeError%\": RangeError,\n \"%ReferenceError%\": ReferenceError,\n \"%Reflect%\": \"undefined\" == typeof Reflect ? void 0 : Reflect,\n \"%RegExp%\": RegExp,\n \"%Set%\": \"undefined\" == typeof Set ? void 0 : Set,\n \"%SetIteratorPrototype%\": \"undefined\" != typeof Set && c ? l(new Set()[Symbol.iterator]()) : void 0,\n \"%SharedArrayBuffer%\": \"undefined\" == typeof SharedArrayBuffer ? void 0 : SharedArrayBuffer,\n \"%String%\": String,\n \"%StringIteratorPrototype%\": c ? l(\"\"[Symbol.iterator]()) : void 0,\n \"%Symbol%\": c ? Symbol : void 0,\n \"%SyntaxError%\": n,\n \"%ThrowTypeError%\": p,\n \"%TypedArray%\": h,\n \"%TypeError%\": i,\n \"%Uint8Array%\": \"undefined\" == typeof Uint8Array ? void 0 : Uint8Array,\n \"%Uint8ClampedArray%\": \"undefined\" == typeof Uint8ClampedArray ? void 0 : Uint8ClampedArray,\n \"%Uint16Array%\": \"undefined\" == typeof Uint16Array ? void 0 : Uint16Array,\n \"%Uint32Array%\": \"undefined\" == typeof Uint32Array ? void 0 : Uint32Array,\n \"%URIError%\": URIError,\n \"%WeakMap%\": \"undefined\" == typeof WeakMap ? void 0 : WeakMap,\n \"%WeakRef%\": \"undefined\" == typeof WeakRef ? void 0 : WeakRef,\n \"%WeakSet%\": \"undefined\" == typeof WeakSet ? void 0 : WeakSet\n },\n g = {\n \"%ArrayBufferPrototype%\": [\"ArrayBuffer\", \"prototype\"],\n \"%ArrayPrototype%\": [\"Array\", \"prototype\"],\n \"%ArrayProto_entries%\": [\"Array\", \"prototype\", \"entries\"],\n \"%ArrayProto_forEach%\": [\"Array\", \"prototype\", \"forEach\"],\n \"%ArrayProto_keys%\": [\"Array\", \"prototype\", \"keys\"],\n \"%ArrayProto_values%\": [\"Array\", \"prototype\", \"values\"],\n \"%AsyncFunctionPrototype%\": [\"AsyncFunction\", \"prototype\"],\n \"%AsyncGenerator%\": [\"AsyncGeneratorFunction\", \"prototype\"],\n \"%AsyncGeneratorPrototype%\": [\"AsyncGeneratorFunction\", \"prototype\", \"prototype\"],\n \"%BooleanPrototype%\": [\"Boolean\", \"prototype\"],\n \"%DataViewPrototype%\": [\"DataView\", \"prototype\"],\n \"%DatePrototype%\": [\"Date\", \"prototype\"],\n \"%ErrorPrototype%\": [\"Error\", \"prototype\"],\n \"%EvalErrorPrototype%\": [\"EvalError\", \"prototype\"],\n \"%Float32ArrayPrototype%\": [\"Float32Array\", \"prototype\"],\n \"%Float64ArrayPrototype%\": [\"Float64Array\", \"prototype\"],\n \"%FunctionPrototype%\": [\"Function\", \"prototype\"],\n \"%Generator%\": [\"GeneratorFunction\", \"prototype\"],\n \"%GeneratorPrototype%\": [\"GeneratorFunction\", \"prototype\", \"prototype\"],\n \"%Int8ArrayPrototype%\": [\"Int8Array\", \"prototype\"],\n \"%Int16ArrayPrototype%\": [\"Int16Array\", \"prototype\"],\n \"%Int32ArrayPrototype%\": [\"Int32Array\", \"prototype\"],\n \"%JSONParse%\": [\"JSON\", \"parse\"],\n \"%JSONStringify%\": [\"JSON\", \"stringify\"],\n \"%MapPrototype%\": [\"Map\", \"prototype\"],\n \"%NumberPrototype%\": [\"Number\", \"prototype\"],\n \"%ObjectPrototype%\": [\"Object\", \"prototype\"],\n \"%ObjProto_toString%\": [\"Object\", \"prototype\", \"toString\"],\n \"%ObjProto_valueOf%\": [\"Object\", \"prototype\", \"valueOf\"],\n \"%PromisePrototype%\": [\"Promise\", \"prototype\"],\n \"%PromiseProto_then%\": [\"Promise\", \"prototype\", \"then\"],\n \"%Promise_all%\": [\"Promise\", \"all\"],\n \"%Promise_reject%\": [\"Promise\", \"reject\"],\n \"%Promise_resolve%\": [\"Promise\", \"resolve\"],\n \"%RangeErrorPrototype%\": [\"RangeError\", \"prototype\"],\n \"%ReferenceErrorPrototype%\": [\"ReferenceError\", \"prototype\"],\n \"%RegExpPrototype%\": [\"RegExp\", \"prototype\"],\n \"%SetPrototype%\": [\"Set\", \"prototype\"],\n \"%SharedArrayBufferPrototype%\": [\"SharedArrayBuffer\", \"prototype\"],\n \"%StringPrototype%\": [\"String\", \"prototype\"],\n \"%SymbolPrototype%\": [\"Symbol\", \"prototype\"],\n \"%SyntaxErrorPrototype%\": [\"SyntaxError\", \"prototype\"],\n \"%TypedArrayPrototype%\": [\"TypedArray\", \"prototype\"],\n \"%TypeErrorPrototype%\": [\"TypeError\", \"prototype\"],\n \"%Uint8ArrayPrototype%\": [\"Uint8Array\", \"prototype\"],\n \"%Uint8ClampedArrayPrototype%\": [\"Uint8ClampedArray\", \"prototype\"],\n \"%Uint16ArrayPrototype%\": [\"Uint16Array\", \"prototype\"],\n \"%Uint32ArrayPrototype%\": [\"Uint32Array\", \"prototype\"],\n \"%URIErrorPrototype%\": [\"URIError\", \"prototype\"],\n \"%WeakMapPrototype%\": [\"WeakMap\", \"prototype\"],\n \"%WeakSetPrototype%\": [\"WeakSet\", \"prototype\"]\n },\n d = r(3),\n b = r(23),\n m = d.call(Function.call, Array.prototype.concat),\n v = d.call(Function.apply, Array.prototype.splice),\n x = d.call(Function.call, String.prototype.replace),\n w = d.call(Function.call, String.prototype.slice),\n j = d.call(Function.call, RegExp.prototype.exec),\n O = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,\n A = /\\\\(\\\\)?/g,\n P = function (t) {\n var e = w(t, 0, 1),\n r = w(t, -1);\n if (\"%\" === e && \"%\" !== r) throw new n(\"invalid intrinsic syntax, expected closing `%`\");\n if (\"%\" === r && \"%\" !== e) throw new n(\"invalid intrinsic syntax, expected opening `%`\");\n var o = [];\n return x(t, O, function (t, e, r, n) {\n o[o.length] = r ? x(n, A, \"$1\") : e || t;\n }), o;\n },\n S = function (t, e) {\n var r,\n o = t;\n if (b(g, o) && (o = \"%\" + (r = g[o])[0] + \"%\"), b(y, o)) {\n var a = y[o];\n if (a === f && (a = function t(e) {\n var r;\n if (\"%AsyncFunction%\" === e) r = s(\"async function () {}\");else if (\"%GeneratorFunction%\" === e) r = s(\"function* () {}\");else if (\"%AsyncGeneratorFunction%\" === e) r = s(\"async function* () {}\");else if (\"%AsyncGenerator%\" === e) {\n var n = t(\"%AsyncGeneratorFunction%\");\n n && (r = n.prototype);\n } else if (\"%AsyncIteratorPrototype%\" === e) {\n var o = t(\"%AsyncGenerator%\");\n o && (r = l(o.prototype));\n }\n return y[e] = r, r;\n }(o)), void 0 === a && !e) throw new i(\"intrinsic \" + t + \" exists, but is not available. Please file an issue!\");\n return {\n alias: r,\n name: o,\n value: a\n };\n }\n throw new n(\"intrinsic \" + t + \" does not exist!\");\n };\n t.exports = function (t, e) {\n if (\"string\" != typeof t || 0 === t.length) throw new i(\"intrinsic name must be a non-empty string\");\n if (arguments.length > 1 && \"boolean\" != typeof e) throw new i('\"allowMissing\" argument must be a boolean');\n if (null === j(/^%?[^%]*%?$/g, t)) throw new n(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");\n var r = P(t),\n o = r.length > 0 ? r[0] : \"\",\n s = S(\"%\" + o + \"%\", e),\n u = s.name,\n p = s.value,\n c = !1,\n l = s.alias;\n l && (o = l[0], v(r, m([0, 1], l)));\n for (var f = 1, h = !0; f < r.length; f += 1) {\n var g = r[f],\n d = w(g, 0, 1),\n x = w(g, -1);\n if (('\"' === d || \"'\" === d || \"`\" === d || '\"' === x || \"'\" === x || \"`\" === x) && d !== x) throw new n(\"property names with quotes must have matching quotes\");\n if (\"constructor\" !== g && h || (c = !0), b(y, u = \"%\" + (o += \".\" + g) + \"%\")) p = y[u];else if (null != p) {\n if (!(g in p)) {\n if (!e) throw new i(\"base intrinsic for \" + t + \" exists, but the property is not available.\");\n return;\n }\n if (a && f + 1 >= r.length) {\n var O = a(p, g);\n p = (h = !!O) && \"get\" in O && !(\"originalValue\" in O.get) ? O.get : p[g];\n } else h = b(p, g), p = p[g];\n h && !c && (y[u] = p);\n }\n }\n return p;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(22);\n t.exports = Function.prototype.bind || n;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(3),\n o = r(2),\n i = o(\"%Function.prototype.apply%\"),\n s = o(\"%Function.prototype.call%\"),\n a = o(\"%Reflect.apply%\", !0) || n.call(s, i),\n u = o(\"%Object.getOwnPropertyDescriptor%\", !0),\n p = o(\"%Object.defineProperty%\", !0),\n c = o(\"%Math.max%\");\n if (p) try {\n p({}, \"a\", {\n value: 1\n });\n } catch (t) {\n p = null;\n }\n t.exports = function (t) {\n var e = a(n, s, arguments);\n if (u && p) {\n var r = u(e, \"length\");\n r.configurable && p(e, \"length\", {\n value: 1 + c(0, t.length - (arguments.length - 1))\n });\n }\n return e;\n };\n var l = function () {\n return a(n, i, arguments);\n };\n p ? p(t.exports, \"apply\", {\n value: l\n }) : t.exports.apply = l;\n }, function (t, e, r) {\n var n = r(18),\n o = r(6),\n i = r(15),\n s = r(32),\n a = String.fromCharCode(0),\n u = function (t) {\n Array.isArray(t) ? this.ops = t : null != t && Array.isArray(t.ops) ? this.ops = t.ops : this.ops = [];\n };\n u.prototype.insert = function (t, e) {\n var r = {};\n return 0 === t.length ? this : (r.insert = t, null != e && \"object\" == typeof e && Object.keys(e).length > 0 && (r.attributes = e), this.push(r));\n }, u.prototype.delete = function (t) {\n return t <= 0 ? this : this.push({\n delete: t\n });\n }, u.prototype.retain = function (t, e) {\n if (t <= 0) return this;\n var r = {\n retain: t\n };\n return null != e && \"object\" == typeof e && Object.keys(e).length > 0 && (r.attributes = e), this.push(r);\n }, u.prototype.push = function (t) {\n var e = this.ops.length,\n r = this.ops[e - 1];\n if (t = i(!0, {}, t), \"object\" == typeof r) {\n if (\"number\" == typeof t.delete && \"number\" == typeof r.delete) return this.ops[e - 1] = {\n delete: r.delete + t.delete\n }, this;\n if (\"number\" == typeof r.delete && null != t.insert && (e -= 1, \"object\" != typeof (r = this.ops[e - 1]))) return this.ops.unshift(t), this;\n if (o(t.attributes, r.attributes)) {\n if (\"string\" == typeof t.insert && \"string\" == typeof r.insert) return this.ops[e - 1] = {\n insert: r.insert + t.insert\n }, \"object\" == typeof t.attributes && (this.ops[e - 1].attributes = t.attributes), this;\n if (\"number\" == typeof t.retain && \"number\" == typeof r.retain) return this.ops[e - 1] = {\n retain: r.retain + t.retain\n }, \"object\" == typeof t.attributes && (this.ops[e - 1].attributes = t.attributes), this;\n }\n }\n return e === this.ops.length ? this.ops.push(t) : this.ops.splice(e, 0, t), this;\n }, u.prototype.chop = function () {\n var t = this.ops[this.ops.length - 1];\n return t && t.retain && !t.attributes && this.ops.pop(), this;\n }, u.prototype.filter = function (t) {\n return this.ops.filter(t);\n }, u.prototype.forEach = function (t) {\n this.ops.forEach(t);\n }, u.prototype.map = function (t) {\n return this.ops.map(t);\n }, u.prototype.partition = function (t) {\n var e = [],\n r = [];\n return this.forEach(function (n) {\n (t(n) ? e : r).push(n);\n }), [e, r];\n }, u.prototype.reduce = function (t, e) {\n return this.ops.reduce(t, e);\n }, u.prototype.changeLength = function () {\n return this.reduce(function (t, e) {\n return e.insert ? t + s.length(e) : e.delete ? t - e.delete : t;\n }, 0);\n }, u.prototype.length = function () {\n return this.reduce(function (t, e) {\n return t + s.length(e);\n }, 0);\n }, u.prototype.slice = function (t, e) {\n t = t || 0, \"number\" != typeof e && (e = 1 / 0);\n for (var r = [], n = s.iterator(this.ops), o = 0; o < e && n.hasNext();) {\n var i;\n o < t ? i = n.next(t - o) : (i = n.next(e - o), r.push(i)), o += s.length(i);\n }\n return new u(r);\n }, u.prototype.compose = function (t) {\n var e = s.iterator(this.ops),\n r = s.iterator(t.ops),\n n = [],\n i = r.peek();\n if (null != i && \"number\" == typeof i.retain && null == i.attributes) {\n for (var a = i.retain; \"insert\" === e.peekType() && e.peekLength() <= a;) a -= e.peekLength(), n.push(e.next());\n i.retain - a > 0 && r.next(i.retain - a);\n }\n for (var p = new u(n); e.hasNext() || r.hasNext();) if (\"insert\" === r.peekType()) p.push(r.next());else if (\"delete\" === e.peekType()) p.push(e.next());else {\n var c = Math.min(e.peekLength(), r.peekLength()),\n l = e.next(c),\n f = r.next(c);\n if (\"number\" == typeof f.retain) {\n var h = {};\n \"number\" == typeof l.retain ? h.retain = c : h.insert = l.insert;\n var y = s.attributes.compose(l.attributes, f.attributes, \"number\" == typeof l.retain);\n if (y && (h.attributes = y), p.push(h), !r.hasNext() && o(p.ops[p.ops.length - 1], h)) {\n var g = new u(e.rest());\n return p.concat(g).chop();\n }\n } else \"number\" == typeof f.delete && \"number\" == typeof l.retain && p.push(f);\n }\n return p.chop();\n }, u.prototype.concat = function (t) {\n var e = new u(this.ops.slice());\n return t.ops.length > 0 && (e.push(t.ops[0]), e.ops = e.ops.concat(t.ops.slice(1))), e;\n }, u.prototype.diff = function (t, e) {\n if (this.ops === t.ops) return new u();\n var r = [this, t].map(function (e) {\n return e.map(function (r) {\n if (null != r.insert) return \"string\" == typeof r.insert ? r.insert : a;\n throw new Error(\"diff() called \" + (e === t ? \"on\" : \"with\") + \" non-document\");\n }).join(\"\");\n }),\n i = new u(),\n p = n(r[0], r[1], e),\n c = s.iterator(this.ops),\n l = s.iterator(t.ops);\n return p.forEach(function (t) {\n for (var e = t[1].length; e > 0;) {\n var r = 0;\n switch (t[0]) {\n case n.INSERT:\n r = Math.min(l.peekLength(), e), i.push(l.next(r));\n break;\n case n.DELETE:\n r = Math.min(e, c.peekLength()), c.next(r), i.delete(r);\n break;\n case n.EQUAL:\n r = Math.min(c.peekLength(), l.peekLength(), e);\n var a = c.next(r),\n u = l.next(r);\n o(a.insert, u.insert) ? i.retain(r, s.attributes.diff(a.attributes, u.attributes)) : i.push(u).delete(r);\n }\n e -= r;\n }\n }), i.chop();\n }, u.prototype.eachLine = function (t, e) {\n e = e || \"\\n\";\n for (var r = s.iterator(this.ops), n = new u(), o = 0; r.hasNext();) {\n if (\"insert\" !== r.peekType()) return;\n var i = r.peek(),\n a = s.length(i) - r.peekLength(),\n p = \"string\" == typeof i.insert ? i.insert.indexOf(e, a) - a : -1;\n if (p < 0) n.push(r.next());else if (p > 0) n.push(r.next(p));else {\n if (!1 === t(n, r.next(1).attributes || {}, o)) return;\n o += 1, n = new u();\n }\n }\n n.length() > 0 && t(n, {}, o);\n }, u.prototype.transform = function (t, e) {\n if (e = !!e, \"number\" == typeof t) return this.transformPosition(t, e);\n for (var r = s.iterator(this.ops), n = s.iterator(t.ops), o = new u(); r.hasNext() || n.hasNext();) if (\"insert\" !== r.peekType() || !e && \"insert\" === n.peekType()) {\n if (\"insert\" === n.peekType()) o.push(n.next());else {\n var i = Math.min(r.peekLength(), n.peekLength()),\n a = r.next(i),\n p = n.next(i);\n if (a.delete) continue;\n p.delete ? o.push(p) : o.retain(i, s.attributes.transform(a.attributes, p.attributes, e));\n }\n } else o.retain(s.length(r.next()));\n return o.chop();\n }, u.prototype.transformPosition = function (t, e) {\n e = !!e;\n for (var r = s.iterator(this.ops), n = 0; r.hasNext() && n <= t;) {\n var o = r.peekLength(),\n i = r.peekType();\n r.next(), \"delete\" !== i ? (\"insert\" === i && (n < t || !e) && (t += o), n += o) : t -= Math.min(o, t - n);\n }\n return t;\n }, t.exports = u;\n }, function (t, e, r) {\n var n = r(7),\n o = r(20),\n i = r(24),\n s = r(27),\n a = r(28),\n u = r(31),\n p = Date.prototype.getTime;\n function c(t, e, r) {\n var h = r || {};\n return !!(h.strict ? i(t, e) : t === e) || (!t || !e || \"object\" != typeof t && \"object\" != typeof e ? h.strict ? i(t, e) : t == e : function (t, e, r) {\n var i, h;\n if (typeof t != typeof e) return !1;\n if (l(t) || l(e)) return !1;\n if (t.prototype !== e.prototype) return !1;\n if (o(t) !== o(e)) return !1;\n var y = s(t),\n g = s(e);\n if (y !== g) return !1;\n if (y || g) return t.source === e.source && a(t) === a(e);\n if (u(t) && u(e)) return p.call(t) === p.call(e);\n var d = f(t),\n b = f(e);\n if (d !== b) return !1;\n if (d || b) {\n if (t.length !== e.length) return !1;\n for (i = 0; i < t.length; i++) if (t[i] !== e[i]) return !1;\n return !0;\n }\n if (typeof t != typeof e) return !1;\n try {\n var m = n(t),\n v = n(e);\n } catch (t) {\n return !1;\n }\n if (m.length !== v.length) return !1;\n for (m.sort(), v.sort(), i = m.length - 1; i >= 0; i--) if (m[i] != v[i]) return !1;\n for (i = m.length - 1; i >= 0; i--) if (h = m[i], !c(t[h], e[h], r)) return !1;\n return !0;\n }(t, e, h));\n }\n function l(t) {\n return null == t;\n }\n function f(t) {\n return !(!t || \"object\" != typeof t || \"number\" != typeof t.length) && \"function\" == typeof t.copy && \"function\" == typeof t.slice && !(t.length > 0 && \"number\" != typeof t[0]);\n }\n t.exports = c;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = Array.prototype.slice,\n o = r(8),\n i = Object.keys,\n s = i ? function (t) {\n return i(t);\n } : r(19),\n a = Object.keys;\n s.shim = function () {\n Object.keys ? function () {\n var t = Object.keys(arguments);\n return t && t.length === arguments.length;\n }(1, 2) || (Object.keys = function (t) {\n return o(t) ? a(n.call(t)) : a(t);\n }) : Object.keys = s;\n return Object.keys || s;\n }, t.exports = s;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = Object.prototype.toString;\n t.exports = function (t) {\n var e = n.call(t),\n r = \"[object Arguments]\" === e;\n return r || (r = \"[object Array]\" !== e && null !== t && \"object\" == typeof t && \"number\" == typeof t.length && t.length >= 0 && \"[object Function]\" === n.call(t.callee)), r;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n t.exports = function () {\n if (\"function\" != typeof Symbol || \"function\" != typeof Object.getOwnPropertySymbols) return !1;\n if (\"symbol\" == typeof Symbol.iterator) return !0;\n var t = {},\n e = Symbol(\"test\"),\n r = Object(e);\n if (\"string\" == typeof e) return !1;\n if (\"[object Symbol]\" !== Object.prototype.toString.call(e)) return !1;\n if (\"[object Symbol]\" !== Object.prototype.toString.call(r)) return !1;\n for (e in t[e] = 42, t) return !1;\n if (\"function\" == typeof Object.keys && 0 !== Object.keys(t).length) return !1;\n if (\"function\" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(t).length) return !1;\n var n = Object.getOwnPropertySymbols(t);\n if (1 !== n.length || n[0] !== e) return !1;\n if (!Object.prototype.propertyIsEnumerable.call(t, e)) return !1;\n if (\"function\" == typeof Object.getOwnPropertyDescriptor) {\n var o = Object.getOwnPropertyDescriptor(t, e);\n if (42 !== o.value || !0 !== o.enumerable) return !1;\n }\n return !0;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(2),\n o = r(4),\n i = o(n(\"String.prototype.indexOf\"));\n t.exports = function (t, e) {\n var r = n(t, !!e);\n return \"function\" == typeof r && i(t, \".prototype.\") > -1 ? o(r) : r;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = function (t) {\n return t != t;\n };\n t.exports = function (t, e) {\n return 0 === t && 0 === e ? 1 / t == 1 / e : t === e || !(!n(t) || !n(e));\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(11);\n t.exports = function () {\n return \"function\" == typeof Object.is ? Object.is : n;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(29).functionsHaveConfigurableNames(),\n o = Object,\n i = TypeError;\n t.exports = function () {\n if (null != this && this !== o(this)) throw new i(\"RegExp.prototype.flags getter called on non-object\");\n var t = \"\";\n return this.hasIndices && (t += \"d\"), this.global && (t += \"g\"), this.ignoreCase && (t += \"i\"), this.multiline && (t += \"m\"), this.dotAll && (t += \"s\"), this.unicode && (t += \"u\"), this.sticky && (t += \"y\"), t;\n }, n && Object.defineProperty && Object.defineProperty(t.exports, \"name\", {\n value: \"get flags\"\n });\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(13),\n o = r(0).supportsDescriptors,\n i = Object.getOwnPropertyDescriptor;\n t.exports = function () {\n if (o && \"gim\" === /a/gim.flags) {\n var t = i(RegExp.prototype, \"flags\");\n if (t && \"function\" == typeof t.get && \"boolean\" == typeof RegExp.prototype.dotAll && \"boolean\" == typeof RegExp.prototype.hasIndices) {\n var e = \"\",\n r = {};\n if (Object.defineProperty(r, \"hasIndices\", {\n get: function () {\n e += \"d\";\n }\n }), Object.defineProperty(r, \"sticky\", {\n get: function () {\n e += \"y\";\n }\n }), \"dy\" === e) return t.get;\n }\n }\n return n;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = Object.prototype.hasOwnProperty,\n o = Object.prototype.toString,\n i = Object.defineProperty,\n s = Object.getOwnPropertyDescriptor,\n a = function (t) {\n return \"function\" == typeof Array.isArray ? Array.isArray(t) : \"[object Array]\" === o.call(t);\n },\n u = function (t) {\n if (!t || \"[object Object]\" !== o.call(t)) return !1;\n var e,\n r = n.call(t, \"constructor\"),\n i = t.constructor && t.constructor.prototype && n.call(t.constructor.prototype, \"isPrototypeOf\");\n if (t.constructor && !r && !i) return !1;\n for (e in t);\n return void 0 === e || n.call(t, e);\n },\n p = function (t, e) {\n i && \"__proto__\" === e.name ? i(t, e.name, {\n enumerable: !0,\n configurable: !0,\n value: e.newValue,\n writable: !0\n }) : t[e.name] = e.newValue;\n },\n c = function (t, e) {\n if (\"__proto__\" === e) {\n if (!n.call(t, e)) return;\n if (s) return s(t, e).value;\n }\n return t[e];\n };\n t.exports = function t() {\n var e,\n r,\n n,\n o,\n i,\n s,\n l = arguments[0],\n f = 1,\n h = arguments.length,\n y = !1;\n for (\"boolean\" == typeof l && (y = l, l = arguments[1] || {}, f = 2), (null == l || \"object\" != typeof l && \"function\" != typeof l) && (l = {}); f < h; ++f) if (null != (e = arguments[f])) for (r in e) n = c(l, r), l !== (o = c(e, r)) && (y && o && (u(o) || (i = a(o))) ? (i ? (i = !1, s = n && a(n) ? n : []) : s = n && u(n) ? n : {}, p(l, {\n name: r,\n newValue: t(y, s, o)\n })) : void 0 !== o && p(l, {\n name: r,\n newValue: o\n }));\n return l;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n const n = \"undefined\" == typeof URL ? r(33).URL : URL,\n o = (t, e) => e.some(e => e instanceof RegExp ? e.test(t) : e === t),\n i = (t, e) => {\n if (e = _objectSpread({\n defaultProtocol: \"http:\",\n normalizeProtocol: !0,\n forceHttp: !1,\n forceHttps: !1,\n stripAuthentication: !0,\n stripHash: !1,\n stripWWW: !0,\n removeQueryParameters: [/^utm_\\w+/i],\n removeTrailingSlash: !0,\n removeDirectoryIndex: !1,\n sortQueryParameters: !0\n }, e), Reflect.has(e, \"normalizeHttps\")) throw new Error(\"options.normalizeHttps is renamed to options.forceHttp\");\n if (Reflect.has(e, \"normalizeHttp\")) throw new Error(\"options.normalizeHttp is renamed to options.forceHttps\");\n if (Reflect.has(e, \"stripFragment\")) throw new Error(\"options.stripFragment is renamed to options.stripHash\");\n if (t = t.trim(), /^data:/i.test(t)) return ((t, _ref) => {\n let e = _ref.stripHash;\n const r = t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);\n if (!r) throw new Error(\"Invalid URL: \" + t);\n const n = r[1].split(\";\"),\n o = r[2],\n i = e ? \"\" : r[3];\n let s = !1;\n \"base64\" === n[n.length - 1] && (n.pop(), s = !0);\n const a = (n.shift() || \"\").toLowerCase(),\n u = [...n.map(t => {\n let _t$split$map = t.split(\"=\").map(t => t.trim()),\n _t$split$map2 = _slicedToArray(_t$split$map, 2),\n e = _t$split$map2[0],\n _t$split$map2$ = _t$split$map2[1],\n r = _t$split$map2$ === void 0 ? \"\" : _t$split$map2$;\n return \"charset\" === e && (r = r.toLowerCase(), \"us-ascii\" === r) ? \"\" : `${e}${r ? \"=\" + r : \"\"}`;\n }).filter(Boolean)];\n return s && u.push(\"base64\"), (0 !== u.length || a && \"text/plain\" !== a) && u.unshift(a), `data:${u.join(\";\")},${s ? o.trim() : o}${i ? \"#\" + i : \"\"}`;\n })(t, e);\n const r = t.startsWith(\"//\");\n !r && /^\\.*\\//.test(t) || (t = t.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//, e.defaultProtocol));\n const i = new n(t);\n if (e.forceHttp && e.forceHttps) throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");\n if (e.forceHttp && \"https:\" === i.protocol && (i.protocol = \"http:\"), e.forceHttps && \"http:\" === i.protocol && (i.protocol = \"https:\"), e.stripAuthentication && (i.username = \"\", i.password = \"\"), e.stripHash && (i.hash = \"\"), i.pathname && (i.pathname = i.pathname.replace(/((?!:).|^)\\/{2,}/g, (t, e) => /^(?!\\/)/g.test(e) ? e + \"/\" : \"/\")), i.pathname && (i.pathname = decodeURI(i.pathname)), !0 === e.removeDirectoryIndex && (e.removeDirectoryIndex = [/^index\\.[a-z]+$/]), Array.isArray(e.removeDirectoryIndex) && e.removeDirectoryIndex.length > 0) {\n let t = i.pathname.split(\"/\");\n const r = t[t.length - 1];\n o(r, e.removeDirectoryIndex) && (t = t.slice(0, t.length - 1), i.pathname = t.slice(1).join(\"/\") + \"/\");\n }\n if (i.hostname && (i.hostname = i.hostname.replace(/\\.$/, \"\"), e.stripWWW && /^www\\.([a-z\\-\\d]{2,63})\\.([a-z.]{2,5})$/.test(i.hostname) && (i.hostname = i.hostname.replace(/^www\\./, \"\"))), Array.isArray(e.removeQueryParameters)) for (const t of [...i.searchParams.keys()]) o(t, e.removeQueryParameters) && i.searchParams.delete(t);\n return e.sortQueryParameters && i.searchParams.sort(), e.removeTrailingSlash && (i.pathname = i.pathname.replace(/\\/$/, \"\")), t = i.toString(), !e.removeTrailingSlash && \"/\" !== i.pathname || \"\" !== i.hash || (t = t.replace(/\\/$/, \"\")), r && !e.normalizeProtocol && (t = t.replace(/^http:\\/\\//, \"//\")), e.stripProtocol && (t = t.replace(/^(?:https?:)?\\/\\//, \"\")), t;\n };\n t.exports = i, t.exports.default = i;\n }, function (t, e, r) {\n \"use strict\";\n\n r.r(e), r.d(e, \"default\", function () {\n return y;\n });\n var n = r(5),\n o = r.n(n),\n i = r(16),\n s = r.n(i);\n function a(t, e) {\n return function (t) {\n if (Array.isArray(t)) return t;\n }(t) || function (t, e) {\n var r = null == t ? null : \"undefined\" != typeof Symbol && t[Symbol.iterator] || t[\"@@iterator\"];\n if (null == r) return;\n var n,\n o,\n i = [],\n s = !0,\n a = !1;\n try {\n for (r = r.call(t); !(s = (n = r.next()).done) && (i.push(n.value), !e || i.length !== e); s = !0);\n } catch (t) {\n a = !0, o = t;\n } finally {\n try {\n s || null == r.return || r.return();\n } finally {\n if (a) throw o;\n }\n }\n return i;\n }(t, e) || function (t, e) {\n if (!t) return;\n if (\"string\" == typeof t) return u(t, e);\n var r = Object.prototype.toString.call(t).slice(8, -1);\n \"Object\" === r && t.constructor && (r = t.constructor.name);\n if (\"Map\" === r || \"Set\" === r) return Array.from(t);\n if (\"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return u(t, e);\n }(t, e) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n }\n function u(t, e) {\n (null == e || e > t.length) && (e = t.length);\n for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];\n return n;\n }\n function p(t, e) {\n var r = Object.keys(t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(t);\n e && (n = n.filter(function (e) {\n return Object.getOwnPropertyDescriptor(t, e).enumerable;\n })), r.push.apply(r, n);\n }\n return r;\n }\n function c(t) {\n for (var e = 1; e < arguments.length; e++) {\n var r = null != arguments[e] ? arguments[e] : {};\n e % 2 ? p(Object(r), !0).forEach(function (e) {\n l(t, e, r[e]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : p(Object(r)).forEach(function (e) {\n Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e));\n });\n }\n return t;\n }\n function l(t, e, r) {\n return e in t ? Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[e] = r, t;\n }\n function f(t, e) {\n for (var r = 0; r < e.length; r++) {\n var n = e[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(t, n.key, n);\n }\n }\n var h = {\n globalRegularExpression: /(https?:\\/\\/|www\\.)[\\w-\\.]+\\.[\\w-\\.]+(\\/([\\S]+)?)?/gi,\n urlRegularExpression: /(https?:\\/\\/|www\\.)[\\w-\\.]+\\.[\\w-\\.]+(\\/([\\S]+)?)?/gi,\n globalMailRegularExpression: /([\\w-\\.]+@[\\w-\\.]+\\.[\\w-\\.]+)/gi,\n mailRegularExpression: /([\\w-\\.]+@[\\w-\\.]+\\.[\\w-\\.]+)/gi,\n normalizeRegularExpression: /(https?:\\/\\/|www\\.)[\\S]+/i,\n normalizeUrlOptions: {\n stripWWW: !1\n }\n },\n y = function () {\n function t(e, r) {\n var n = this;\n !function (t, e) {\n if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, t), this.quill = e, r = r || {}, this.options = c(c({}, h), r), this.urlNormalizer = function (t) {\n return n.normalize(t);\n }, this.mailNormalizer = function (t) {\n return \"mailto:\".concat(t);\n }, this.registerTypeListener(), this.registerPasteListener(), this.registerBlurListener();\n }\n var e, r, n;\n return e = t, (r = [{\n key: \"registerPasteListener\",\n value: function () {\n var t = this;\n this.quill.clipboard.addMatcher(\"A\", function (t, e) {\n var r,\n n = t.getAttribute(\"href\"),\n o = null === (r = e.ops[0]) || void 0 === r ? void 0 : r.attributes;\n return null != (null == o ? void 0 : o.link) && (o.link = n), e;\n }), this.quill.clipboard.addMatcher(Node.TEXT_NODE, function (e, r) {\n if (\"string\" == typeof e.data) {\n var n = t.options.globalRegularExpression,\n i = t.options.globalMailRegularExpression;\n n.lastIndex = 0, i.lastIndex = 0;\n for (var s = new o.a(), a = 0, u = n.exec(e.data), p = i.exec(e.data), c = function (t, r, n) {\n var o = e.data.substring(a, t.index);\n s.insert(o);\n var i = t[0];\n return s.insert(i, {\n link: n(i)\n }), a = r.lastIndex, r.exec(e.data);\n }; null !== u || null !== p;) if (null === u) p = c(p, i, t.mailNormalizer);else if (null === p) u = c(u, n, t.urlNormalizer);else if (p.index <= u.index) {\n for (; null !== u && u.index < i.lastIndex;) u = n.exec(e.data);\n p = c(p, i, t.mailNormalizer);\n } else {\n for (; null !== p && p.index < n.lastIndex;) p = i.exec(e.data);\n u = c(u, n, t.urlNormalizer);\n }\n if (a > 0) {\n var l = e.data.substring(a);\n s.insert(l), r.ops = s.ops;\n }\n return r;\n }\n });\n }\n }, {\n key: \"registerTypeListener\",\n value: function () {\n var t = this;\n this.quill.on(\"text-change\", function (e) {\n var r = e.ops;\n if (!(!r || r.length < 1 || r.length > 2)) {\n var n = r[r.length - 1];\n n.insert && \"string\" == typeof n.insert && n.insert.match(/\\s/) && t.checkTextForUrl(!!n.insert.match(/ |\\t/));\n }\n });\n }\n }, {\n key: \"registerBlurListener\",\n value: function () {\n var t = this;\n this.quill.root.addEventListener(\"blur\", function () {\n t.checkTextForUrl();\n });\n }\n }, {\n key: \"checkTextForUrl\",\n value: function () {\n var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],\n e = this.quill.getSelection();\n if (e) {\n var r = this.quill.getLeaf(e.index),\n n = a(r, 1),\n o = n[0],\n i = this.quill.getIndex(o);\n if (o.text) {\n var s = e.index - i,\n u = o.text.slice(0, s);\n if (u && \"a\" !== o.parent.domNode.localName) {\n var p = o.text[s];\n if (null == p || !p.match(/\\S/)) {\n var c = t ? /\\s\\s$/ : /\\s$/;\n if (!u.match(c)) {\n var l = u.match(this.options.urlRegularExpression),\n f = u.match(this.options.mailRegularExpression);\n l ? this.handleMatches(i, u, l, this.urlNormalizer) : f && this.handleMatches(i, u, f, this.mailNormalizer);\n }\n }\n }\n }\n }\n }\n }, {\n key: \"handleMatches\",\n value: function (t, e, r, n) {\n var o = r.pop(),\n i = e.lastIndexOf(o);\n e.split(o).pop().match(/\\S/) || this.updateText(t + i, o.trim(), n);\n }\n }, {\n key: \"updateText\",\n value: function (t, e, r) {\n var n = new o.a().retain(t).retain(e.length, {\n link: r(e)\n });\n this.quill.updateContents(n);\n }\n }, {\n key: \"normalize\",\n value: function (t) {\n if (this.options.normalizeRegularExpression.test(t)) try {\n return s()(t, this.options.normalizeUrlOptions);\n } catch (t) {\n console.error(t);\n }\n return t;\n }\n }]) && f(e.prototype, r), n && f(e, n), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), t;\n }();\n null != window && window.Quill && window.Quill.register(\"modules/magicUrl\", y);\n }, function (t, e) {\n function r(t, e, s) {\n if (t == e) return t ? [[0, t]] : [];\n (s < 0 || t.length < s) && (s = null);\n var u = o(t, e),\n p = t.substring(0, u);\n u = i(t = t.substring(u), e = e.substring(u));\n var c = t.substring(t.length - u),\n l = function (t, e) {\n var s;\n if (!t) return [[1, e]];\n if (!e) return [[-1, t]];\n var a = t.length > e.length ? t : e,\n u = t.length > e.length ? e : t,\n p = a.indexOf(u);\n if (-1 != p) return s = [[1, a.substring(0, p)], [0, u], [1, a.substring(p + u.length)]], t.length > e.length && (s[0][0] = s[2][0] = -1), s;\n if (1 == u.length) return [[-1, t], [1, e]];\n var c = function (t, e) {\n var r = t.length > e.length ? t : e,\n n = t.length > e.length ? e : t;\n if (r.length < 4 || 2 * n.length < r.length) return null;\n function s(t, e, r) {\n for (var n, s, a, u, p = t.substring(r, r + Math.floor(t.length / 4)), c = -1, l = \"\"; -1 != (c = e.indexOf(p, c + 1));) {\n var f = o(t.substring(r), e.substring(c)),\n h = i(t.substring(0, r), e.substring(0, c));\n l.length < h + f && (l = e.substring(c - h, c) + e.substring(c, c + f), n = t.substring(0, r - h), s = t.substring(r + f), a = e.substring(0, c - h), u = e.substring(c + f));\n }\n return 2 * l.length >= t.length ? [n, s, a, u, l] : null;\n }\n var a,\n u,\n p,\n c,\n l,\n f = s(r, n, Math.ceil(r.length / 4)),\n h = s(r, n, Math.ceil(r.length / 2));\n if (!f && !h) return null;\n a = h ? f && f[4].length > h[4].length ? f : h : f;\n t.length > e.length ? (u = a[0], p = a[1], c = a[2], l = a[3]) : (c = a[0], l = a[1], u = a[2], p = a[3]);\n var y = a[4];\n return [u, p, c, l, y];\n }(t, e);\n if (c) {\n var l = c[0],\n f = c[1],\n h = c[2],\n y = c[3],\n g = c[4],\n d = r(l, h),\n b = r(f, y);\n return d.concat([[0, g]], b);\n }\n return function (t, e) {\n for (var r = t.length, o = e.length, i = Math.ceil((r + o) / 2), s = i, a = 2 * i, u = new Array(a), p = new Array(a), c = 0; c < a; c++) u[c] = -1, p[c] = -1;\n u[s + 1] = 0, p[s + 1] = 0;\n for (var l = r - o, f = l % 2 != 0, h = 0, y = 0, g = 0, d = 0, b = 0; b < i; b++) {\n for (var m = -b + h; m <= b - y; m += 2) {\n for (var v = s + m, x = (P = m == -b || m != b && u[v - 1] < u[v + 1] ? u[v + 1] : u[v - 1] + 1) - m; P < r && x < o && t.charAt(P) == e.charAt(x);) P++, x++;\n if (u[v] = P, P > r) y += 2;else if (x > o) h += 2;else if (f) {\n if ((O = s + l - m) >= 0 && O < a && -1 != p[O]) {\n var w = r - p[O];\n if (P >= w) return n(t, e, P, x);\n }\n }\n }\n for (var j = -b + g; j <= b - d; j += 2) {\n for (var O = s + j, A = (w = j == -b || j != b && p[O - 1] < p[O + 1] ? p[O + 1] : p[O - 1] + 1) - j; w < r && A < o && t.charAt(r - w - 1) == e.charAt(o - A - 1);) w++, A++;\n if (p[O] = w, w > r) d += 2;else if (A > o) g += 2;else if (!f) {\n if ((v = s + l - j) >= 0 && v < a && -1 != u[v]) {\n var P = u[v];\n x = s + P - v;\n if (P >= (w = r - w)) return n(t, e, P, x);\n }\n }\n }\n }\n return [[-1, t], [1, e]];\n }(t, e);\n }(t = t.substring(0, t.length - u), e = e.substring(0, e.length - u));\n return p && l.unshift([0, p]), c && l.push([0, c]), function t(e) {\n e.push([0, \"\"]);\n var r,\n n = 0,\n s = 0,\n a = 0,\n u = \"\",\n p = \"\";\n for (; n < e.length;) switch (e[n][0]) {\n case 1:\n a++, p += e[n][1], n++;\n break;\n case -1:\n s++, u += e[n][1], n++;\n break;\n case 0:\n s + a > 1 ? (0 !== s && 0 !== a && (0 !== (r = o(p, u)) && (n - s - a > 0 && 0 == e[n - s - a - 1][0] ? e[n - s - a - 1][1] += p.substring(0, r) : (e.splice(0, 0, [0, p.substring(0, r)]), n++), p = p.substring(r), u = u.substring(r)), 0 !== (r = i(p, u)) && (e[n][1] = p.substring(p.length - r) + e[n][1], p = p.substring(0, p.length - r), u = u.substring(0, u.length - r))), 0 === s ? e.splice(n - a, s + a, [1, p]) : 0 === a ? e.splice(n - s, s + a, [-1, u]) : e.splice(n - s - a, s + a, [-1, u], [1, p]), n = n - s - a + (s ? 1 : 0) + (a ? 1 : 0) + 1) : 0 !== n && 0 == e[n - 1][0] ? (e[n - 1][1] += e[n][1], e.splice(n, 1)) : n++, a = 0, s = 0, u = \"\", p = \"\";\n }\n \"\" === e[e.length - 1][1] && e.pop();\n var c = !1;\n n = 1;\n for (; n < e.length - 1;) 0 == e[n - 1][0] && 0 == e[n + 1][0] && (e[n][1].substring(e[n][1].length - e[n - 1][1].length) == e[n - 1][1] ? (e[n][1] = e[n - 1][1] + e[n][1].substring(0, e[n][1].length - e[n - 1][1].length), e[n + 1][1] = e[n - 1][1] + e[n + 1][1], e.splice(n - 1, 1), c = !0) : e[n][1].substring(0, e[n + 1][1].length) == e[n + 1][1] && (e[n - 1][1] += e[n + 1][1], e[n][1] = e[n][1].substring(e[n + 1][1].length) + e[n + 1][1], e.splice(n + 1, 1), c = !0)), n++;\n c && t(e);\n }(l), null != s && (l = function (t, e) {\n var r = function (t, e) {\n if (0 === e) return [0, t];\n for (var r = 0, n = 0; n < t.length; n++) {\n var o = t[n];\n if (-1 === o[0] || 0 === o[0]) {\n var i = r + o[1].length;\n if (e === i) return [n + 1, t];\n if (e < i) {\n t = t.slice();\n var s = e - r,\n a = [o[0], o[1].slice(0, s)],\n u = [o[0], o[1].slice(s)];\n return t.splice(n, 1, a, u), [n + 1, t];\n }\n r = i;\n }\n }\n throw new Error(\"cursor_pos is out of bounds!\");\n }(t, e),\n n = r[1],\n o = r[0],\n i = n[o],\n s = n[o + 1];\n if (null == i) return t;\n if (0 !== i[0]) return t;\n if (null != s && i[1] + s[1] === s[1] + i[1]) return n.splice(o, 2, s, i), a(n, o, 2);\n if (null != s && 0 === s[1].indexOf(i[1])) {\n n.splice(o, 2, [s[0], i[1]], [0, i[1]]);\n var u = s[1].slice(i[1].length);\n return u.length > 0 && n.splice(o + 2, 0, [s[0], u]), a(n, o, 3);\n }\n return t;\n }(l, s)), l = function (t) {\n for (var e = !1, r = function (t) {\n return t.charCodeAt(0) >= 56320 && t.charCodeAt(0) <= 57343;\n }, n = 2; n < t.length; n += 1) 0 === t[n - 2][0] && (o = t[n - 2][1]).charCodeAt(o.length - 1) >= 55296 && o.charCodeAt(o.length - 1) <= 56319 && -1 === t[n - 1][0] && r(t[n - 1][1]) && 1 === t[n][0] && r(t[n][1]) && (e = !0, t[n - 1][1] = t[n - 2][1].slice(-1) + t[n - 1][1], t[n][1] = t[n - 2][1].slice(-1) + t[n][1], t[n - 2][1] = t[n - 2][1].slice(0, -1));\n var o;\n if (!e) return t;\n var i = [];\n for (n = 0; n < t.length; n += 1) t[n][1].length > 0 && i.push(t[n]);\n return i;\n }(l);\n }\n function n(t, e, n, o) {\n var i = t.substring(0, n),\n s = e.substring(0, o),\n a = t.substring(n),\n u = e.substring(o),\n p = r(i, s),\n c = r(a, u);\n return p.concat(c);\n }\n function o(t, e) {\n if (!t || !e || t.charAt(0) != e.charAt(0)) return 0;\n for (var r = 0, n = Math.min(t.length, e.length), o = n, i = 0; r < o;) t.substring(i, o) == e.substring(i, o) ? i = r = o : n = o, o = Math.floor((n - r) / 2 + r);\n return o;\n }\n function i(t, e) {\n if (!t || !e || t.charAt(t.length - 1) != e.charAt(e.length - 1)) return 0;\n for (var r = 0, n = Math.min(t.length, e.length), o = n, i = 0; r < o;) t.substring(t.length - o, t.length - i) == e.substring(e.length - o, e.length - i) ? i = r = o : n = o, o = Math.floor((n - r) / 2 + r);\n return o;\n }\n var s = r;\n function a(t, e, r) {\n for (var n = e + r - 1; n >= 0 && n >= e - 1; n--) if (n + 1 < t.length) {\n var o = t[n],\n i = t[n + 1];\n o[0] === i[1] && t.splice(n, 2, [o[0], o[1] + i[1]]);\n }\n return t;\n }\n s.INSERT = 1, s.DELETE = -1, s.EQUAL = 0, t.exports = s;\n }, function (t, e, r) {\n \"use strict\";\n\n var n;\n if (!Object.keys) {\n var o = Object.prototype.hasOwnProperty,\n i = Object.prototype.toString,\n s = r(8),\n a = Object.prototype.propertyIsEnumerable,\n u = !a.call({\n toString: null\n }, \"toString\"),\n p = a.call(function () {}, \"prototype\"),\n c = [\"toString\", \"toLocaleString\", \"valueOf\", \"hasOwnProperty\", \"isPrototypeOf\", \"propertyIsEnumerable\", \"constructor\"],\n l = function (t) {\n var e = t.constructor;\n return e && e.prototype === t;\n },\n f = {\n $applicationCache: !0,\n $console: !0,\n $external: !0,\n $frame: !0,\n $frameElement: !0,\n $frames: !0,\n $innerHeight: !0,\n $innerWidth: !0,\n $onmozfullscreenchange: !0,\n $onmozfullscreenerror: !0,\n $outerHeight: !0,\n $outerWidth: !0,\n $pageXOffset: !0,\n $pageYOffset: !0,\n $parent: !0,\n $scrollLeft: !0,\n $scrollTop: !0,\n $scrollX: !0,\n $scrollY: !0,\n $self: !0,\n $webkitIndexedDB: !0,\n $webkitStorageInfo: !0,\n $window: !0\n },\n h = function () {\n if (\"undefined\" == typeof window) return !1;\n for (var t in window) try {\n if (!f[\"$\" + t] && o.call(window, t) && null !== window[t] && \"object\" == typeof window[t]) try {\n l(window[t]);\n } catch (t) {\n return !0;\n }\n } catch (t) {\n return !0;\n }\n return !1;\n }();\n n = function (t) {\n var e = null !== t && \"object\" == typeof t,\n r = \"[object Function]\" === i.call(t),\n n = s(t),\n a = e && \"[object String]\" === i.call(t),\n f = [];\n if (!e && !r && !n) throw new TypeError(\"Object.keys called on a non-object\");\n var y = p && r;\n if (a && t.length > 0 && !o.call(t, 0)) for (var g = 0; g < t.length; ++g) f.push(String(g));\n if (n && t.length > 0) for (var d = 0; d < t.length; ++d) f.push(String(d));else for (var b in t) y && \"prototype\" === b || !o.call(t, b) || f.push(String(b));\n if (u) for (var m = function (t) {\n if (\"undefined\" == typeof window || !h) return l(t);\n try {\n return l(t);\n } catch (t) {\n return !1;\n }\n }(t), v = 0; v < c.length; ++v) m && \"constructor\" === c[v] || !o.call(t, c[v]) || f.push(c[v]);\n return f;\n };\n }\n t.exports = n;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(1)(),\n o = r(10)(\"Object.prototype.toString\"),\n i = function (t) {\n return !(n && t && \"object\" == typeof t && Symbol.toStringTag in t) && \"[object Arguments]\" === o(t);\n },\n s = function (t) {\n return !!i(t) || null !== t && \"object\" == typeof t && \"number\" == typeof t.length && t.length >= 0 && \"[object Array]\" !== o(t) && \"[object Function]\" === o(t.callee);\n },\n a = function () {\n return i(arguments);\n }();\n i.isLegacyArguments = s, t.exports = a ? i : s;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = \"undefined\" != typeof Symbol && Symbol,\n o = r(9);\n t.exports = function () {\n return \"function\" == typeof n && \"function\" == typeof Symbol && \"symbol\" == typeof n(\"foo\") && \"symbol\" == typeof Symbol(\"bar\") && o();\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = \"Function.prototype.bind called on incompatible \",\n o = Array.prototype.slice,\n i = Object.prototype.toString;\n t.exports = function (t) {\n var e = this;\n if (\"function\" != typeof e || \"[object Function]\" !== i.call(e)) throw new TypeError(n + e);\n for (var r, s = o.call(arguments, 1), a = function () {\n if (this instanceof r) {\n var n = e.apply(this, s.concat(o.call(arguments)));\n return Object(n) === n ? n : this;\n }\n return e.apply(t, s.concat(o.call(arguments)));\n }, u = Math.max(0, e.length - s.length), p = [], c = 0; c < u; c++) p.push(\"$\" + c);\n if (r = Function(\"binder\", \"return function (\" + p.join(\",\") + \"){ return binder.apply(this,arguments); }\")(a), e.prototype) {\n var l = function () {};\n l.prototype = e.prototype, r.prototype = new l(), l.prototype = null;\n }\n return r;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(3);\n t.exports = n.call(Function.call, Object.prototype.hasOwnProperty);\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(0),\n o = r(4),\n i = r(11),\n s = r(12),\n a = r(26),\n u = o(s(), Object);\n n(u, {\n getPolyfill: s,\n implementation: i,\n shim: a\n }), t.exports = u;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(2)(\"%Object.defineProperty%\", !0),\n o = function () {\n if (n) try {\n return n({}, \"a\", {\n value: 1\n }), !0;\n } catch (t) {\n return !1;\n }\n return !1;\n };\n o.hasArrayLengthDefineBug = function () {\n if (!o()) return null;\n try {\n return 1 !== n([], \"length\", {\n value: 1\n }).length;\n } catch (t) {\n return !0;\n }\n }, t.exports = o;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(12),\n o = r(0);\n t.exports = function () {\n var t = n();\n return o(Object, {\n is: t\n }, {\n is: function () {\n return Object.is !== t;\n }\n }), t;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n,\n o,\n i,\n s,\n a = r(10),\n u = r(1)();\n if (u) {\n n = a(\"Object.prototype.hasOwnProperty\"), o = a(\"RegExp.prototype.exec\"), i = {};\n var p = function () {\n throw i;\n };\n s = {\n toString: p,\n valueOf: p\n }, \"symbol\" == typeof Symbol.toPrimitive && (s[Symbol.toPrimitive] = p);\n }\n var c = a(\"Object.prototype.toString\"),\n l = Object.getOwnPropertyDescriptor;\n t.exports = u ? function (t) {\n if (!t || \"object\" != typeof t) return !1;\n var e = l(t, \"lastIndex\");\n if (!(e && n(e, \"value\"))) return !1;\n try {\n o(t, s);\n } catch (t) {\n return t === i;\n }\n } : function (t) {\n return !(!t || \"object\" != typeof t && \"function\" != typeof t) && \"[object RegExp]\" === c(t);\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(0),\n o = r(4),\n i = r(13),\n s = r(14),\n a = r(30),\n u = o(s());\n n(u, {\n getPolyfill: s,\n implementation: i,\n shim: a\n }), t.exports = u;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = function () {\n return \"string\" == typeof function () {}.name;\n },\n o = Object.getOwnPropertyDescriptor;\n if (o) try {\n o([], \"length\");\n } catch (t) {\n o = null;\n }\n n.functionsHaveConfigurableNames = function () {\n if (!n() || !o) return !1;\n var t = o(function () {}, \"name\");\n return !!t && !!t.configurable;\n };\n var i = Function.prototype.bind;\n n.boundFunctionsHaveNames = function () {\n return n() && \"function\" == typeof i && \"\" !== function () {}.bind().name;\n }, t.exports = n;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(0).supportsDescriptors,\n o = r(14),\n i = Object.getOwnPropertyDescriptor,\n s = Object.defineProperty,\n a = TypeError,\n u = Object.getPrototypeOf,\n p = /a/;\n t.exports = function () {\n if (!n || !u) throw new a(\"RegExp.prototype.flags requires a true ES5 environment that supports property descriptors\");\n var t = o(),\n e = u(p),\n r = i(e, \"flags\");\n return r && r.get === t || s(e, \"flags\", {\n configurable: !0,\n enumerable: !1,\n get: t\n }), t;\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = Date.prototype.getDay,\n o = Object.prototype.toString,\n i = r(1)();\n t.exports = function (t) {\n return \"object\" == typeof t && null !== t && (i ? function (t) {\n try {\n return n.call(t), !0;\n } catch (t) {\n return !1;\n }\n }(t) : \"[object Date]\" === o.call(t));\n };\n }, function (t, e, r) {\n var n = r(6),\n o = r(15),\n i = {\n attributes: {\n compose: function (t, e, r) {\n \"object\" != typeof t && (t = {}), \"object\" != typeof e && (e = {});\n var n = o(!0, {}, e);\n for (var i in r || (n = Object.keys(n).reduce(function (t, e) {\n return null != n[e] && (t[e] = n[e]), t;\n }, {})), t) void 0 !== t[i] && void 0 === e[i] && (n[i] = t[i]);\n return Object.keys(n).length > 0 ? n : void 0;\n },\n diff: function (t, e) {\n \"object\" != typeof t && (t = {}), \"object\" != typeof e && (e = {});\n var r = Object.keys(t).concat(Object.keys(e)).reduce(function (r, o) {\n return n(t[o], e[o]) || (r[o] = void 0 === e[o] ? null : e[o]), r;\n }, {});\n return Object.keys(r).length > 0 ? r : void 0;\n },\n transform: function (t, e, r) {\n if (\"object\" != typeof t) return e;\n if (\"object\" == typeof e) {\n if (!r) return e;\n var n = Object.keys(e).reduce(function (r, n) {\n return void 0 === t[n] && (r[n] = e[n]), r;\n }, {});\n return Object.keys(n).length > 0 ? n : void 0;\n }\n }\n },\n iterator: function (t) {\n return new s(t);\n },\n length: function (t) {\n return \"number\" == typeof t.delete ? t.delete : \"number\" == typeof t.retain ? t.retain : \"string\" == typeof t.insert ? t.insert.length : 1;\n }\n };\n function s(t) {\n this.ops = t, this.index = 0, this.offset = 0;\n }\n s.prototype.hasNext = function () {\n return this.peekLength() < 1 / 0;\n }, s.prototype.next = function (t) {\n t || (t = 1 / 0);\n var e = this.ops[this.index];\n if (e) {\n var r = this.offset,\n n = i.length(e);\n if (t >= n - r ? (t = n - r, this.index += 1, this.offset = 0) : this.offset += t, \"number\" == typeof e.delete) return {\n delete: t\n };\n var o = {};\n return e.attributes && (o.attributes = e.attributes), \"number\" == typeof e.retain ? o.retain = t : \"string\" == typeof e.insert ? o.insert = e.insert.substr(r, t) : o.insert = e.insert, o;\n }\n return {\n retain: 1 / 0\n };\n }, s.prototype.peek = function () {\n return this.ops[this.index];\n }, s.prototype.peekLength = function () {\n return this.ops[this.index] ? i.length(this.ops[this.index]) - this.offset : 1 / 0;\n }, s.prototype.peekType = function () {\n return this.ops[this.index] ? \"number\" == typeof this.ops[this.index].delete ? \"delete\" : \"number\" == typeof this.ops[this.index].retain ? \"retain\" : \"insert\" : \"retain\";\n }, s.prototype.rest = function () {\n if (this.hasNext()) {\n if (0 === this.offset) return this.ops.slice(this.index);\n var t = this.offset,\n e = this.index,\n r = this.next(),\n n = this.ops.slice(this.index);\n return this.offset = t, this.index = e, [r].concat(n);\n }\n return [];\n }, t.exports = i;\n }, function (t, e, r) {\n \"use strict\";\n\n var n = r(34),\n o = r(37);\n function i() {\n this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;\n }\n e.parse = v, e.resolve = function (t, e) {\n return v(t, !1, !0).resolve(e);\n }, e.resolveObject = function (t, e) {\n return t ? v(t, !1, !0).resolveObject(e) : e;\n }, e.format = function (t) {\n o.isString(t) && (t = v(t));\n return t instanceof i ? t.format() : i.prototype.format.call(t);\n }, e.Url = i;\n var s = /^([a-z0-9.+-]+:)/i,\n a = /:[0-9]*$/,\n u = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n p = [\"{\", \"}\", \"|\", \"\\\\\", \"^\", \"`\"].concat([\"<\", \">\", '\"', \"`\", \" \", \"\\r\", \"\\n\", \"\\t\"]),\n c = [\"'\"].concat(p),\n l = [\"%\", \"/\", \"?\", \";\", \"#\"].concat(c),\n f = [\"/\", \"?\", \"#\"],\n h = /^[+a-z0-9A-Z_-]{0,63}$/,\n y = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n g = {\n javascript: !0,\n \"javascript:\": !0\n },\n d = {\n javascript: !0,\n \"javascript:\": !0\n },\n b = {\n http: !0,\n https: !0,\n ftp: !0,\n gopher: !0,\n file: !0,\n \"http:\": !0,\n \"https:\": !0,\n \"ftp:\": !0,\n \"gopher:\": !0,\n \"file:\": !0\n },\n m = r(38);\n function v(t, e, r) {\n if (t && o.isObject(t) && t instanceof i) return t;\n var n = new i();\n return n.parse(t, e, r), n;\n }\n i.prototype.parse = function (t, e, r) {\n if (!o.isString(t)) throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof t);\n var i = t.indexOf(\"?\"),\n a = -1 !== i && i < t.indexOf(\"#\") ? \"?\" : \"#\",\n p = t.split(a);\n p[0] = p[0].replace(/\\\\/g, \"/\");\n var v = t = p.join(a);\n if (v = v.trim(), !r && 1 === t.split(\"#\").length) {\n var x = u.exec(v);\n if (x) return this.path = v, this.href = v, this.pathname = x[1], x[2] ? (this.search = x[2], this.query = e ? m.parse(this.search.substr(1)) : this.search.substr(1)) : e && (this.search = \"\", this.query = {}), this;\n }\n var w = s.exec(v);\n if (w) {\n var j = (w = w[0]).toLowerCase();\n this.protocol = j, v = v.substr(w.length);\n }\n if (r || w || v.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var O = \"//\" === v.substr(0, 2);\n !O || w && d[w] || (v = v.substr(2), this.slashes = !0);\n }\n if (!d[w] && (O || w && !b[w])) {\n for (var A, P, S = -1, E = 0; E < f.length; E++) {\n -1 !== (k = v.indexOf(f[E])) && (-1 === S || k < S) && (S = k);\n }\n -1 !== (P = -1 === S ? v.lastIndexOf(\"@\") : v.lastIndexOf(\"@\", S)) && (A = v.slice(0, P), v = v.slice(P + 1), this.auth = decodeURIComponent(A)), S = -1;\n for (E = 0; E < l.length; E++) {\n var k;\n -1 !== (k = v.indexOf(l[E])) && (-1 === S || k < S) && (S = k);\n }\n -1 === S && (S = v.length), this.host = v.slice(0, S), v = v.slice(S), this.parseHost(), this.hostname = this.hostname || \"\";\n var I = \"[\" === this.hostname[0] && \"]\" === this.hostname[this.hostname.length - 1];\n if (!I) for (var R = this.hostname.split(/\\./), F = (E = 0, R.length); E < F; E++) {\n var U = R[E];\n if (U && !U.match(h)) {\n for (var N = \"\", T = 0, C = U.length; T < C; T++) U.charCodeAt(T) > 127 ? N += \"x\" : N += U[T];\n if (!N.match(h)) {\n var $ = R.slice(0, E),\n M = R.slice(E + 1),\n L = U.match(y);\n L && ($.push(L[1]), M.unshift(L[2])), M.length && (v = \"/\" + M.join(\".\") + v), this.hostname = $.join(\".\");\n break;\n }\n }\n }\n this.hostname.length > 255 ? this.hostname = \"\" : this.hostname = this.hostname.toLowerCase(), I || (this.hostname = n.toASCII(this.hostname));\n var D = this.port ? \":\" + this.port : \"\",\n _ = this.hostname || \"\";\n this.host = _ + D, this.href += this.host, I && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), \"/\" !== v[0] && (v = \"/\" + v));\n }\n if (!g[j]) for (E = 0, F = c.length; E < F; E++) {\n var q = c[E];\n if (-1 !== v.indexOf(q)) {\n var z = encodeURIComponent(q);\n z === q && (z = escape(q)), v = v.split(q).join(z);\n }\n }\n var H = v.indexOf(\"#\");\n -1 !== H && (this.hash = v.substr(H), v = v.slice(0, H));\n var W = v.indexOf(\"?\");\n if (-1 !== W ? (this.search = v.substr(W), this.query = v.substr(W + 1), e && (this.query = m.parse(this.query)), v = v.slice(0, W)) : e && (this.search = \"\", this.query = {}), v && (this.pathname = v), b[j] && this.hostname && !this.pathname && (this.pathname = \"/\"), this.pathname || this.search) {\n D = this.pathname || \"\";\n var B = this.search || \"\";\n this.path = D + B;\n }\n return this.href = this.format(), this;\n }, i.prototype.format = function () {\n var t = this.auth || \"\";\n t && (t = (t = encodeURIComponent(t)).replace(/%3A/i, \":\"), t += \"@\");\n var e = this.protocol || \"\",\n r = this.pathname || \"\",\n n = this.hash || \"\",\n i = !1,\n s = \"\";\n this.host ? i = t + this.host : this.hostname && (i = t + (-1 === this.hostname.indexOf(\":\") ? this.hostname : \"[\" + this.hostname + \"]\"), this.port && (i += \":\" + this.port)), this.query && o.isObject(this.query) && Object.keys(this.query).length && (s = m.stringify(this.query));\n var a = this.search || s && \"?\" + s || \"\";\n return e && \":\" !== e.substr(-1) && (e += \":\"), this.slashes || (!e || b[e]) && !1 !== i ? (i = \"//\" + (i || \"\"), r && \"/\" !== r.charAt(0) && (r = \"/\" + r)) : i || (i = \"\"), n && \"#\" !== n.charAt(0) && (n = \"#\" + n), a && \"?\" !== a.charAt(0) && (a = \"?\" + a), e + i + (r = r.replace(/[?#]/g, function (t) {\n return encodeURIComponent(t);\n })) + (a = a.replace(\"#\", \"%23\")) + n;\n }, i.prototype.resolve = function (t) {\n return this.resolveObject(v(t, !1, !0)).format();\n }, i.prototype.resolveObject = function (t) {\n if (o.isString(t)) {\n var e = new i();\n e.parse(t, !1, !0), t = e;\n }\n for (var r = new i(), n = Object.keys(this), s = 0; s < n.length; s++) {\n var a = n[s];\n r[a] = this[a];\n }\n if (r.hash = t.hash, \"\" === t.href) return r.href = r.format(), r;\n if (t.slashes && !t.protocol) {\n for (var u = Object.keys(t), p = 0; p < u.length; p++) {\n var c = u[p];\n \"protocol\" !== c && (r[c] = t[c]);\n }\n return b[r.protocol] && r.hostname && !r.pathname && (r.path = r.pathname = \"/\"), r.href = r.format(), r;\n }\n if (t.protocol && t.protocol !== r.protocol) {\n if (!b[t.protocol]) {\n for (var l = Object.keys(t), f = 0; f < l.length; f++) {\n var h = l[f];\n r[h] = t[h];\n }\n return r.href = r.format(), r;\n }\n if (r.protocol = t.protocol, t.host || d[t.protocol]) r.pathname = t.pathname;else {\n for (var y = (t.pathname || \"\").split(\"/\"); y.length && !(t.host = y.shift()););\n t.host || (t.host = \"\"), t.hostname || (t.hostname = \"\"), \"\" !== y[0] && y.unshift(\"\"), y.length < 2 && y.unshift(\"\"), r.pathname = y.join(\"/\");\n }\n if (r.search = t.search, r.query = t.query, r.host = t.host || \"\", r.auth = t.auth, r.hostname = t.hostname || t.host, r.port = t.port, r.pathname || r.search) {\n var g = r.pathname || \"\",\n m = r.search || \"\";\n r.path = g + m;\n }\n return r.slashes = r.slashes || t.slashes, r.href = r.format(), r;\n }\n var v = r.pathname && \"/\" === r.pathname.charAt(0),\n x = t.host || t.pathname && \"/\" === t.pathname.charAt(0),\n w = x || v || r.host && t.pathname,\n j = w,\n O = r.pathname && r.pathname.split(\"/\") || [],\n A = (y = t.pathname && t.pathname.split(\"/\") || [], r.protocol && !b[r.protocol]);\n if (A && (r.hostname = \"\", r.port = null, r.host && (\"\" === O[0] ? O[0] = r.host : O.unshift(r.host)), r.host = \"\", t.protocol && (t.hostname = null, t.port = null, t.host && (\"\" === y[0] ? y[0] = t.host : y.unshift(t.host)), t.host = null), w = w && (\"\" === y[0] || \"\" === O[0])), x) r.host = t.host || \"\" === t.host ? t.host : r.host, r.hostname = t.hostname || \"\" === t.hostname ? t.hostname : r.hostname, r.search = t.search, r.query = t.query, O = y;else if (y.length) O || (O = []), O.pop(), O = O.concat(y), r.search = t.search, r.query = t.query;else if (!o.isNullOrUndefined(t.search)) {\n if (A) r.hostname = r.host = O.shift(), (I = !!(r.host && r.host.indexOf(\"@\") > 0) && r.host.split(\"@\")) && (r.auth = I.shift(), r.host = r.hostname = I.shift());\n return r.search = t.search, r.query = t.query, o.isNull(r.pathname) && o.isNull(r.search) || (r.path = (r.pathname ? r.pathname : \"\") + (r.search ? r.search : \"\")), r.href = r.format(), r;\n }\n if (!O.length) return r.pathname = null, r.search ? r.path = \"/\" + r.search : r.path = null, r.href = r.format(), r;\n for (var P = O.slice(-1)[0], S = (r.host || t.host || O.length > 1) && (\".\" === P || \"..\" === P) || \"\" === P, E = 0, k = O.length; k >= 0; k--) \".\" === (P = O[k]) ? O.splice(k, 1) : \"..\" === P ? (O.splice(k, 1), E++) : E && (O.splice(k, 1), E--);\n if (!w && !j) for (; E--; E) O.unshift(\"..\");\n !w || \"\" === O[0] || O[0] && \"/\" === O[0].charAt(0) || O.unshift(\"\"), S && \"/\" !== O.join(\"/\").substr(-1) && O.push(\"\");\n var I,\n R = \"\" === O[0] || O[0] && \"/\" === O[0].charAt(0);\n A && (r.hostname = r.host = R ? \"\" : O.length ? O.shift() : \"\", (I = !!(r.host && r.host.indexOf(\"@\") > 0) && r.host.split(\"@\")) && (r.auth = I.shift(), r.host = r.hostname = I.shift()));\n return (w = w || r.host && O.length) && !R && O.unshift(\"\"), O.length ? r.pathname = O.join(\"/\") : (r.pathname = null, r.path = null), o.isNull(r.pathname) && o.isNull(r.search) || (r.path = (r.pathname ? r.pathname : \"\") + (r.search ? r.search : \"\")), r.auth = t.auth || r.auth, r.slashes = r.slashes || t.slashes, r.href = r.format(), r;\n }, i.prototype.parseHost = function () {\n var t = this.host,\n e = a.exec(t);\n e && (\":\" !== (e = e[0]) && (this.port = e.substr(1)), t = t.substr(0, t.length - e.length)), t && (this.hostname = t);\n };\n }, function (t, e, r) {\n (function (t, n) {\n var o; /*! https://mths.be/punycode v1.4.1 by @mathias */\n !function (i) {\n e && e.nodeType, t && t.nodeType;\n var s = \"object\" == typeof n && n;\n s.global !== s && s.window !== s && s.self;\n var a,\n u = 2147483647,\n p = /^xn--/,\n c = /[^\\x20-\\x7E]/,\n l = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n f = {\n overflow: \"Overflow: input needs wider integers to process\",\n \"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n \"invalid-input\": \"Invalid input\"\n },\n h = Math.floor,\n y = String.fromCharCode;\n function g(t) {\n throw new RangeError(f[t]);\n }\n function d(t, e) {\n for (var r = t.length, n = []; r--;) n[r] = e(t[r]);\n return n;\n }\n function b(t, e) {\n var r = t.split(\"@\"),\n n = \"\";\n return r.length > 1 && (n = r[0] + \"@\", t = r[1]), n + d((t = t.replace(l, \".\")).split(\".\"), e).join(\".\");\n }\n function m(t) {\n for (var e, r, n = [], o = 0, i = t.length; o < i;) (e = t.charCodeAt(o++)) >= 55296 && e <= 56319 && o < i ? 56320 == (64512 & (r = t.charCodeAt(o++))) ? n.push(((1023 & e) << 10) + (1023 & r) + 65536) : (n.push(e), o--) : n.push(e);\n return n;\n }\n function v(t) {\n return d(t, function (t) {\n var e = \"\";\n return t > 65535 && (e += y((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e += y(t);\n }).join(\"\");\n }\n function x(t, e) {\n return t + 22 + 75 * (t < 26) - ((0 != e) << 5);\n }\n function w(t, e, r) {\n var n = 0;\n for (t = r ? h(t / 700) : t >> 1, t += h(t / e); t > 455; n += 36) t = h(t / 35);\n return h(n + 36 * t / (t + 38));\n }\n function j(t) {\n var e,\n r,\n n,\n o,\n i,\n s,\n a,\n p,\n c,\n l,\n f,\n y = [],\n d = t.length,\n b = 0,\n m = 128,\n x = 72;\n for ((r = t.lastIndexOf(\"-\")) < 0 && (r = 0), n = 0; n < r; ++n) t.charCodeAt(n) >= 128 && g(\"not-basic\"), y.push(t.charCodeAt(n));\n for (o = r > 0 ? r + 1 : 0; o < d;) {\n for (i = b, s = 1, a = 36; o >= d && g(\"invalid-input\"), ((p = (f = t.charCodeAt(o++)) - 48 < 10 ? f - 22 : f - 65 < 26 ? f - 65 : f - 97 < 26 ? f - 97 : 36) >= 36 || p > h((u - b) / s)) && g(\"overflow\"), b += p * s, !(p < (c = a <= x ? 1 : a >= x + 26 ? 26 : a - x)); a += 36) s > h(u / (l = 36 - c)) && g(\"overflow\"), s *= l;\n x = w(b - i, e = y.length + 1, 0 == i), h(b / e) > u - m && g(\"overflow\"), m += h(b / e), b %= e, y.splice(b++, 0, m);\n }\n return v(y);\n }\n function O(t) {\n var e,\n r,\n n,\n o,\n i,\n s,\n a,\n p,\n c,\n l,\n f,\n d,\n b,\n v,\n j,\n O = [];\n for (d = (t = m(t)).length, e = 128, r = 0, i = 72, s = 0; s < d; ++s) (f = t[s]) < 128 && O.push(y(f));\n for (n = o = O.length, o && O.push(\"-\"); n < d;) {\n for (a = u, s = 0; s < d; ++s) (f = t[s]) >= e && f < a && (a = f);\n for (a - e > h((u - r) / (b = n + 1)) && g(\"overflow\"), r += (a - e) * b, e = a, s = 0; s < d; ++s) if ((f = t[s]) < e && ++r > u && g(\"overflow\"), f == e) {\n for (p = r, c = 36; !(p < (l = c <= i ? 1 : c >= i + 26 ? 26 : c - i)); c += 36) j = p - l, v = 36 - l, O.push(y(x(l + j % v, 0))), p = h(j / v);\n O.push(y(x(p, 0))), i = w(r, b, n == o), r = 0, ++n;\n }\n ++r, ++e;\n }\n return O.join(\"\");\n }\n a = {\n version: \"1.4.1\",\n ucs2: {\n decode: m,\n encode: v\n },\n decode: j,\n encode: O,\n toASCII: function (t) {\n return b(t, function (t) {\n return c.test(t) ? \"xn--\" + O(t) : t;\n });\n },\n toUnicode: function (t) {\n return b(t, function (t) {\n return p.test(t) ? j(t.slice(4).toLowerCase()) : t;\n });\n }\n }, void 0 === (o = function () {\n return a;\n }.call(e, r, e, t)) || (t.exports = o);\n }();\n }).call(this, r(35)(t), r(36));\n }, function (t, e) {\n t.exports = function (t) {\n return t.webpackPolyfill || (t.deprecate = function () {}, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, \"loaded\", {\n enumerable: !0,\n get: function () {\n return t.l;\n }\n }), Object.defineProperty(t, \"id\", {\n enumerable: !0,\n get: function () {\n return t.i;\n }\n }), t.webpackPolyfill = 1), t;\n };\n }, function (t, e) {\n var r;\n r = function () {\n return this;\n }();\n try {\n r = r || new Function(\"return this\")();\n } catch (t) {\n \"object\" == typeof window && (r = window);\n }\n t.exports = r;\n }, function (t, e, r) {\n \"use strict\";\n\n t.exports = {\n isString: function (t) {\n return \"string\" == typeof t;\n },\n isObject: function (t) {\n return \"object\" == typeof t && null !== t;\n },\n isNull: function (t) {\n return null === t;\n },\n isNullOrUndefined: function (t) {\n return null == t;\n }\n };\n }, function (t, e, r) {\n \"use strict\";\n\n e.decode = e.parse = r(39), e.encode = e.stringify = r(40);\n }, function (t, e, r) {\n \"use strict\";\n\n function n(t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }\n t.exports = function (t, e, r, i) {\n e = e || \"&\", r = r || \"=\";\n var s = {};\n if (\"string\" != typeof t || 0 === t.length) return s;\n var a = /\\+/g;\n t = t.split(e);\n var u = 1e3;\n i && \"number\" == typeof i.maxKeys && (u = i.maxKeys);\n var p = t.length;\n u > 0 && p > u && (p = u);\n for (var c = 0; c < p; ++c) {\n var l,\n f,\n h,\n y,\n g = t[c].replace(a, \"%20\"),\n d = g.indexOf(r);\n d >= 0 ? (l = g.substr(0, d), f = g.substr(d + 1)) : (l = g, f = \"\"), h = decodeURIComponent(l), y = decodeURIComponent(f), n(s, h) ? o(s[h]) ? s[h].push(y) : s[h] = [s[h], y] : s[h] = y;\n }\n return s;\n };\n var o = Array.isArray || function (t) {\n return \"[object Array]\" === Object.prototype.toString.call(t);\n };\n }, function (t, e, r) {\n \"use strict\";\n\n var n = function (t) {\n switch (typeof t) {\n case \"string\":\n return t;\n case \"boolean\":\n return t ? \"true\" : \"false\";\n case \"number\":\n return isFinite(t) ? t : \"\";\n default:\n return \"\";\n }\n };\n t.exports = function (t, e, r, a) {\n return e = e || \"&\", r = r || \"=\", null === t && (t = void 0), \"object\" == typeof t ? i(s(t), function (s) {\n var a = encodeURIComponent(n(s)) + r;\n return o(t[s]) ? i(t[s], function (t) {\n return a + encodeURIComponent(n(t));\n }).join(e) : a + encodeURIComponent(n(t[s]));\n }).join(e) : a ? encodeURIComponent(n(a)) + r + encodeURIComponent(n(t)) : \"\";\n };\n var o = Array.isArray || function (t) {\n return \"[object Array]\" === Object.prototype.toString.call(t);\n };\n function i(t, e) {\n if (t.map) return t.map(e);\n for (var r = [], n = 0; n < t.length; n++) r.push(e(t[n], n));\n return r;\n }\n var s = Object.keys || function (t) {\n var e = [];\n for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && e.push(r);\n return e;\n };\n }]);\n});","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict';\n\nvar base64 = require('base64-js');\nvar ieee754 = require('ieee754');\nvar isArray = require('isarray');\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength();\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function () {\n return 42;\n }\n };\n return arr.foo() === 42 &&\n // typed array instances can be augmented\n typeof arr.subarray === 'function' &&\n // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n that.length = length;\n }\n return that;\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n return allocUnsafe(this, arg);\n }\n return from(this, arg, encodingOrOffset, length);\n}\nBuffer.poolSize = 8192; // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n return fromObject(that, value);\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(that, size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n return createBuffer(that, size);\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n return that;\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n return that;\n}\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n return that;\n}\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n return that;\n}\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n if (that.length === 0) {\n return that;\n }\n obj.copy(that, 0, 0, len);\n return that;\n }\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n return fromArrayLike(that, obj);\n }\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n return length | 0;\n}\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n return Buffer.alloc(+length);\n}\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n};\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer;\n};\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n var len = string.length;\n if (len === 0) return 0;\n\n // Use a for loop to avoid recursion\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\nBuffer.byteLength = byteLength;\nfunction slowToString(encoding, start, end) {\n var loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return '';\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return '';\n }\n if (!encoding) encoding = 'utf8';\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n case 'ascii':\n return asciiSlice(this, start, end);\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n case 'base64':\n return base64Slice(this, start, end);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true;\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n};\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n};\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n};\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n return '';\n};\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = +byteOffset; // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError('val must be string, number or Buffer');\n}\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n var i;\n if (dir) {\n var foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n return -1;\n}\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n // must be an even number of digits\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = '';\n var i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n}\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n return ret;\n}\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n return out;\n}\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start) end = start;\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n return newBuf;\n};\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n return val;\n};\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n var val = this[offset + --byteLength];\n var mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n return val;\n};\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n};\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n var len = end - start;\n var i;\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n return len;\n};\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n};\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n return str;\n}\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n return bytes;\n}\nfunction asciiToBytes(str) {\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n return byteArray;\n}\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n}\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\nfunction getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n return arr;\n}\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('');\n}\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n return parts.join('');\n}","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n buffer[offset + i - d] |= s * 128;\n};","var toString = {}.toString;\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};","document.addEventListener(\"turbolinks:load\", function () {\n console.log(\"segment_analytics.js loaded\");\n\n const currentPathName = window.location.pathname;\n const currentUrl = window.location.href;\n var email = $(\".temp_information\").data(\"email\");\n if (email === undefined) {\n email = \"unknown\";\n }\n // Landing on Setup Guide Page\n if (currentPathName === \"/setup_guide\") {\n var data = {\n event: \"Listener - SetupGuide\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n // Landing on Returns Page\n } else if (currentPathName.includes(\"/shop-all\")) {\n var data = {\n event: \"Listener - ShopAll\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n } else if (currentPathName.includes(\"/sellers\")) {\n var data = {\n event: \"Listener - Sellers\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n } else if (currentUrl.includes(\"/returns\") && !currentUrl.includes(\"?\") && !currentUrl.includes(\"confirmed\")) {\n var data = {\n event: \"Listener - Returns\",\n properties: {\n path: currentPathName,\n company: currentPathName.split(\"/\")[2],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n } else if (currentUrl.includes(\"/returns\") && !currentUrl.includes(\"?\") && currentUrl.includes(\"confirmed\")) {\n var data = {\n event: \"Listener - ReturnsConfirmed\",\n properties: {\n path: currentPathName,\n company: currentPathName.split(\"/\")[2],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n // Landing on Home Page\n } else if (currentPathName === \"/\" && !currentUrl.includes(\"?\")) {\n const homePage = document.getElementById(\"home-page\");\n if (homePage) {\n var data = {\n event: \"Listener - HomePage\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n }\n //Landing on Product Page\n } else if ( currentPathName !== \"/products\" && currentPathName.includes(\"/products\") && !currentPathName.includes(\"purchase\") && !currentPathName.includes(\"edit\") && !currentPathName.includes(\"merchant\")) {\n console.log(currentPathName);\n var data = {\n event: \"Listener - Products\",\n properties: {\n path: currentPathName,\n product_id: currentPathName.split(\"/\")[3],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n\n //Clicked Next to View Next Page of Products\n } else if (currentPathName === \"/\" && currentUrl.includes(\"?page\")) {\n var data = {\n event: \"Listener - NextPage\",\n properties: {\n path: currentPathName,\n page_number: currentUrl.includes(\"?page\") ? currentUrl.split(\"=\")[1] : 1,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_page\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n }\n\n //Clicked on Create Hafback Merchant Account Now Button\n const createMerchantAccountButton = document.getElementById(\"create-merchant-account\");\n if (createMerchantAccountButton) {\n createMerchantAccountButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Merchants - CreateMerchantAccount\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Merchant or User Clicked on Add Phone Number Button\n const addPhoneNumberButton = document.getElementById(\"add-phone-number\");\n if (addPhoneNumberButton) {\n addPhoneNumberButton.addEventListener(\"click\", function () {\n var data = {\n event: \"ConfirmAccount - AddPhoneNumber\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Clicked on Confirm Phone Token Button\n const confirmPhoneTokenButton = document.getElementById(\"confirm-phone-token\");\n if (confirmPhoneTokenButton) {\n confirmPhoneTokenButton.addEventListener(\"click\", function () {\n var data = {\n event: \"ConfirmAccount - ConfirmPhoneToken\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Clicked on save company button\n const saveCompanyButton = document.getElementById(\"save-company\");\n if (saveCompanyButton) {\n saveCompanyButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Company - CreateCompany\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n\n //Clicked on Connect Shopify Store Button\n const connectShopifyStoreButton = document.getElementById(\"connect-shopify-store\");\n if (connectShopifyStoreButton) {\n connectShopifyStoreButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Company - ConnectShopifyStore\",\n properties: {\n path: currentPathName,\n company_slug: currentPathName.split(\"/\")[2],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n\n //Clicked on Save Collection Changes Button\n const saveCollectionChangesButton = document.querySelector(\".collections-settings-save-button\");\n if (saveCollectionChangesButton) {\n saveCollectionChangesButton.addEventListener(\"click\", function () {\n var data = {\n event: \"CollectionSettings - SaveCollectionSettings\",\n properties: {\n path: currentPathName,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Clicked on Sync Shopify Store Button\n const syncShopifyStoreButton = document.getElementById(\"sync-shopify-store\");\n if (syncShopifyStoreButton) {\n syncShopifyStoreButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Company - SyncShopifyStore\",\n properties: {\n path: currentPathName,\n company_slug: currentPathName.split(\"/\")[2],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Clicked Search Order on Returns Page\n const searchOrderButton = document.getElementById(\"search-order\");\n if (searchOrderButton) {\n searchOrderButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Returns - OrderLookUp\",\n properties: {\n path: currentPathName,\n order_number: document.getElementById(\"order_id\").value,\n company_shopify_name: currentPathName.split(\"/\")[2],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n //Clicked on Buy Now on Product Page\n const buyNowButton = document.getElementById(\"product-buy-now\");\n if (buyNowButton) {\n buyNowButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Product - BuyNow\",\n properties: {\n path: currentPathName,\n product_id: currentPathName.split(\"/\")[3],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n // //Clicked Next to Confirm Order Summary\n // const confirmOrderSummaryButton = document.getElementById(\"check-out\");\n // if (confirmOrderSummaryButton) {\n // confirmOrderSummaryButton.addEventListener(\"click\", function() {\n // data = {\n // event: \"Product - ConfirmOrderSummary\",\n // properties: {\n // path: currentPathName,\n // product_id: currentPathName.split(\"/\")[3],\n // email: email,\n // },\n // };\n // fetch('/segment_analytics/track_event', {\n // method: 'POST',\n // body: JSON.stringify(data),\n // headers: {\n // \"Content-Type\": \"application/json\",\n // \"X-CSRF-Token\": document.querySelector(\"meta[name='csrf-token']\").getAttribute(\"content\"),\n // }\n // });\n // });\n // }\n\n //Clicked Notify me when back in stock button\n const notifyMeButton = document.querySelector(\".notify-me-btn\");\n if (notifyMeButton) {\n notifyMeButton.addEventListener(\"click\", function () {\n var data = {\n event: \"Product - NotifyBackInStock\",\n properties: {\n path: currentPathName,\n product_id: currentPathName.split(\"/\")[3],\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n\n //Clicked a Brand to filter Product Results\n const brandButton = document.querySelectorAll(\"[id='brand']\");\n if (brandButton) {\n brandButton.forEach(function (button) {\n button.addEventListener(\"click\", function () {\n var data = {\n event: \"HomePage - BrandSelected\",\n properties: {\n path: currentPathName,\n brand: button.innerText,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n });\n }\n\n //Searched a Query on HomePage\n const searchButton = document.getElementById(\"search-product\");\n if (searchButton) {\n searchButton.addEventListener(\"click\", function () {\n var data = {\n event: \"HomePage - Search\",\n properties: {\n path: currentPathName,\n query: document.getElementById(\"product_searcher\").value,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n });\n }\n\n const searchInput = document.getElementById(\"product_searcher\");\n if (searchInput) {\n searchInput.addEventListener(\"keyup\", function (e) {\n if (e.key === \"Enter\") {\n var data = {\n event: \"HomePage - Search\",\n properties: {\n path: currentPathName,\n query: document.getElementById(\"product_searcher\").value,\n email: email,\n },\n };\n\n $.ajax({\n url: \"/segment_analytics/track_event\",\n type: \"POST\",\n data: JSON.stringify(data),\n contentType: \"application/json\",\n });\n }\n });\n }\n});\n","import {QuillEditors} from 'packs/quill-editor';\n\n$(document).on(\"submit\", \"form\", (event) => {\n const richTextEditors = $('.smart-form-rich-text');\n const container = $(richTextEditors[0]);\n const quillContent = container.find(\".smart-form-rich-text-quill-content\");\n const editorContainer = container.find(\".smart-form-rich-text-editor\");\n const content = QuillEditors.extractFromEditor(editorContainer[0]);\n quillContent.val(JSON.stringify(content));\n\tconsole.log(\"SUBMIT\", event);\n});\n\n$(document).on(\"turbolinks:load\", (event) => {\t\n\tconst richTextEditors = $('.smart-form-rich-text');\n\t\n\trichTextEditors.each((index) => {\n\t\tconst container = $(richTextEditors[index]);\n\t\tconst fieldName = container.attr('name');\n\t\t\n\t\tconst quillContent = container.find(\".smart-form-rich-text-quill-content\");\n\t\t\n\t\tconst editorContainer = container.find(\".smart-form-rich-text-editor\");\n\t\tconst fieldPlaceholder = editorContainer.attr('placeholder');\n\t\t\n\t\tlet existingContent = undefined;\n\t\tconst ops = container.find(\".smart-form-rich-text-quill-ops\"); \n\t\tif (ops.length > 0) {\n\t\t\texistingContent = JSON.parse(ops.text());\n\t\t}\n\t\t\n\t\tconst editor = QuillEditors.createEditor(editorContainer[0], existingContent, fieldPlaceholder);\n\n\t\tconst content = QuillEditors.extractFromEditor(editorContainer[0]);\n\t\tquillContent.val(JSON.stringify(content));\n\n\t\teditor.on('text-change', function(delta, oldDelta, source) {\n\t\t\tconst content = QuillEditors.extractFromEditor(editorContainer[0], true);\n\t\t\tquillContent.val(JSON.stringify(content));\n\t\t\tquillContent.trigger('keyup');\n\t\t});\n\t});\n \n});","(function (global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActiveStorage = {});\n})(this, function (exports) {\n \"use strict\";\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n var sparkMd5 = createCommonjsModule(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [],\n i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [],\n i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\",\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n });\n });\n var classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n var FileChecksum = function () {\n createClass(FileChecksum, null, [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }]);\n return FileChecksum;\n }();\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n var BlobRecord = function () {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobRecord, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr,\n responseType = _xhr.responseType,\n response = _xhr.response;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }]);\n return BlobRecord;\n }();\n var BlobUpload = function () {\n function BlobUpload(blob) {\n var _this = this;\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr,\n status = _xhr.status,\n response = _xhr.response;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n }]);\n return BlobUpload;\n }();\n var id = 0;\n var DirectUpload = function () {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n return DirectUpload;\n }();\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n return object[methodName].apply(object, messages);\n }\n }\n var DirectUploadController = function () {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n _this.dispatch(\"end\");\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }]);\n return DirectUploadController;\n }();\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n var DirectUploadsController = function () {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var controllers = this.createDirectUploadControllers();\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n _this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray$1(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n }]);\n return DirectUploadsController;\n }();\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n var target = event.target;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n// import Turbolinks from \"turbolinks\"\nimport \"channels\";\nrequire(\"@rails/ujs\").start();\n// Turbolinks.start()\nrequire(\"@rails/activestorage\").start();\nrequire(\"turbolinks\").start();\nrequire(\"trix\");\nrequire(\"@rails/actiontext\");\nrequire(\"packs/segment_analytics.js\");\nrequire(\"packs/quill-editor.js\");\nrequire(\"packs/rich-text.js\");\n//= require jquery\n//= require popper\n//= require turbolinks\n//= require bootstrap\n//= require_tree.\n","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 15;","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n expando = '_ujsData';\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n }\n return result;\n };\n }\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n prepareOptions = function (options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n createXHR = function (options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n processResponse = function (response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n Rails.href = function (element) {\n return element.href;\n };\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n toArray = function (e) {\n return Array.prototype.slice.call(e);\n };\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n allowAction = function (element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n Rails.enableElement = function (e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n disableLinkElement = function (element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n enableLinkElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n disableFormElements = function (form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n disableFormElement = function (element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n enableFormElements = function (form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n enableFormElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n isXhrRedirect = function (event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n isRemote = function (element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function (xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function () {\n var t = this;\n (function () {\n (function () {\n this.Turbolinks = {\n supported: function () {\n return null != window.history.pushState && null != window.requestAnimationFrame && null != window.addEventListener;\n }(),\n visit: function (t, r) {\n return e.controller.visit(t, r);\n },\n clearCache: function () {\n return e.controller.clearCache();\n },\n setProgressBarDelay: function (t) {\n return e.controller.setProgressBarDelay(t);\n }\n };\n }).call(this);\n }).call(t);\n var e = t.Turbolinks;\n (function () {\n (function () {\n var t,\n r,\n n,\n o = [].slice;\n e.copyObject = function (t) {\n var e, r, n;\n r = {};\n for (e in t) n = t[e], r[e] = n;\n return r;\n }, e.closest = function (e, r) {\n return t.call(e, r);\n }, t = function () {\n var t, e;\n return t = document.documentElement, null != (e = t.closest) ? e : function (t) {\n var e;\n for (e = this; e;) {\n if (e.nodeType === Node.ELEMENT_NODE && r.call(e, t)) return e;\n e = e.parentNode;\n }\n };\n }(), e.defer = function (t) {\n return setTimeout(t, 1);\n }, e.throttle = function (t) {\n var e;\n return e = null, function () {\n var r;\n return r = 1 <= arguments.length ? o.call(arguments, 0) : [], null != e ? e : e = requestAnimationFrame(function (n) {\n return function () {\n return e = null, t.apply(n, r);\n };\n }(this));\n };\n }, e.dispatch = function (t, e) {\n var r, o, i, s, a, u;\n return a = null != e ? e : {}, u = a.target, r = a.cancelable, o = a.data, i = document.createEvent(\"Events\"), i.initEvent(t, !0, r === !0), i.data = null != o ? o : {}, i.cancelable && !n && (s = i.preventDefault, i.preventDefault = function () {\n return this.defaultPrevented || Object.defineProperty(this, \"defaultPrevented\", {\n get: function () {\n return !0;\n }\n }), s.call(this);\n }), (null != u ? u : document).dispatchEvent(i), i;\n }, n = function () {\n var t;\n return t = document.createEvent(\"Events\"), t.initEvent(\"test\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }(), e.match = function (t, e) {\n return r.call(t, e);\n }, r = function () {\n var t, e, r, n;\n return t = document.documentElement, null != (e = null != (r = null != (n = t.matchesSelector) ? n : t.webkitMatchesSelector) ? r : t.msMatchesSelector) ? e : t.mozMatchesSelector;\n }(), e.uuid = function () {\n var t, e, r;\n for (r = \"\", t = e = 1; 36 >= e; t = ++e) r += 9 === t || 14 === t || 19 === t || 24 === t ? \"-\" : 15 === t ? \"4\" : 20 === t ? (Math.floor(4 * Math.random()) + 8).toString(16) : Math.floor(15 * Math.random()).toString(16);\n return r;\n };\n }).call(this), function () {\n e.Location = function () {\n function t(t) {\n var e, r;\n null == t && (t = \"\"), r = document.createElement(\"a\"), r.href = t.toString(), this.absoluteURL = r.href, e = r.hash.length, 2 > e ? this.requestURL = this.absoluteURL : (this.requestURL = this.absoluteURL.slice(0, -e), this.anchor = r.hash.slice(1));\n }\n var e, r, n, o;\n return t.wrap = function (t) {\n return t instanceof this ? t : new this(t);\n }, t.prototype.getOrigin = function () {\n return this.absoluteURL.split(\"/\", 3).join(\"/\");\n }, t.prototype.getPath = function () {\n var t, e;\n return null != (t = null != (e = this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/)) ? e[1] : void 0) ? t : \"/\";\n }, t.prototype.getPathComponents = function () {\n return this.getPath().split(\"/\").slice(1);\n }, t.prototype.getLastPathComponent = function () {\n return this.getPathComponents().slice(-1)[0];\n }, t.prototype.getExtension = function () {\n var t, e;\n return null != (t = null != (e = this.getLastPathComponent().match(/\\.[^.]*$/)) ? e[0] : void 0) ? t : \"\";\n }, t.prototype.isHTML = function () {\n return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/);\n }, t.prototype.isPrefixedBy = function (t) {\n var e;\n return e = r(t), this.isEqualTo(t) || o(this.absoluteURL, e);\n }, t.prototype.isEqualTo = function (t) {\n return this.absoluteURL === (null != t ? t.absoluteURL : void 0);\n }, t.prototype.toCacheKey = function () {\n return this.requestURL;\n }, t.prototype.toJSON = function () {\n return this.absoluteURL;\n }, t.prototype.toString = function () {\n return this.absoluteURL;\n }, t.prototype.valueOf = function () {\n return this.absoluteURL;\n }, r = function (t) {\n return e(t.getOrigin() + t.getPath());\n }, e = function (t) {\n return n(t, \"/\") ? t : t + \"/\";\n }, o = function (t, e) {\n return t.slice(0, e.length) === e;\n }, n = function (t, e) {\n return t.slice(-e.length) === e;\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.HttpRequest = function () {\n function r(r, n, o) {\n this.delegate = r, this.requestCanceled = t(this.requestCanceled, this), this.requestTimedOut = t(this.requestTimedOut, this), this.requestFailed = t(this.requestFailed, this), this.requestLoaded = t(this.requestLoaded, this), this.requestProgressed = t(this.requestProgressed, this), this.url = e.Location.wrap(n).requestURL, this.referrer = e.Location.wrap(o).absoluteURL, this.createXHR();\n }\n return r.NETWORK_FAILURE = 0, r.TIMEOUT_FAILURE = -1, r.timeout = 60, r.prototype.send = function () {\n var t;\n return this.xhr && !this.sent ? (this.notifyApplicationBeforeRequestStart(), this.setProgress(0), this.xhr.send(), this.sent = !0, \"function\" == typeof (t = this.delegate).requestStarted ? t.requestStarted() : void 0) : void 0;\n }, r.prototype.cancel = function () {\n return this.xhr && this.sent ? this.xhr.abort() : void 0;\n }, r.prototype.requestProgressed = function (t) {\n return t.lengthComputable ? this.setProgress(t.loaded / t.total) : void 0;\n }, r.prototype.requestLoaded = function () {\n return this.endRequest(function (t) {\n return function () {\n var e;\n return 200 <= (e = t.xhr.status) && 300 > e ? t.delegate.requestCompletedWithResponse(t.xhr.responseText, t.xhr.getResponseHeader(\"Turbolinks-Location\")) : (t.failed = !0, t.delegate.requestFailedWithStatusCode(t.xhr.status, t.xhr.responseText));\n };\n }(this));\n }, r.prototype.requestFailed = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE);\n };\n }(this));\n }, r.prototype.requestTimedOut = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE);\n };\n }(this));\n }, r.prototype.requestCanceled = function () {\n return this.endRequest();\n }, r.prototype.notifyApplicationBeforeRequestStart = function () {\n return e.dispatch(\"turbolinks:request-start\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.notifyApplicationAfterRequestEnd = function () {\n return e.dispatch(\"turbolinks:request-end\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.createXHR = function () {\n return this.xhr = new XMLHttpRequest(), this.xhr.open(\"GET\", this.url, !0), this.xhr.timeout = 1e3 * this.constructor.timeout, this.xhr.setRequestHeader(\"Accept\", \"text/html, application/xhtml+xml\"), this.xhr.setRequestHeader(\"Turbolinks-Referrer\", this.referrer), this.xhr.onprogress = this.requestProgressed, this.xhr.onload = this.requestLoaded, this.xhr.onerror = this.requestFailed, this.xhr.ontimeout = this.requestTimedOut, this.xhr.onabort = this.requestCanceled;\n }, r.prototype.endRequest = function (t) {\n return this.xhr ? (this.notifyApplicationAfterRequestEnd(), null != t && t.call(this), this.destroy()) : void 0;\n }, r.prototype.setProgress = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.delegate).requestProgressed ? e.requestProgressed(this.progress) : void 0;\n }, r.prototype.destroy = function () {\n var t;\n return this.setProgress(1), \"function\" == typeof (t = this.delegate).requestFinished && t.requestFinished(), this.delegate = null, this.xhr = null;\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.ProgressBar = function () {\n function e() {\n this.trickle = t(this.trickle, this), this.stylesheetElement = this.createStylesheetElement(), this.progressElement = this.createProgressElement();\n }\n var r;\n return r = 300, e.defaultCSS = \".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \" + r + \"ms ease-out, opacity \" + r / 2 + \"ms \" + r / 2 + \"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\", e.prototype.show = function () {\n return this.visible ? void 0 : (this.visible = !0, this.installStylesheetElement(), this.installProgressElement(), this.startTrickling());\n }, e.prototype.hide = function () {\n return this.visible && !this.hiding ? (this.hiding = !0, this.fadeProgressElement(function (t) {\n return function () {\n return t.uninstallProgressElement(), t.stopTrickling(), t.visible = !1, t.hiding = !1;\n };\n }(this))) : void 0;\n }, e.prototype.setValue = function (t) {\n return this.value = t, this.refresh();\n }, e.prototype.installStylesheetElement = function () {\n return document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }, e.prototype.installProgressElement = function () {\n return this.progressElement.style.width = 0, this.progressElement.style.opacity = 1, document.documentElement.insertBefore(this.progressElement, document.body), this.refresh();\n }, e.prototype.fadeProgressElement = function (t) {\n return this.progressElement.style.opacity = 0, setTimeout(t, 1.5 * r);\n }, e.prototype.uninstallProgressElement = function () {\n return this.progressElement.parentNode ? document.documentElement.removeChild(this.progressElement) : void 0;\n }, e.prototype.startTrickling = function () {\n return null != this.trickleInterval ? this.trickleInterval : this.trickleInterval = setInterval(this.trickle, r);\n }, e.prototype.stopTrickling = function () {\n return clearInterval(this.trickleInterval), this.trickleInterval = null;\n }, e.prototype.trickle = function () {\n return this.setValue(this.value + Math.random() / 100);\n }, e.prototype.refresh = function () {\n return requestAnimationFrame(function (t) {\n return function () {\n return t.progressElement.style.width = 10 + 90 * t.value + \"%\";\n };\n }(this));\n }, e.prototype.createStylesheetElement = function () {\n var t;\n return t = document.createElement(\"style\"), t.type = \"text/css\", t.textContent = this.constructor.defaultCSS, t;\n }, e.prototype.createProgressElement = function () {\n var t;\n return t = document.createElement(\"div\"), t.className = \"turbolinks-progress-bar\", t;\n }, e;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.BrowserAdapter = function () {\n function r(r) {\n this.controller = r, this.showProgressBar = t(this.showProgressBar, this), this.progressBar = new e.ProgressBar();\n }\n var n, o, i;\n return i = e.HttpRequest, n = i.NETWORK_FAILURE, o = i.TIMEOUT_FAILURE, r.prototype.visitProposedToLocationWithAction = function (t, e) {\n return this.controller.startVisitToLocationWithAction(t, e);\n }, r.prototype.visitStarted = function (t) {\n return t.issueRequest(), t.changeHistory(), t.loadCachedSnapshot();\n }, r.prototype.visitRequestStarted = function (t) {\n return this.progressBar.setValue(0), t.hasCachedSnapshot() || \"restore\" !== t.action ? this.showProgressBarAfterDelay() : this.showProgressBar();\n }, r.prototype.visitRequestProgressed = function (t) {\n return this.progressBar.setValue(t.progress);\n }, r.prototype.visitRequestCompleted = function (t) {\n return t.loadResponse();\n }, r.prototype.visitRequestFailedWithStatusCode = function (t, e) {\n switch (e) {\n case n:\n case o:\n return this.reload();\n default:\n return t.loadResponse();\n }\n }, r.prototype.visitRequestFinished = function (t) {\n return this.hideProgressBar();\n }, r.prototype.visitCompleted = function (t) {\n return t.followRedirect();\n }, r.prototype.pageInvalidated = function () {\n return this.reload();\n }, r.prototype.showProgressBarAfterDelay = function () {\n return this.progressBarTimeout = setTimeout(this.showProgressBar, this.controller.progressBarDelay);\n }, r.prototype.showProgressBar = function () {\n return this.progressBar.show();\n }, r.prototype.hideProgressBar = function () {\n return this.progressBar.hide(), clearTimeout(this.progressBarTimeout);\n }, r.prototype.reload = function () {\n return window.location.reload();\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.History = function () {\n function r(e) {\n this.delegate = e, this.onPageLoad = t(this.onPageLoad, this), this.onPopState = t(this.onPopState, this);\n }\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"popstate\", this.onPopState, !1), addEventListener(\"load\", this.onPageLoad, !1), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"popstate\", this.onPopState, !1), removeEventListener(\"load\", this.onPageLoad, !1), this.started = !1) : void 0;\n }, r.prototype.push = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"push\", t, r);\n }, r.prototype.replace = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"replace\", t, r);\n }, r.prototype.onPopState = function (t) {\n var r, n, o, i;\n return this.shouldHandlePopState() && (i = null != (n = t.state) ? n.turbolinks : void 0) ? (r = e.Location.wrap(window.location), o = i.restorationIdentifier, this.delegate.historyPoppedToLocationWithRestorationIdentifier(r, o)) : void 0;\n }, r.prototype.onPageLoad = function (t) {\n return e.defer(function (t) {\n return function () {\n return t.pageLoaded = !0;\n };\n }(this));\n }, r.prototype.shouldHandlePopState = function () {\n return this.pageIsLoaded();\n }, r.prototype.pageIsLoaded = function () {\n return this.pageLoaded || \"complete\" === document.readyState;\n }, r.prototype.update = function (t, e, r) {\n var n;\n return n = {\n turbolinks: {\n restorationIdentifier: r\n }\n }, history[t + \"State\"](n, null, e);\n }, r;\n }();\n }.call(this), function () {\n e.HeadDetails = function () {\n function t(t) {\n var e, r, n, s, a, u;\n for (this.elements = {}, n = 0, a = t.length; a > n; n++) u = t[n], u.nodeType === Node.ELEMENT_NODE && (s = u.outerHTML, r = null != (e = this.elements)[s] ? e[s] : e[s] = {\n type: i(u),\n tracked: o(u),\n elements: []\n }, r.elements.push(u));\n }\n var e, r, n, o, i;\n return t.fromHeadElement = function (t) {\n var e;\n return new this(null != (e = null != t ? t.childNodes : void 0) ? e : []);\n }, t.prototype.hasElementWithKey = function (t) {\n return t in this.elements;\n }, t.prototype.getTrackedElementSignature = function () {\n var t, e;\n return function () {\n var r, n;\n r = this.elements, n = [];\n for (t in r) e = r[t].tracked, e && n.push(t);\n return n;\n }.call(this).join(\"\");\n }, t.prototype.getScriptElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"script\", t);\n }, t.prototype.getStylesheetElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"stylesheet\", t);\n }, t.prototype.getElementsMatchingTypeNotInDetails = function (t, e) {\n var r, n, o, i, s, a;\n o = this.elements, s = [];\n for (n in o) i = o[n], a = i.type, r = i.elements, a !== t || e.hasElementWithKey(n) || s.push(r[0]);\n return s;\n }, t.prototype.getProvisionalElements = function () {\n var t, e, r, n, o, i, s;\n r = [], n = this.elements;\n for (e in n) o = n[e], s = o.type, i = o.tracked, t = o.elements, null != s || i ? t.length > 1 && r.push.apply(r, t.slice(1)) : r.push.apply(r, t);\n return r;\n }, t.prototype.getMetaValue = function (t) {\n var e;\n return null != (e = this.findMetaElementByName(t)) ? e.getAttribute(\"content\") : void 0;\n }, t.prototype.findMetaElementByName = function (t) {\n var r, n, o, i;\n r = void 0, i = this.elements;\n for (o in i) n = i[o].elements, e(n[0], t) && (r = n[0]);\n return r;\n }, i = function (t) {\n return r(t) ? \"script\" : n(t) ? \"stylesheet\" : void 0;\n }, o = function (t) {\n return \"reload\" === t.getAttribute(\"data-turbolinks-track\");\n }, r = function (t) {\n var e;\n return e = t.tagName.toLowerCase(), \"script\" === e;\n }, n = function (t) {\n var e;\n return e = t.tagName.toLowerCase(), \"style\" === e || \"link\" === e && \"stylesheet\" === t.getAttribute(\"rel\");\n }, e = function (t, e) {\n var r;\n return r = t.tagName.toLowerCase(), \"meta\" === r && t.getAttribute(\"name\") === e;\n }, t;\n }();\n }.call(this), function () {\n e.Snapshot = function () {\n function t(t, e) {\n this.headDetails = t, this.bodyElement = e;\n }\n return t.wrap = function (t) {\n return t instanceof this ? t : \"string\" == typeof t ? this.fromHTMLString(t) : this.fromHTMLElement(t);\n }, t.fromHTMLString = function (t) {\n var e;\n return e = document.createElement(\"html\"), e.innerHTML = t, this.fromHTMLElement(e);\n }, t.fromHTMLElement = function (t) {\n var r, n, o, i;\n return o = t.querySelector(\"head\"), r = null != (i = t.querySelector(\"body\")) ? i : document.createElement(\"body\"), n = e.HeadDetails.fromHeadElement(o), new this(n, r);\n }, t.prototype.clone = function () {\n return new this.constructor(this.headDetails, this.bodyElement.cloneNode(!0));\n }, t.prototype.getRootLocation = function () {\n var t, r;\n return r = null != (t = this.getSetting(\"root\")) ? t : \"/\", new e.Location(r);\n }, t.prototype.getCacheControlValue = function () {\n return this.getSetting(\"cache-control\");\n }, t.prototype.getElementForAnchor = function (t) {\n try {\n return this.bodyElement.querySelector(\"[id='\" + t + \"'], a[name='\" + t + \"']\");\n } catch (e) {}\n }, t.prototype.getPermanentElements = function () {\n return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementById = function (t) {\n return this.bodyElement.querySelector(\"#\" + t + \"[data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementsPresentInSnapshot = function (t) {\n var e, r, n, o, i;\n for (o = this.getPermanentElements(), i = [], r = 0, n = o.length; n > r; r++) e = o[r], t.getPermanentElementById(e.id) && i.push(e);\n return i;\n }, t.prototype.findFirstAutofocusableElement = function () {\n return this.bodyElement.querySelector(\"[autofocus]\");\n }, t.prototype.hasAnchor = function (t) {\n return null != this.getElementForAnchor(t);\n }, t.prototype.isPreviewable = function () {\n return \"no-preview\" !== this.getCacheControlValue();\n }, t.prototype.isCacheable = function () {\n return \"no-cache\" !== this.getCacheControlValue();\n }, t.prototype.isVisitable = function () {\n return \"reload\" !== this.getSetting(\"visit-control\");\n }, t.prototype.getSetting = function (t) {\n return this.headDetails.getMetaValue(\"turbolinks-\" + t);\n }, t;\n }();\n }.call(this), function () {\n var t = [].slice;\n e.Renderer = function () {\n function e() {}\n var r;\n return e.render = function () {\n var e, r, n, o;\n return n = arguments[0], r = arguments[1], e = 3 <= arguments.length ? t.call(arguments, 2) : [], o = function (t, e, r) {\n r.prototype = t.prototype;\n var n = new r(),\n o = t.apply(n, e);\n return Object(o) === o ? o : n;\n }(this, e, function () {}), o.delegate = n, o.render(r), o;\n }, e.prototype.renderView = function (t) {\n return this.delegate.viewWillRender(this.newBody), t(), this.delegate.viewRendered(this.newBody);\n }, e.prototype.invalidateView = function () {\n return this.delegate.viewInvalidated();\n }, e.prototype.createScriptElement = function (t) {\n var e;\n return \"false\" === t.getAttribute(\"data-turbolinks-eval\") ? t : (e = document.createElement(\"script\"), e.textContent = t.textContent, e.async = !1, r(e, t), e);\n }, r = function (t, e) {\n var r, n, o, i, s, a, u;\n for (i = e.attributes, a = [], r = 0, n = i.length; n > r; r++) s = i[r], o = s.name, u = s.value, a.push(t.setAttribute(o, u));\n return a;\n }, e;\n }();\n }.call(this), function () {\n var t,\n r,\n n = function (t, e) {\n function r() {\n this.constructor = t;\n }\n for (var n in e) o.call(e, n) && (t[n] = e[n]);\n return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n e.SnapshotRenderer = function (e) {\n function o(t, e, r) {\n this.currentSnapshot = t, this.newSnapshot = e, this.isPreview = r, this.currentHeadDetails = this.currentSnapshot.headDetails, this.newHeadDetails = this.newSnapshot.headDetails, this.currentBody = this.currentSnapshot.bodyElement, this.newBody = this.newSnapshot.bodyElement;\n }\n return n(o, e), o.prototype.render = function (t) {\n return this.shouldRender() ? (this.mergeHead(), this.renderView(function (e) {\n return function () {\n return e.replaceBody(), e.isPreview || e.focusFirstAutofocusableElement(), t();\n };\n }(this))) : this.invalidateView();\n }, o.prototype.mergeHead = function () {\n return this.copyNewHeadStylesheetElements(), this.copyNewHeadScriptElements(), this.removeCurrentHeadProvisionalElements(), this.copyNewHeadProvisionalElements();\n }, o.prototype.replaceBody = function () {\n var t;\n return t = this.relocateCurrentBodyPermanentElements(), this.activateNewBodyScriptElements(), this.assignNewBody(), this.replacePlaceholderElementsWithClonedPermanentElements(t);\n }, o.prototype.shouldRender = function () {\n return this.newSnapshot.isVisitable() && this.trackedElementsAreIdentical();\n }, o.prototype.trackedElementsAreIdentical = function () {\n return this.currentHeadDetails.getTrackedElementSignature() === this.newHeadDetails.getTrackedElementSignature();\n }, o.prototype.copyNewHeadStylesheetElements = function () {\n var t, e, r, n, o;\n for (n = this.getNewHeadStylesheetElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(t));\n return o;\n }, o.prototype.copyNewHeadScriptElements = function () {\n var t, e, r, n, o;\n for (n = this.getNewHeadScriptElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(this.createScriptElement(t)));\n return o;\n }, o.prototype.removeCurrentHeadProvisionalElements = function () {\n var t, e, r, n, o;\n for (n = this.getCurrentHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.removeChild(t));\n return o;\n }, o.prototype.copyNewHeadProvisionalElements = function () {\n var t, e, r, n, o;\n for (n = this.getNewHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(t));\n return o;\n }, o.prototype.relocateCurrentBodyPermanentElements = function () {\n var e, n, o, i, s, a, u;\n for (a = this.getCurrentBodyPermanentElements(), u = [], e = 0, n = a.length; n > e; e++) i = a[e], s = t(i), o = this.newSnapshot.getPermanentElementById(i.id), r(i, s.element), r(o, i), u.push(s);\n return u;\n }, o.prototype.replacePlaceholderElementsWithClonedPermanentElements = function (t) {\n var e, n, o, i, s, a, u;\n for (u = [], o = 0, i = t.length; i > o; o++) a = t[o], n = a.element, s = a.permanentElement, e = s.cloneNode(!0), u.push(r(n, e));\n return u;\n }, o.prototype.activateNewBodyScriptElements = function () {\n var t, e, n, o, i, s;\n for (i = this.getNewBodyScriptElements(), s = [], e = 0, o = i.length; o > e; e++) n = i[e], t = this.createScriptElement(n), s.push(r(n, t));\n return s;\n }, o.prototype.assignNewBody = function () {\n return document.body = this.newBody;\n }, o.prototype.focusFirstAutofocusableElement = function () {\n var t;\n return null != (t = this.newSnapshot.findFirstAutofocusableElement()) ? t.focus() : void 0;\n }, o.prototype.getNewHeadStylesheetElements = function () {\n return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getNewHeadScriptElements = function () {\n return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getCurrentHeadProvisionalElements = function () {\n return this.currentHeadDetails.getProvisionalElements();\n }, o.prototype.getNewHeadProvisionalElements = function () {\n return this.newHeadDetails.getProvisionalElements();\n }, o.prototype.getCurrentBodyPermanentElements = function () {\n return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot);\n }, o.prototype.getNewBodyScriptElements = function () {\n return this.newBody.querySelectorAll(\"script\");\n }, o;\n }(e.Renderer), t = function (t) {\n var e;\n return e = document.createElement(\"meta\"), e.setAttribute(\"name\", \"turbolinks-permanent-placeholder\"), e.setAttribute(\"content\", t.id), {\n element: e,\n permanentElement: t\n };\n }, r = function (t, e) {\n var r;\n return (r = t.parentNode) ? r.replaceChild(e, t) : void 0;\n };\n }.call(this), function () {\n var t = function (t, e) {\n function n() {\n this.constructor = t;\n }\n for (var o in e) r.call(e, o) && (t[o] = e[o]);\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n e.ErrorRenderer = function (e) {\n function r(t) {\n var e;\n e = document.createElement(\"html\"), e.innerHTML = t, this.newHead = e.querySelector(\"head\"), this.newBody = e.querySelector(\"body\");\n }\n return t(r, e), r.prototype.render = function (t) {\n return this.renderView(function (e) {\n return function () {\n return e.replaceHeadAndBody(), e.activateBodyScriptElements(), t();\n };\n }(this));\n }, r.prototype.replaceHeadAndBody = function () {\n var t, e;\n return e = document.head, t = document.body, e.parentNode.replaceChild(this.newHead, e), t.parentNode.replaceChild(this.newBody, t);\n }, r.prototype.activateBodyScriptElements = function () {\n var t, e, r, n, o, i;\n for (n = this.getScriptElements(), i = [], e = 0, r = n.length; r > e; e++) o = n[e], t = this.createScriptElement(o), i.push(o.parentNode.replaceChild(t, o));\n return i;\n }, r.prototype.getScriptElements = function () {\n return document.documentElement.querySelectorAll(\"script\");\n }, r;\n }(e.Renderer);\n }.call(this), function () {\n e.View = function () {\n function t(t) {\n this.delegate = t, this.htmlElement = document.documentElement;\n }\n return t.prototype.getRootLocation = function () {\n return this.getSnapshot().getRootLocation();\n }, t.prototype.getElementForAnchor = function (t) {\n return this.getSnapshot().getElementForAnchor(t);\n }, t.prototype.getSnapshot = function () {\n return e.Snapshot.fromHTMLElement(this.htmlElement);\n }, t.prototype.render = function (t, e) {\n var r, n, o;\n return o = t.snapshot, r = t.error, n = t.isPreview, this.markAsPreview(n), null != o ? this.renderSnapshot(o, n, e) : this.renderError(r, e);\n }, t.prototype.markAsPreview = function (t) {\n return t ? this.htmlElement.setAttribute(\"data-turbolinks-preview\", \"\") : this.htmlElement.removeAttribute(\"data-turbolinks-preview\");\n }, t.prototype.renderSnapshot = function (t, r, n) {\n return e.SnapshotRenderer.render(this.delegate, n, this.getSnapshot(), e.Snapshot.wrap(t), r);\n }, t.prototype.renderError = function (t, r) {\n return e.ErrorRenderer.render(this.delegate, r, t);\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.ScrollManager = function () {\n function r(r) {\n this.delegate = r, this.onScroll = t(this.onScroll, this), this.onScroll = e.throttle(this.onScroll);\n }\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"scroll\", this.onScroll, !1), this.onScroll(), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"scroll\", this.onScroll, !1), this.started = !1) : void 0;\n }, r.prototype.scrollToElement = function (t) {\n return t.scrollIntoView();\n }, r.prototype.scrollToPosition = function (t) {\n var e, r;\n return e = t.x, r = t.y, window.scrollTo(e, r);\n }, r.prototype.onScroll = function (t) {\n return this.updatePosition({\n x: window.pageXOffset,\n y: window.pageYOffset\n });\n }, r.prototype.updatePosition = function (t) {\n var e;\n return this.position = t, null != (e = this.delegate) ? e.scrollPositionChanged(this.position) : void 0;\n }, r;\n }();\n }.call(this), function () {\n e.SnapshotCache = function () {\n function t(t) {\n this.size = t, this.keys = [], this.snapshots = {};\n }\n var r;\n return t.prototype.has = function (t) {\n var e;\n return e = r(t), e in this.snapshots;\n }, t.prototype.get = function (t) {\n var e;\n if (this.has(t)) return e = this.read(t), this.touch(t), e;\n }, t.prototype.put = function (t, e) {\n return this.write(t, e), this.touch(t), e;\n }, t.prototype.read = function (t) {\n var e;\n return e = r(t), this.snapshots[e];\n }, t.prototype.write = function (t, e) {\n var n;\n return n = r(t), this.snapshots[n] = e;\n }, t.prototype.touch = function (t) {\n var e, n;\n return n = r(t), e = this.keys.indexOf(n), e > -1 && this.keys.splice(e, 1), this.keys.unshift(n), this.trim();\n }, t.prototype.trim = function () {\n var t, e, r, n, o;\n for (n = this.keys.splice(this.size), o = [], t = 0, r = n.length; r > t; t++) e = n[t], o.push(delete this.snapshots[e]);\n return o;\n }, r = function (t) {\n return e.Location.wrap(t).toCacheKey();\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.Visit = function () {\n function r(r, n, o) {\n this.controller = r, this.action = o, this.performScroll = t(this.performScroll, this), this.identifier = e.uuid(), this.location = e.Location.wrap(n), this.adapter = this.controller.adapter, this.state = \"initialized\", this.timingMetrics = {};\n }\n var n;\n return r.prototype.start = function () {\n return \"initialized\" === this.state ? (this.recordTimingMetric(\"visitStart\"), this.state = \"started\", this.adapter.visitStarted(this)) : void 0;\n }, r.prototype.cancel = function () {\n var t;\n return \"started\" === this.state ? (null != (t = this.request) && t.cancel(), this.cancelRender(), this.state = \"canceled\") : void 0;\n }, r.prototype.complete = function () {\n var t;\n return \"started\" === this.state ? (this.recordTimingMetric(\"visitEnd\"), this.state = \"completed\", \"function\" == typeof (t = this.adapter).visitCompleted && t.visitCompleted(this), this.controller.visitCompleted(this)) : void 0;\n }, r.prototype.fail = function () {\n var t;\n return \"started\" === this.state ? (this.state = \"failed\", \"function\" == typeof (t = this.adapter).visitFailed ? t.visitFailed(this) : void 0) : void 0;\n }, r.prototype.changeHistory = function () {\n var t, e;\n return this.historyChanged ? void 0 : (t = this.location.isEqualTo(this.referrer) ? \"replace\" : this.action, e = n(t), this.controller[e](this.location, this.restorationIdentifier), this.historyChanged = !0);\n }, r.prototype.issueRequest = function () {\n return this.shouldIssueRequest() && null == this.request ? (this.progress = 0, this.request = new e.HttpRequest(this, this.location, this.referrer), this.request.send()) : void 0;\n }, r.prototype.getCachedSnapshot = function () {\n var t;\n return !(t = this.controller.getCachedSnapshotForLocation(this.location)) || null != this.location.anchor && !t.hasAnchor(this.location.anchor) || \"restore\" !== this.action && !t.isPreviewable() ? void 0 : t;\n }, r.prototype.hasCachedSnapshot = function () {\n return null != this.getCachedSnapshot();\n }, r.prototype.loadCachedSnapshot = function () {\n var t, e;\n return (e = this.getCachedSnapshot()) ? (t = this.shouldIssueRequest(), this.render(function () {\n var r;\n return this.cacheSnapshot(), this.controller.render({\n snapshot: e,\n isPreview: t\n }, this.performScroll), \"function\" == typeof (r = this.adapter).visitRendered && r.visitRendered(this), t ? void 0 : this.complete();\n })) : void 0;\n }, r.prototype.loadResponse = function () {\n return null != this.response ? this.render(function () {\n var t, e;\n return this.cacheSnapshot(), this.request.failed ? (this.controller.render({\n error: this.response\n }, this.performScroll), \"function\" == typeof (t = this.adapter).visitRendered && t.visitRendered(this), this.fail()) : (this.controller.render({\n snapshot: this.response\n }, this.performScroll), \"function\" == typeof (e = this.adapter).visitRendered && e.visitRendered(this), this.complete());\n }) : void 0;\n }, r.prototype.followRedirect = function () {\n return this.redirectedToLocation && !this.followedRedirect ? (this.location = this.redirectedToLocation, this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation, this.restorationIdentifier), this.followedRedirect = !0) : void 0;\n }, r.prototype.requestStarted = function () {\n var t;\n return this.recordTimingMetric(\"requestStart\"), \"function\" == typeof (t = this.adapter).visitRequestStarted ? t.visitRequestStarted(this) : void 0;\n }, r.prototype.requestProgressed = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.adapter).visitRequestProgressed ? e.visitRequestProgressed(this) : void 0;\n }, r.prototype.requestCompletedWithResponse = function (t, r) {\n return this.response = t, null != r && (this.redirectedToLocation = e.Location.wrap(r)), this.adapter.visitRequestCompleted(this);\n }, r.prototype.requestFailedWithStatusCode = function (t, e) {\n return this.response = e, this.adapter.visitRequestFailedWithStatusCode(this, t);\n }, r.prototype.requestFinished = function () {\n var t;\n return this.recordTimingMetric(\"requestEnd\"), \"function\" == typeof (t = this.adapter).visitRequestFinished ? t.visitRequestFinished(this) : void 0;\n }, r.prototype.performScroll = function () {\n return this.scrolled ? void 0 : (\"restore\" === this.action ? this.scrollToRestoredPosition() || this.scrollToTop() : this.scrollToAnchor() || this.scrollToTop(), this.scrolled = !0);\n }, r.prototype.scrollToRestoredPosition = function () {\n var t, e;\n return t = null != (e = this.restorationData) ? e.scrollPosition : void 0, null != t ? (this.controller.scrollToPosition(t), !0) : void 0;\n }, r.prototype.scrollToAnchor = function () {\n return null != this.location.anchor ? (this.controller.scrollToAnchor(this.location.anchor), !0) : void 0;\n }, r.prototype.scrollToTop = function () {\n return this.controller.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.recordTimingMetric = function (t) {\n var e;\n return null != (e = this.timingMetrics)[t] ? e[t] : e[t] = new Date().getTime();\n }, r.prototype.getTimingMetrics = function () {\n return e.copyObject(this.timingMetrics);\n }, n = function (t) {\n switch (t) {\n case \"replace\":\n return \"replaceHistoryWithLocationAndRestorationIdentifier\";\n case \"advance\":\n case \"restore\":\n return \"pushHistoryWithLocationAndRestorationIdentifier\";\n }\n }, r.prototype.shouldIssueRequest = function () {\n return \"restore\" === this.action ? !this.hasCachedSnapshot() : !0;\n }, r.prototype.cacheSnapshot = function () {\n return this.snapshotCached ? void 0 : (this.controller.cacheSnapshot(), this.snapshotCached = !0);\n }, r.prototype.render = function (t) {\n return this.cancelRender(), this.frame = requestAnimationFrame(function (e) {\n return function () {\n return e.frame = null, t.call(e);\n };\n }(this));\n }, r.prototype.cancelRender = function () {\n return this.frame ? cancelAnimationFrame(this.frame) : void 0;\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n e.Controller = function () {\n function r() {\n this.clickBubbled = t(this.clickBubbled, this), this.clickCaptured = t(this.clickCaptured, this), this.pageLoaded = t(this.pageLoaded, this), this.history = new e.History(this), this.view = new e.View(this), this.scrollManager = new e.ScrollManager(this), this.restorationData = {}, this.clearCache(), this.setProgressBarDelay(500);\n }\n return r.prototype.start = function () {\n return e.supported && !this.started ? (addEventListener(\"click\", this.clickCaptured, !0), addEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.start(), this.startHistory(), this.started = !0, this.enabled = !0) : void 0;\n }, r.prototype.disable = function () {\n return this.enabled = !1;\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"click\", this.clickCaptured, !0), removeEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.stop(), this.stopHistory(), this.started = !1) : void 0;\n }, r.prototype.clearCache = function () {\n return this.cache = new e.SnapshotCache(10);\n }, r.prototype.visit = function (t, r) {\n var n, o;\n return null == r && (r = {}), t = e.Location.wrap(t), this.applicationAllowsVisitingLocation(t) ? this.locationIsVisitable(t) ? (n = null != (o = r.action) ? o : \"advance\", this.adapter.visitProposedToLocationWithAction(t, n)) : window.location = t : void 0;\n }, r.prototype.startVisitToLocationWithAction = function (t, r, n) {\n var o;\n return e.supported ? (o = this.getRestorationDataForIdentifier(n), this.startVisit(t, r, {\n restorationData: o\n })) : window.location = t;\n }, r.prototype.setProgressBarDelay = function (t) {\n return this.progressBarDelay = t;\n }, r.prototype.startHistory = function () {\n return this.location = e.Location.wrap(window.location), this.restorationIdentifier = e.uuid(), this.history.start(), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.stopHistory = function () {\n return this.history.stop();\n }, r.prototype.pushHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.push(this.location, this.restorationIdentifier);\n }, r.prototype.replaceHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.historyPoppedToLocationWithRestorationIdentifier = function (t, r) {\n var n;\n return this.restorationIdentifier = r, this.enabled ? (n = this.getRestorationDataForIdentifier(this.restorationIdentifier), this.startVisit(t, \"restore\", {\n restorationIdentifier: this.restorationIdentifier,\n restorationData: n,\n historyChanged: !0\n }), this.location = e.Location.wrap(t)) : this.adapter.pageInvalidated();\n }, r.prototype.getCachedSnapshotForLocation = function (t) {\n var e;\n return null != (e = this.cache.get(t)) ? e.clone() : void 0;\n }, r.prototype.shouldCacheSnapshot = function () {\n return this.view.getSnapshot().isCacheable();\n }, r.prototype.cacheSnapshot = function () {\n var t, r;\n return this.shouldCacheSnapshot() ? (this.notifyApplicationBeforeCachingSnapshot(), r = this.view.getSnapshot(), t = this.lastRenderedLocation, e.defer(function (e) {\n return function () {\n return e.cache.put(t, r.clone());\n };\n }(this))) : void 0;\n }, r.prototype.scrollToAnchor = function (t) {\n var e;\n return (e = this.view.getElementForAnchor(t)) ? this.scrollToElement(e) : this.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.scrollToElement = function (t) {\n return this.scrollManager.scrollToElement(t);\n }, r.prototype.scrollToPosition = function (t) {\n return this.scrollManager.scrollToPosition(t);\n }, r.prototype.scrollPositionChanged = function (t) {\n var e;\n return e = this.getCurrentRestorationData(), e.scrollPosition = t;\n }, r.prototype.render = function (t, e) {\n return this.view.render(t, e);\n }, r.prototype.viewInvalidated = function () {\n return this.adapter.pageInvalidated();\n }, r.prototype.viewWillRender = function (t) {\n return this.notifyApplicationBeforeRender(t);\n }, r.prototype.viewRendered = function () {\n return this.lastRenderedLocation = this.currentVisit.location, this.notifyApplicationAfterRender();\n }, r.prototype.pageLoaded = function () {\n return this.lastRenderedLocation = this.location, this.notifyApplicationAfterPageLoad();\n }, r.prototype.clickCaptured = function () {\n return removeEventListener(\"click\", this.clickBubbled, !1), addEventListener(\"click\", this.clickBubbled, !1);\n }, r.prototype.clickBubbled = function (t) {\n var e, r, n;\n return this.enabled && this.clickEventIsSignificant(t) && (r = this.getVisitableLinkForNode(t.target)) && (n = this.getVisitableLocationForLink(r)) && this.applicationAllowsFollowingLinkToLocation(r, n) ? (t.preventDefault(), e = this.getActionForLink(r), this.visit(n, {\n action: e\n })) : void 0;\n }, r.prototype.applicationAllowsFollowingLinkToLocation = function (t, e) {\n var r;\n return r = this.notifyApplicationAfterClickingLinkToLocation(t, e), !r.defaultPrevented;\n }, r.prototype.applicationAllowsVisitingLocation = function (t) {\n var e;\n return e = this.notifyApplicationBeforeVisitingLocation(t), !e.defaultPrevented;\n }, r.prototype.notifyApplicationAfterClickingLinkToLocation = function (t, r) {\n return e.dispatch(\"turbolinks:click\", {\n target: t,\n data: {\n url: r.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationBeforeVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:before-visit\", {\n data: {\n url: t.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationAfterVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:visit\", {\n data: {\n url: t.absoluteURL\n }\n });\n }, r.prototype.notifyApplicationBeforeCachingSnapshot = function () {\n return e.dispatch(\"turbolinks:before-cache\");\n }, r.prototype.notifyApplicationBeforeRender = function (t) {\n return e.dispatch(\"turbolinks:before-render\", {\n data: {\n newBody: t\n }\n });\n }, r.prototype.notifyApplicationAfterRender = function () {\n return e.dispatch(\"turbolinks:render\");\n }, r.prototype.notifyApplicationAfterPageLoad = function (t) {\n return null == t && (t = {}), e.dispatch(\"turbolinks:load\", {\n data: {\n url: this.location.absoluteURL,\n timing: t\n }\n });\n }, r.prototype.startVisit = function (t, e, r) {\n var n;\n return null != (n = this.currentVisit) && n.cancel(), this.currentVisit = this.createVisit(t, e, r), this.currentVisit.start(), this.notifyApplicationAfterVisitingLocation(t);\n }, r.prototype.createVisit = function (t, r, n) {\n var o, i, s, a, u;\n return i = null != n ? n : {}, a = i.restorationIdentifier, s = i.restorationData, o = i.historyChanged, u = new e.Visit(this, t, r), u.restorationIdentifier = null != a ? a : e.uuid(), u.restorationData = e.copyObject(s), u.historyChanged = o, u.referrer = this.location, u;\n }, r.prototype.visitCompleted = function (t) {\n return this.notifyApplicationAfterPageLoad(t.getTimingMetrics());\n }, r.prototype.clickEventIsSignificant = function (t) {\n return !(t.defaultPrevented || t.target.isContentEditable || t.which > 1 || t.altKey || t.ctrlKey || t.metaKey || t.shiftKey);\n }, r.prototype.getVisitableLinkForNode = function (t) {\n return this.nodeIsVisitable(t) ? e.closest(t, \"a[href]:not([target]):not([download])\") : void 0;\n }, r.prototype.getVisitableLocationForLink = function (t) {\n var r;\n return r = new e.Location(t.getAttribute(\"href\")), this.locationIsVisitable(r) ? r : void 0;\n }, r.prototype.getActionForLink = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-turbolinks-action\")) ? e : \"advance\";\n }, r.prototype.nodeIsVisitable = function (t) {\n var r;\n return (r = e.closest(t, \"[data-turbolinks]\")) ? \"false\" !== r.getAttribute(\"data-turbolinks\") : !0;\n }, r.prototype.locationIsVisitable = function (t) {\n return t.isPrefixedBy(this.view.getRootLocation()) && t.isHTML();\n }, r.prototype.getCurrentRestorationData = function () {\n return this.getRestorationDataForIdentifier(this.restorationIdentifier);\n }, r.prototype.getRestorationDataForIdentifier = function (t) {\n var e;\n return null != (e = this.restorationData)[t] ? e[t] : e[t] = {};\n }, r;\n }();\n }.call(this), function () {\n !function () {\n var t, e;\n if ((t = e = document.currentScript) && !e.hasAttribute(\"data-turbolinks-suppress-warning\")) for (; t = t.parentNode;) if (t === document.body) return console.warn(\"You are loading Turbolinks from a