{"version":3,"sources":["webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/constants.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE39/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","webpack:///./node_modules/jsbarcode/bin/renderers/object.js","webpack:///./node_modules/jsbarcode/bin/help/optionsFromStrings.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","webpack:///./node_modules/vue2-editor/dist/vue2-editor.esm.js","webpack:///./src/components/Inputs/HtmlEditor.vue?e380","webpack:///src/components/Inputs/HtmlEditor.vue","webpack:///./src/components/Inputs/HtmlEditor.vue?f2f4","webpack:///./src/components/Inputs/HtmlEditor.vue","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.css?1311","webpack:///./node_modules/jsbarcode/bin/JsBarcode.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","webpack:///./node_modules/jsbarcode/bin/renderers/canvas.js","webpack:///./node_modules/jsbarcode/bin/renderers/index.js","webpack:///./node_modules/jsbarcode/bin/help/fixOptions.js","webpack:///./node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","webpack:///./src/views/products/details.vue?7ed8","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/quill/dist/quill.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/index.js","webpack:///./node_modules/jsbarcode/bin/help/linearizeEncodings.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","webpack:///./node_modules/jsbarcode/bin/help/getOptionsFromElement.js","webpack:///./node_modules/jsbarcode/bin/renderers/shared.js","webpack:///./node_modules/jsbarcode/bin/help/getRenderProperties.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","webpack:///./node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","webpack:///./node_modules/jsbarcode/bin/renderers/svg.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","webpack:///./node_modules/jsbarcode/bin/barcodes/codabar/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","webpack:///./src/views/products/details.vue?8d8b","webpack:///src/views/products/details.vue","webpack:///./src/views/products/details.vue?8faa","webpack:///./src/views/products/details.vue","webpack:///./node_modules/qrcode-js-package/qrcode.js","webpack:///./node_modules/jsbarcode/bin/options/defaults.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/index.js","webpack:///./node_modules/jsbarcode/bin/exceptions/exceptions.js","webpack:///./node_modules/vue-qrcode-component/src/QRCode.vue?bcb5","webpack:///node_modules/vue-qrcode-component/src/QRCode.vue","webpack:///./node_modules/vue-qrcode-component/src/QRCode.vue?8097","webpack:///./node_modules/vue-qrcode-component/src/QRCode.vue","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/Barcode.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","webpack:///./node_modules/vue-barcode/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","webpack:///./node_modules/jsbarcode/bin/help/merge.js","webpack:///./node_modules/jsbarcode/bin/barcodes/index.js"],"names":["Object","defineProperty","exports","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_ITF2","_ITF3","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","checksum","data","res","substr","split","map","num","parseInt","reduce","sum","n","idx","Math","ceil","ITF14","_ITF","options","this","search","getPrototypeOf","_Barcode2","_Barcode3","MSI","_Barcode","ret","digit","bin","toString","addZeroes","b","text","number","_get","get","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","parent","getter","_EAN2","_EAN3","a","EAN8","_EAN","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","UPCE","UPC","EAN2","EAN5","EAN13","_EAN4","_EAN5","_EAN6","_EAN7","_EAN8","_UPC","_UPC2","_UPCE","_UPCE2","START_BIN","END_BIN","BINARIES","CODE39","toUpperCase","mod43","getCharacter","mod43checksum","result","getEncoding","characters","encodings","character","getBinary","characterValue","_constants","ITF","apply","arguments","_this2","encoded","match","pair","encodePair","second","first","_MSI2","_MSI3","_checksums","MSI11","_MSI","mod11","MSI10","mod10","CODE128","_this","substring","bytes","char","test","startIndex","shift","startSet","SET_BY_CODE","RangeError","shouldEncodeAsEan128","unshift","FNC1","encodingResult","next","replace","getBar","MODULO","STOP","isEAN128","ean128","toLowerCase","index","BARS","set","SET_A","charCode","SET_B","pos","nextCode","nextSet","SWAP","SHIFT","correctIndex","enc","weight","ObjectRenderer","optionsFromStrings","intOptions","intOption","hasOwnProperty","encode","structure","separator","val","last","_encoder","_encoder2","EAN5_STRUCTURE","defaultToolbar","header","align","list","indent","color","background","oldApi","customModules","methods","registerCustomModules","Quill","forEach","customModule","register","alias","module","_typeof","Symbol","iterator","_defineProperties","_setPrototypeOf","_getPrototypeOf","o","p","_assertThisInitialized","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","isArray","_arr","_n","_d","_e","_s","_i","done","err","mergeDeep","source","isObject","keys","targetValue","sourceValue","concat","assign","BlockEmbed","import","HorizontalRule","_BlockEmbed","blotName","tagName","MarkdownShortcuts","quill","ignoreTags","matches","name","pattern","action","selection","exec","size","setTimeout","formatLine","deleteText","_text","_selection","lineStart","annotatedText","matchedText","insertText","bold","italic","format","strike","getSelection","insertEmbed","sources","USER","SILENT","setSelection","_pattern","hrefLink","slice","hrefText","on","delta","_oldContents","_source","ops","insert","onSpace","onEnter","_this$quill$getLine","getLine","_this$quill$getLine2","line","offset","domNode","textContent","isValid","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","console","log","return","_this$quill$getLine3","_this$quill$getLine4","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","script","mixins","id","type","String","placeholder","disabled","Boolean","editorToolbar","editorOptions","required","useCustomImageHandler","useMarkdownShortcuts","watch","root","innerHTML","hasFocus","status","enable","mounted","registerPrototypes","initializeEditor","beforeDestroy","setupQuillEditor","checkForCustomImageHandler","handleInitialContent","registerEditorEventListeners","$emit","editorConfig","debug","modules","setModules","theme","readOnly","prepareEditorConfig","$refs","quillContainer","toolbar","getHTML","container","querySelector","getWordCount","innerText","handleTextChange","handleSelectionChange","listenForEditorEvent","_len","args","_key","range","oldRange","oldContents","editorContent","handleImageRemoved","currrentContents","getContents","deletedContents","diff","operations","operation","image","setupCustomImageHandler","getModule","addHandler","customImageHandler","fileInput","click","emitImageInfo","$event","resetUploader","uploader","document","getElementById","file","files","Editor","cursorLocation","normalizeComponent","template","style","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","HEAD","normalizeComponent_1","isOldIE","navigator","userAgent","addStyle","styles","css","group","media","ids","Set","has","btoa","unescape","encodeURIComponent","JSON","stringify","element","createElement","setAttribute","head","getElementsByTagName","appendChild","styleSheet","cssText","filter","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","browser","__vue_script__","__vue_render__","_vm","_h","$createElement","_c","_self","staticClass","_t","_v","ref","attrs","staticStyle","__vue_staticRenderFns__","__vue_inject_styles__","inject","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","VueEditor","version","install","Vue","installed","component","VPlugin","GlobalVue","window","global","use","toolbarId","_m","editorId","_barcodes","_barcodes2","_merge","_merge2","_linearizeEncodings","_linearizeEncodings2","_fixOptions","_fixOptions2","_getRenderProperties","_getRenderProperties2","_optionsFromStrings","_optionsFromStrings2","_ErrorHandler","_ErrorHandler2","_exceptions","_defaults","_defaults2","API","JsBarcode","api","_renderProperties","_encodings","_options","_errorHandler","autoSelectBarcode","registerBarcode","barcodes","wrapBarcodeCall","newOptions","Encoder","encoder","valid","InvalidInputException","renderProperties","Renderer","renderer","afterRender","blank","zeroes","init","renderProperty","NoElementException","jQuery","fn","content","elementArray","each","floor","weights","_CODE2","_CODE3","_auto","_auto2","CODE128AUTO","_CODE","CODE128B","string","B_START_CHAR","RegExp","B_CHARS","_shared","CanvasRenderer","canvas","getContext","prepareCanvas","encodingOptions","drawCanvasBarcode","drawCanvasText","moveCanvasDrawing","restoreCanvas","ctx","save","calculateEncodingAttributes","totalWidth","getTotalWidthOfEncodings","maxHeight","getMaximumHeightOfEncodings","width","marginLeft","marginRight","height","clearRect","fillStyle","fillRect","translate","encoding","yFrom","binary","textPosition","marginTop","fontSize","textMargin","lineColor","x","barcodePadding","y","font","fontOptions","displayValue","textAlign","fillText","restore","_canvas","_canvas2","_svg","_svg2","_object","_object2","SVGRenderer","fixOptions","margin","marginBottom","pharmacode","z","isNaN","MSI1110","MSI1010","lastChar","EAN13_STRUCTURE","_MSI4","_MSI5","_MSI6","_MSI7","_MSI8","_MSI9","_MSI10","read","buffer","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","pow","write","c","rt","abs","LN2","factory","installedModules","__webpack_require__","moduleId","l","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","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","__","ParchmentError","_super","message","attributes","classes","tags","types","input","BlotClass","node","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","scope","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","TYPE","Definitions","Definition","attrName","keyName","className","tagNames","tag","equal","extend","op","NULL_CHARACTER","fromCharCode","Delta","newOp","retain","lastOp","splice","chop","pop","predicate","partition","passed","failed","initial","changeLength","elem","delete","iter","hasNext","nextOp","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","min","thisOp","otherOp","rest","strings","prep","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","transform","priority","transformPosition","nextType","hasOwn","toStr","gOPD","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","src","copy","copyIsArray","clone","deep","bubbleFormats","_extend","_extend2","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text2","NEWLINE_LENGTH","_Parchment$Embed","formats","values","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertAt","BLOCK_BLOT","_Parchment$Block","cache","descendants","leaf","lines","children","tail","remove","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","sliceIterator","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","error","html","trim","classList","__quill","addContainer","scrollingContainer","emitter","scroll","whitelist","editor","keyboard","addModule","clipboard","history","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","mutations","lastRange","modify","update","contents","convert","setContents","clear","disable","limit","level","imports","path","overwrite","warn","startsWith","refNode","setRange","_this3","_overload","_overload2","enabled","scrollTop","focus","scrollIntoView","_this4","change","formatText","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","left","right","getLength","_overload7","_overload8","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","embed","_this7","_this8","_overload11","_overload12","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","_overload15","_overload16","Range","_this11","userConfig","DEFAULTS","themeConfig","config","moduleNames","moduleConfig","moduleClass","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","emit","_map","_map2","_map3","max","_map4","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","addEventListener","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","event","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","levels","method","_console","namespace","ns","logger","bind","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","Date","getTime","objEquiv","isUndefinedOrNull","isBuffer","ka","kb","sort","attributeBit","ATTRIBUTE","item","canAdd","removeAttribute","Code","_block","_block2","_Inline","CodeBlock","_Block","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","lastIndexOf","prev","optimize","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","bullet","_toConsumableArray","arr2","from","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","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","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","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","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Promise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","resolve","reject","then","__isArray","__isRegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","entryChild","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","Link","url","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","select","buildPicker","display","label","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","buildItem","selected","buildLabel","buildOptions","close","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","attr","ClassAttributor","camelize","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","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","handlers","formula","edit","reader","FileReader","onload","readAsDataURL","video","_Tooltip","boundsContainer","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","defaultValue","LinkedList","append","cur","curNode","callback","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","prop","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","token","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","j","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","str","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","Events","EE","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matcher","matchVisual","addMatcher","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","offsetTop","fontStyle","fontWeight","textIndent","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","control","addSelect","clean","direction","link","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","_ITF4","linearizeEncodings","linearEncodings","nextLevel","EAN2_STRUCTURE","getOptionsFromElement","getBarcodePadding","getEncodingHeight","textWidth","barcodeWidth","barcodeOptions","messureText","measureTextResult","measureText","_getOptionsFromElement","_getOptionsFromElement2","_renderers","_renderers2","getRenderProperties","querySelectedRenderProperties","returnArray","HTMLCanvasElement","HTMLImageElement","newCanvasRenderProperties","nodeName","SVGElement","InvalidElementException","imgElement","toDataURL","base64","ieee754","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","arg","encodingOrOffset","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","checked","isEncoding","fromArrayLike","array","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","matchSetALength","A_CHARS","matchSetBLength","matchSetC","C_CHARS","autoSelectFromAB","isA","ranges","untilC","autoSelectFromC","chars","cMatch","newString","cLength","C_START_CHAR","A_START_CHAR","ErrorHandler","func","handleCatch","EAN","flat","guardHeight","encodeFlat","encodeGuarded","to","textOptions","guardOptions","SIDE_BIN","leftEncode","leftText","MIDDLE_BIN","rightEncode","rightText","svgns","svg","xmlDocument","currentX","prepareSVG","createGroup","setGroupOptions","drawSvgBarcode","drawSVGText","firstChild","setSvgAttributes","drawRect","barWidth","textElem","createElementNS","EXPANSIONS","PARITIES","middleDigits","upcA","expandToUPCA","flatEncoding","guardedEncoding","encodeMiddleDigits","numberSystem","checkDigit","parity","lastUpcE","expansion","digitIndex","codabar","getEncodings","$route","loading","language_terms","slot","product","isLocked","model","$$v","$set","expression","_l","storageclassification_id","storageclassification_name","product_categories","is_trade","is_bom","onChangeBomProperty","is_bom_configurable","apiProductLookup","bom","product_code","selectProduct","nativeOn","addBom","product_boms","bomTabelFields","scopedSlots","_u","price_adjustment","row","removeBom","addBomGroup","group_name","max_selection_count","handleCollaspeBomGroup","deleteBomGroup","performAddProductToGroup","boms","clickOnIsDefaultbox","removeBomItemFromGroup","is_sold","is_purchased","is_inventorized","language_name","handleCollaspe","customToolbar","isShowBtn","showFloatBtn","saveProduct","cancelProduct","params","deleteProduct","uom","addProductUom","product_uoms","multiplier","unit_price","is_default","deleteUOM","addProductCode","options_upc","options_code_128","deleteCode","dropzoneOptions","sendingImage","removeImage","file_extension","file_name","deleteMedia","proxy","ok","addBomItemToGroup","cancelAddBomModal","add_bom_product_modal","components","productLookup","Loading","Dropzone","HtmlEditor","computed","setDefault","confirmButtonText","cancelButtonText","updateBomFiledTerms","product_data","hasDefaultCount","isFoundInList","loadCategories","loadCurrencies","QRCode","QR8bitByte","QRMode","MODE_8BIT_BYTE","parsedData","QRCodeModel","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","put","addData","newData","isDark","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","minLostPoint","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","qr_mc","createEmptyMovieClip","cs","dark","beginFill","moveTo","lineTo","endFill","getPatternPosition","bits","getBCHTypeNumber","mod","getBCHTypeInfo","inc","bitIndex","byteIndex","mask","getMask","PAD0","PAD1","rsBlocks","QRRSBlock","getRSBlocks","QRBitBuffer","getLengthInBits","totalDataCount","dataCount","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","rawPoly","QRPolynomial","modPoly","modIndex","totalCodeCount","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRErrorCorrectLevel","L","M","Q","H","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","errorCorrectLength","multiply","QRMath","gexp","qrCode","sameCount","count","darkCount","ratio","glog","LOG_TABLE","EXP_TABLE","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","bufIndex","bit","QRCodeLimitLength","_isSupportCanvas","CanvasRenderingContext2D","_getAndroid","android","sAgent","aMat","svgDrawer","Drawing","el","htOption","_el","_htOption","draw","oQRCode","nCount","makeSVG","k","colorLight","setAttributeNS","colorDark","hasChildNodes","useSVG","documentElement","_onMakeImage","_elImage","_elCanvas","_android","factor","devicePixelRatio","drawImage","sx","sy","sw","sh","dx","dy","dw","dh","_safeSetDataURI","fSuccess","fFail","_fFail","_fSuccess","_bSupportDataURI","fOnError","fOnSuccess","onabort","onerror","_bIsPainted","_oContext","alt","nWidth","nHeight","nRoundedWidth","round","nRoundedHeight","bIsDark","nLeft","nTop","strokeStyle","lineWidth","strokeRect","makeImage","isPainted","nNumber","aHTML","elTable","nLeftMarginTable","nTopMarginTable","_getTypeNumber","sText","nCorrectLevel","nType","_getUTF8Length","nLimit","replacedText","encodeURI","vOption","correctLevel","_oQRCode","_oDrawing","makeCode","title","CorrectLevel","defaults","CODE128C","CODE128A","_CODE128_AUTO","_CODE128_AUTO2","_CODE128A","_CODE128A2","_CODE128B","_CODE128B2","_CODE128C","_CODE128C2","_Error","symbology","_Error2","_Error3","Barcode","_SET_BY_CODE","SET_C","START_A","START_B","START_C","101","100","99","VueBarcode","elementTag","$slots","validator","$watch","immediate","settings","removeUndefinedProps","$el","GenericBarcode","_extends","old","replaceObj","_EAN_UPC","_pharmacode","_codabar","_GenericBarcode"],"mappings":"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C,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKxD,EAAUC,YAAY,SAASp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","file":"js/chunk-162a4a4c.8e3a4b3c.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Calculate the checksum digit\nvar checksum = function checksum(data) {\n\tvar res = data.substr(0, 13).split('').map(function (num) {\n\t\treturn parseInt(num, 10);\n\t}).reduce(function (sum, n, idx) {\n\t\treturn sum + n * (3 - idx % 2 * 2);\n\t}, 0);\n\n\treturn Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n\t_inherits(ITF14, _ITF);\n\n\tfunction ITF14(data, options) {\n\t\t_classCallCheck(this, ITF14);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{13}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\t\treturn _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n\t}\n\n\t_createClass(ITF14, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n\t\t}\n\t}]);\n\n\treturn ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\nvar MSI = function (_Barcode) {\n\t_inherits(MSI, _Barcode);\n\n\tfunction MSI(data, options) {\n\t\t_classCallCheck(this, MSI);\n\n\t\treturn _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n\t}\n\n\t_createClass(MSI, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// Start bits\n\t\t\tvar ret = \"110\";\n\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\t// Convert the character to binary (always 4 binary digits)\n\t\t\t\tvar digit = parseInt(this.data[i]);\n\t\t\t\tvar bin = digit.toString(2);\n\t\t\t\tbin = addZeroes(bin, 4 - bin.length);\n\n\t\t\t\t// Add 100 for every zero and 110 for every 1\n\t\t\t\tfor (var b = 0; b < bin.length; b++) {\n\t\t\t\t\tret += bin[b] == \"0\" ? \"100\" : \"110\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// End bits\n\t\t\tret += \"1001\";\n\n\t\t\treturn {\n\t\t\t\tdata: ret,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n\tfor (var i = 0; i < n; i++) {\n\t\tnumber = \"0\" + number;\n\t}\n\treturn number;\n}\n\nexports.default = MSI;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n\n// Calculate the checksum digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 7).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a : sum + a * 3;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n\t_inherits(EAN8, _EAN);\n\n\tfunction EAN8(data, options) {\n\t\t_classCallCheck(this, EAN8);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{7}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n\t}\n\n\t_createClass(EAN8, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(0, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(4, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n\t\t}\n\t}]);\n\n\treturn EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\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\n\nfunction getLens (b64) {\n var len = b64.length\n\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\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\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}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\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(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\n\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.CODE39 = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Code_39#Encoding\n\nvar CODE39 = function (_Barcode) {\n\t_inherits(CODE39, _Barcode);\n\n\tfunction CODE39(data, options) {\n\t\t_classCallCheck(this, CODE39);\n\n\t\tdata = data.toUpperCase();\n\n\t\t// Calculate mod43 checksum if enabled\n\t\tif (options.mod43) {\n\t\t\tdata += getCharacter(mod43checksum(data));\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options));\n\t}\n\n\t_createClass(CODE39, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// First character is always a *\n\t\t\tvar result = getEncoding(\"*\");\n\n\t\t\t// Take every character and add the binary representation to the result\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult += getEncoding(this.data[i]) + \"0\";\n\t\t\t}\n\n\t\t\t// Last character is always a *\n\t\t\tresult += getEncoding(\"*\");\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9A-Z\\-\\.\\ \\$\\/\\+\\%]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn CODE39;\n}(_Barcode3.default);\n\n// All characters. The position in the array is the (checksum) value\n\n\nvar characters = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", \"*\"];\n\n// The decimal representation of the characters, is converted to the\n// corresponding binary with the getEncoding function\nvar encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770];\n\n// Get the binary representation of a character by converting the encodings\n// from decimal to binary\nfunction getEncoding(character) {\n\treturn getBinary(characterValue(character));\n}\n\nfunction getBinary(characterValue) {\n\treturn encodings[characterValue].toString(2);\n}\n\nfunction getCharacter(characterValue) {\n\treturn characters[characterValue];\n}\n\nfunction characterValue(character) {\n\treturn characters.indexOf(character);\n}\n\nfunction mod43checksum(data) {\n\tvar checksum = 0;\n\tfor (var i = 0; i < data.length; i++) {\n\t\tchecksum += characterValue(data[i]);\n\t}\n\n\tchecksum = checksum % 43;\n\treturn checksum;\n}\n\nexports.CODE39 = CODE39;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ITF = function (_Barcode) {\n\t_inherits(ITF, _Barcode);\n\n\tfunction ITF() {\n\t\t_classCallCheck(this, ITF);\n\n\t\treturn _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n\t}\n\n\t_createClass(ITF, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^([0-9]{2})+$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Calculate all the digit pairs\n\t\t\tvar encoded = this.data.match(/.{2}/g).map(function (pair) {\n\t\t\t\treturn _this2.encodePair(pair);\n\t\t\t}).join('');\n\n\t\t\treturn {\n\t\t\t\tdata: _constants.START_BIN + encoded + _constants.END_BIN,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Calculate the data of a number pair\n\n\t}, {\n\t\tkey: 'encodePair',\n\t\tvalue: function encodePair(pair) {\n\t\t\tvar second = _constants.BINARIES[pair[1]];\n\n\t\t\treturn _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n\t\t\t\treturn (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n\t\t\t}).join('');\n\t\t}\n\t}]);\n\n\treturn ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI11 = function (_MSI) {\n\t_inherits(MSI11, _MSI);\n\n\tfunction MSI11(data, options) {\n\t\t_classCallCheck(this, MSI11);\n\n\t\treturn _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n\t}\n\n\treturn MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI10 = function (_MSI) {\n\t_inherits(MSI10, _MSI);\n\n\tfunction MSI10(data, options) {\n\t\t_classCallCheck(this, MSI10);\n\n\t\treturn _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n\t}\n\n\treturn MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This is the master class,\n// it does require the start code to be included in the string\nvar CODE128 = function (_Barcode) {\n\t_inherits(CODE128, _Barcode);\n\n\tfunction CODE128(data, options) {\n\t\t_classCallCheck(this, CODE128);\n\n\t\t// Get array of ascii codes from data\n\t\tvar _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options));\n\n\t\t_this.bytes = data.split('').map(function (char) {\n\t\t\treturn char.charCodeAt(0);\n\t\t});\n\t\treturn _this;\n\t}\n\n\t_createClass(CODE128, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\t// ASCII value ranges 0-127, 200-211\n\t\t\treturn (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(this.data)\n\t\t\t);\n\t\t}\n\n\t\t// The public encoding function\n\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar bytes = this.bytes;\n\t\t\t// Remove the start code from the bytes and set its index\n\t\t\tvar startIndex = bytes.shift() - 105;\n\t\t\t// Get start set by index\n\t\t\tvar startSet = _constants.SET_BY_CODE[startIndex];\n\n\t\t\tif (startSet === undefined) {\n\t\t\t\tthrow new RangeError('The encoding does not start with a start character.');\n\t\t\t}\n\n\t\t\tif (this.shouldEncodeAsEan128() === true) {\n\t\t\t\tbytes.unshift(_constants.FNC1);\n\t\t\t}\n\n\t\t\t// Start encode with the right type\n\t\t\tvar encodingResult = CODE128.next(bytes, 1, startSet);\n\n\t\t\treturn {\n\t\t\t\ttext: this.text === this.data ? this.text.replace(/[^\\x20-\\x7E]/g, '') : this.text,\n\t\t\t\tdata:\n\t\t\t\t// Add the start bits\n\t\t\t\tCODE128.getBar(startIndex) +\n\t\t\t\t// Add the encoded bits\n\t\t\t\tencodingResult.result +\n\t\t\t\t// Add the checksum\n\t\t\t\tCODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) +\n\t\t\t\t// Add the end bits\n\t\t\t\tCODE128.getBar(_constants.STOP)\n\t\t\t};\n\t\t}\n\n\t\t// GS1-128/EAN-128\n\n\t}, {\n\t\tkey: 'shouldEncodeAsEan128',\n\t\tvalue: function shouldEncodeAsEan128() {\n\t\t\tvar isEAN128 = this.options.ean128 || false;\n\t\t\tif (typeof isEAN128 === 'string') {\n\t\t\t\tisEAN128 = isEAN128.toLowerCase() === 'true';\n\t\t\t}\n\t\t\treturn isEAN128;\n\t\t}\n\n\t\t// Get a bar symbol by index\n\n\t}], [{\n\t\tkey: 'getBar',\n\t\tvalue: function getBar(index) {\n\t\t\treturn _constants.BARS[index] ? _constants.BARS[index].toString() : '';\n\t\t}\n\n\t\t// Correct an index by a set and shift it from the bytes array\n\n\t}, {\n\t\tkey: 'correctIndex',\n\t\tvalue: function correctIndex(bytes, set) {\n\t\t\tif (set === _constants.SET_A) {\n\t\t\t\tvar charCode = bytes.shift();\n\t\t\t\treturn charCode < 32 ? charCode + 64 : charCode - 32;\n\t\t\t} else if (set === _constants.SET_B) {\n\t\t\t\treturn bytes.shift() - 32;\n\t\t\t} else {\n\t\t\t\treturn (bytes.shift() - 48) * 10 + bytes.shift() - 48;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'next',\n\t\tvalue: function next(bytes, pos, set) {\n\t\t\tif (!bytes.length) {\n\t\t\t\treturn { result: '', checksum: 0 };\n\t\t\t}\n\n\t\t\tvar nextCode = void 0,\n\t\t\t index = void 0;\n\n\t\t\t// Special characters\n\t\t\tif (bytes[0] >= 200) {\n\t\t\t\tindex = bytes.shift() - 105;\n\t\t\t\tvar nextSet = _constants.SWAP[index];\n\n\t\t\t\t// Swap to other set\n\t\t\t\tif (nextSet !== undefined) {\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, nextSet);\n\t\t\t\t}\n\t\t\t\t// Continue on current set but encode a special character\n\t\t\t\telse {\n\t\t\t\t\t\t// Shift\n\t\t\t\t\t\tif ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n\t\t\t\t\t\t\t// Convert the next character so that is encoded correctly\n\t\t\t\t\t\t\tbytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t// Continue encoding\n\t\t\telse {\n\t\t\t\t\tindex = CODE128.correctIndex(bytes, set);\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t}\n\n\t\t\t// Get the correct binary encoding and calculate the weight\n\t\t\tvar enc = CODE128.getBar(index);\n\t\t\tvar weight = index * pos;\n\n\t\t\treturn {\n\t\t\t\tresult: enc + nextCode.result,\n\t\t\t\tchecksum: weight + nextCode.checksum\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ObjectRenderer = function () {\n\tfunction ObjectRenderer(object, encodings, options) {\n\t\t_classCallCheck(this, ObjectRenderer);\n\n\t\tthis.object = object;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(ObjectRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tthis.object.encodings = this.encodings;\n\t\t}\n\t}]);\n\n\treturn ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = optionsFromStrings;\n\n// Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n\tvar intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n\tfor (var intOption in intOptions) {\n\t\tif (intOptions.hasOwnProperty(intOption)) {\n\t\t\tintOption = intOptions[intOption];\n\t\t\tif (typeof options[intOption] === \"string\") {\n\t\t\t\toptions[intOption] = parseInt(options[intOption], 10);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof options[\"displayValue\"] === \"string\") {\n\t\toptions[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n\t}\n\n\treturn options;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Encode data string\nvar encode = function encode(data, structure, separator) {\n\tvar encoded = data.split('').map(function (val, idx) {\n\t\treturn _constants.BINARIES[structure[idx]];\n\t}).map(function (val, idx) {\n\t\treturn val ? val[data[idx]] : '';\n\t});\n\n\tif (separator) {\n\t\tvar last = data.length - 1;\n\t\tencoded = encoded.map(function (val, idx) {\n\t\t\treturn idx < last ? val + separator : val;\n\t\t});\n\t}\n\n\treturn encoded.join('');\n};\n\nexports.default = encode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\nvar checksum = function checksum(data) {\n\tvar result = data.split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 9 : sum + a * 3;\n\t}, 0);\n\treturn result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n\t_inherits(EAN5, _Barcode);\n\n\tfunction EAN5(data, options) {\n\t\t_classCallCheck(this, EAN5);\n\n\t\treturn _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n\t}\n\n\t_createClass(EAN5, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{5}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\t\t\treturn {\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;","/*!\n * vue2-editor v2.10.3 \n * (c) 2021 David Royer\n * Released under the MIT License.\n */\nimport Quill from 'quill';\nexport { default as Quill } from 'quill';\n\nvar defaultToolbar = [[{\n header: [false, 1, 2, 3, 4, 5, 6]\n}], [\"bold\", \"italic\", \"underline\", \"strike\"], // toggled buttons\n[{\n align: \"\"\n}, {\n align: \"center\"\n}, {\n align: \"right\"\n}, {\n align: \"justify\"\n}], [\"blockquote\", \"code-block\"], [{\n list: \"ordered\"\n}, {\n list: \"bullet\"\n}, {\n list: \"check\"\n}], [{\n indent: \"-1\"\n}, {\n indent: \"+1\"\n}], // outdent/indent\n[{\n color: []\n}, {\n background: []\n}], // dropdown with defaults from theme\n[\"link\", \"image\", \"video\"], [\"clean\"] // remove formatting button\n];\n\nvar oldApi = {\n props: {\n customModules: Array\n },\n methods: {\n registerCustomModules: function registerCustomModules(Quill) {\n if (this.customModules !== undefined) {\n this.customModules.forEach(function (customModule) {\n Quill.register(\"modules/\" + customModule.alias, customModule.module);\n });\n }\n }\n }\n};\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/**\n * Performs a deep merge of `source` into `target`.\n * Mutates `target` only but not its objects and arrays.\n *\n */\nfunction mergeDeep(target, source) {\n var isObject = function isObject(obj) {\n return obj && _typeof(obj) === \"object\";\n };\n\n if (!isObject(target) || !isObject(source)) {\n return source;\n }\n\n Object.keys(source).forEach(function (key) {\n var targetValue = target[key];\n var sourceValue = source[key];\n\n if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {\n target[key] = targetValue.concat(sourceValue);\n } else if (isObject(targetValue) && isObject(sourceValue)) {\n target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue);\n } else {\n target[key] = sourceValue;\n }\n });\n return target;\n}\n\nvar BlockEmbed = Quill.import(\"blots/block/embed\");\n\nvar HorizontalRule =\n/*#__PURE__*/\nfunction (_BlockEmbed) {\n _inherits(HorizontalRule, _BlockEmbed);\n\n function HorizontalRule() {\n _classCallCheck(this, HorizontalRule);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalRule).apply(this, arguments));\n }\n\n return HorizontalRule;\n}(BlockEmbed);\n\nHorizontalRule.blotName = \"hr\";\nHorizontalRule.tagName = \"hr\";\nQuill.register(\"formats/horizontal\", HorizontalRule);\n\nvar MarkdownShortcuts =\n/*#__PURE__*/\nfunction () {\n function MarkdownShortcuts(quill, options) {\n var _this = this;\n\n _classCallCheck(this, MarkdownShortcuts);\n\n this.quill = quill;\n this.options = options;\n this.ignoreTags = [\"PRE\"];\n this.matches = [{\n name: \"header\",\n pattern: /^(#){1,6}\\s/g,\n action: function action(text, selection, pattern) {\n var match = pattern.exec(text);\n if (!match) return;\n var size = match[0].length; // Need to defer this action https://github.com/quilljs/quill/issues/1134\n\n setTimeout(function () {\n _this.quill.formatLine(selection.index, 0, \"header\", size - 1);\n\n _this.quill.deleteText(selection.index - size, size);\n }, 0);\n }\n }, {\n name: \"blockquote\",\n pattern: /^(>)\\s/g,\n action: function action(_text, selection) {\n // Need to defer this action https://github.com/quilljs/quill/issues/1134\n setTimeout(function () {\n _this.quill.formatLine(selection.index, 1, \"blockquote\", true);\n\n _this.quill.deleteText(selection.index - 2, 2);\n }, 0);\n }\n }, {\n name: \"code-block\",\n pattern: /^`{3}(?:\\s|\\n)/g,\n action: function action(_text, selection) {\n // Need to defer this action https://github.com/quilljs/quill/issues/1134\n setTimeout(function () {\n _this.quill.formatLine(selection.index, 1, \"code-block\", true);\n\n _this.quill.deleteText(selection.index - 4, 4);\n }, 0);\n }\n }, {\n name: \"bolditalic\",\n pattern: /(?:\\*|_){3}(.+?)(?:\\*|_){3}/g,\n action: function action(text, _selection, pattern, lineStart) {\n var match = pattern.exec(text);\n var annotatedText = match[0];\n var matchedText = match[1];\n var startIndex = lineStart + match.index;\n if (text.match(/^([*_ \\n]+)$/g)) return;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, annotatedText.length);\n\n _this.quill.insertText(startIndex, matchedText, {\n bold: true,\n italic: true\n });\n\n _this.quill.format(\"bold\", false);\n }, 0);\n }\n }, {\n name: \"bold\",\n pattern: /(?:\\*|_){2}(.+?)(?:\\*|_){2}/g,\n action: function action(text, _selection, pattern, lineStart) {\n var match = pattern.exec(text);\n var annotatedText = match[0];\n var matchedText = match[1];\n var startIndex = lineStart + match.index;\n if (text.match(/^([*_ \\n]+)$/g)) return;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, annotatedText.length);\n\n _this.quill.insertText(startIndex, matchedText, {\n bold: true\n });\n\n _this.quill.format(\"bold\", false);\n }, 0);\n }\n }, {\n name: \"italic\",\n pattern: /(?:\\*|_){1}(.+?)(?:\\*|_){1}/g,\n action: function action(text, _selection, pattern, lineStart) {\n var match = pattern.exec(text);\n var annotatedText = match[0];\n var matchedText = match[1];\n var startIndex = lineStart + match.index;\n if (text.match(/^([*_ \\n]+)$/g)) return;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, annotatedText.length);\n\n _this.quill.insertText(startIndex, matchedText, {\n italic: true\n });\n\n _this.quill.format(\"italic\", false);\n }, 0);\n }\n }, {\n name: \"strikethrough\",\n pattern: /(?:~~)(.+?)(?:~~)/g,\n action: function action(text, _selection, pattern, lineStart) {\n var match = pattern.exec(text);\n var annotatedText = match[0];\n var matchedText = match[1];\n var startIndex = lineStart + match.index;\n if (text.match(/^([*_ \\n]+)$/g)) return;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, annotatedText.length);\n\n _this.quill.insertText(startIndex, matchedText, {\n strike: true\n });\n\n _this.quill.format(\"strike\", false);\n }, 0);\n }\n }, {\n name: \"code\",\n pattern: /(?:`)(.+?)(?:`)/g,\n action: function action(text, _selection, pattern, lineStart) {\n var match = pattern.exec(text);\n var annotatedText = match[0];\n var matchedText = match[1];\n var startIndex = lineStart + match.index;\n if (text.match(/^([*_ \\n]+)$/g)) return;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, annotatedText.length);\n\n _this.quill.insertText(startIndex, matchedText, {\n code: true\n });\n\n _this.quill.format(\"code\", false);\n\n _this.quill.insertText(_this.quill.getSelection(), \" \");\n }, 0);\n }\n }, {\n name: \"hr\",\n pattern: /^([-*]\\s?){3}/g,\n action: function action(text, selection) {\n var startIndex = selection.index - text.length;\n setTimeout(function () {\n _this.quill.deleteText(startIndex, text.length);\n\n _this.quill.insertEmbed(startIndex + 1, \"hr\", true, Quill.sources.USER);\n\n _this.quill.insertText(startIndex + 2, \"\\n\", Quill.sources.SILENT);\n\n _this.quill.setSelection(startIndex + 2, Quill.sources.SILENT);\n }, 0);\n }\n }, {\n name: \"asterisk-ul\",\n pattern: /^(\\*|\\+)\\s$/g,\n // eslint-disable-next-line no-unused-vars\n action: function action(_text, selection, _pattern) {\n setTimeout(function () {\n _this.quill.formatLine(selection.index, 1, \"list\", \"unordered\");\n\n _this.quill.deleteText(selection.index - 2, 2);\n }, 0);\n }\n }, {\n name: \"image\",\n pattern: /(?:!\\[(.+?)\\])(?:\\((.+?)\\))/g,\n action: function action(text, selection, pattern) {\n var startIndex = text.search(pattern);\n var matchedText = text.match(pattern)[0]; // const hrefText = text.match(/(?:!\\[(.*?)\\])/g)[0]\n\n var hrefLink = text.match(/(?:\\((.*?)\\))/g)[0];\n var start = selection.index - matchedText.length - 1;\n\n if (startIndex !== -1) {\n setTimeout(function () {\n _this.quill.deleteText(start, matchedText.length);\n\n _this.quill.insertEmbed(start, \"image\", hrefLink.slice(1, hrefLink.length - 1));\n }, 0);\n }\n }\n }, {\n name: \"link\",\n pattern: /(?:\\[(.+?)\\])(?:\\((.+?)\\))/g,\n action: function action(text, selection, pattern) {\n var startIndex = text.search(pattern);\n var matchedText = text.match(pattern)[0];\n var hrefText = text.match(/(?:\\[(.*?)\\])/g)[0];\n var hrefLink = text.match(/(?:\\((.*?)\\))/g)[0];\n var start = selection.index - matchedText.length - 1;\n\n if (startIndex !== -1) {\n setTimeout(function () {\n _this.quill.deleteText(start, matchedText.length);\n\n _this.quill.insertText(start, hrefText.slice(1, hrefText.length - 1), \"link\", hrefLink.slice(1, hrefLink.length - 1));\n }, 0);\n }\n }\n }]; // Handler that looks for insert deltas that match specific characters\n // eslint-disable-next-line no-unused-vars\n\n this.quill.on(\"text-change\", function (delta, _oldContents, _source) {\n for (var i = 0; i < delta.ops.length; i++) {\n if (delta.ops[i].hasOwnProperty(\"insert\")) {\n if (delta.ops[i].insert === \" \") {\n _this.onSpace();\n } else if (delta.ops[i].insert === \"\\n\") {\n _this.onEnter();\n }\n }\n }\n });\n }\n\n _createClass(MarkdownShortcuts, [{\n key: \"isValid\",\n value: function isValid(text, tagName) {\n return typeof text !== \"undefined\" && text && this.ignoreTags.indexOf(tagName) === -1;\n }\n }, {\n key: \"onSpace\",\n value: function onSpace() {\n var selection = this.quill.getSelection();\n if (!selection) return;\n\n var _this$quill$getLine = this.quill.getLine(selection.index),\n _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2),\n line = _this$quill$getLine2[0],\n offset = _this$quill$getLine2[1];\n\n var text = line.domNode.textContent;\n var lineStart = selection.index - offset;\n\n if (this.isValid(text, line.domNode.tagName)) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var match = _step.value;\n var matchedText = text.match(match.pattern);\n\n if (matchedText) {\n // We need to replace only matched text not the whole line\n console.log(\"matched:\", match.name, text);\n match.action(text, selection, match.pattern, lineStart);\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n }, {\n key: \"onEnter\",\n value: function onEnter() {\n var selection = this.quill.getSelection();\n if (!selection) return;\n\n var _this$quill$getLine3 = this.quill.getLine(selection.index),\n _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 2),\n line = _this$quill$getLine4[0],\n offset = _this$quill$getLine4[1];\n\n var text = line.domNode.textContent + \" \";\n var lineStart = selection.index - offset;\n selection.length = selection.index++;\n\n if (this.isValid(text, line.domNode.tagName)) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.matches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var match = _step2.value;\n var matchedText = text.match(match.pattern);\n\n if (matchedText) {\n console.log(\"matched\", match.name, text);\n match.action(text, selection, match.pattern, lineStart);\n return;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n }\n }]);\n\n return MarkdownShortcuts;\n}(); // module.exports = MarkdownShortcuts;\n\n//\nvar script = {\n name: \"VueEditor\",\n mixins: [oldApi],\n props: {\n id: {\n type: String,\n default: \"quill-container\"\n },\n placeholder: {\n type: String,\n default: \"\"\n },\n value: {\n type: String,\n default: \"\"\n },\n disabled: {\n type: Boolean\n },\n editorToolbar: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n editorOptions: {\n type: Object,\n required: false,\n default: function _default() {\n return {};\n }\n },\n useCustomImageHandler: {\n type: Boolean,\n default: false\n },\n useMarkdownShortcuts: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n quill: null\n };\n },\n watch: {\n value: function value(val) {\n if (val != this.quill.root.innerHTML && !this.quill.hasFocus()) {\n this.quill.root.innerHTML = val;\n }\n },\n disabled: function disabled(status) {\n this.quill.enable(!status);\n }\n },\n mounted: function mounted() {\n this.registerCustomModules(Quill);\n this.registerPrototypes();\n this.initializeEditor();\n },\n beforeDestroy: function beforeDestroy() {\n this.quill = null;\n delete this.quill;\n },\n methods: {\n initializeEditor: function initializeEditor() {\n this.setupQuillEditor();\n this.checkForCustomImageHandler();\n this.handleInitialContent();\n this.registerEditorEventListeners();\n this.$emit(\"ready\", this.quill);\n },\n setupQuillEditor: function setupQuillEditor() {\n var editorConfig = {\n debug: false,\n modules: this.setModules(),\n theme: \"snow\",\n placeholder: this.placeholder ? this.placeholder : \"\",\n readOnly: this.disabled ? this.disabled : false\n };\n this.prepareEditorConfig(editorConfig);\n this.quill = new Quill(this.$refs.quillContainer, editorConfig);\n },\n setModules: function setModules() {\n var modules = {\n toolbar: this.editorToolbar.length ? this.editorToolbar : defaultToolbar\n };\n\n if (this.useMarkdownShortcuts) {\n Quill.register(\"modules/markdownShortcuts\", MarkdownShortcuts, true);\n modules[\"markdownShortcuts\"] = {};\n }\n\n return modules;\n },\n prepareEditorConfig: function prepareEditorConfig(editorConfig) {\n if (Object.keys(this.editorOptions).length > 0 && this.editorOptions.constructor === Object) {\n if (this.editorOptions.modules && typeof this.editorOptions.modules.toolbar !== \"undefined\") {\n // We don't want to merge default toolbar with provided toolbar.\n delete editorConfig.modules.toolbar;\n }\n\n mergeDeep(editorConfig, this.editorOptions);\n }\n },\n registerPrototypes: function registerPrototypes() {\n Quill.prototype.getHTML = function () {\n return this.container.querySelector(\".ql-editor\").innerHTML;\n };\n\n Quill.prototype.getWordCount = function () {\n return this.container.querySelector(\".ql-editor\").innerText.length;\n };\n },\n registerEditorEventListeners: function registerEditorEventListeners() {\n this.quill.on(\"text-change\", this.handleTextChange);\n this.quill.on(\"selection-change\", this.handleSelectionChange);\n this.listenForEditorEvent(\"text-change\");\n this.listenForEditorEvent(\"selection-change\");\n this.listenForEditorEvent(\"editor-change\");\n },\n listenForEditorEvent: function listenForEditorEvent(type) {\n var _this = this;\n\n this.quill.on(type, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this.$emit.apply(_this, [type].concat(args));\n });\n },\n handleInitialContent: function handleInitialContent() {\n if (this.value) this.quill.root.innerHTML = this.value; // Set initial editor content\n },\n handleSelectionChange: function handleSelectionChange(range, oldRange) {\n if (!range && oldRange) this.$emit(\"blur\", this.quill);else if (range && !oldRange) this.$emit(\"focus\", this.quill);\n },\n handleTextChange: function handleTextChange(delta, oldContents) {\n var editorContent = this.quill.getHTML() === \"


\" ? \"\" : this.quill.getHTML();\n this.$emit(\"input\", editorContent);\n if (this.useCustomImageHandler) this.handleImageRemoved(delta, oldContents);\n },\n handleImageRemoved: function handleImageRemoved(delta, oldContents) {\n var _this2 = this;\n\n var currrentContents = this.quill.getContents();\n var deletedContents = currrentContents.diff(oldContents);\n var operations = deletedContents.ops;\n operations.map(function (operation) {\n if (operation.insert && operation.insert.hasOwnProperty(\"image\")) {\n var image = operation.insert.image;\n\n _this2.$emit(\"image-removed\", image);\n }\n });\n },\n checkForCustomImageHandler: function checkForCustomImageHandler() {\n this.useCustomImageHandler === true ? this.setupCustomImageHandler() : \"\";\n },\n setupCustomImageHandler: function setupCustomImageHandler() {\n var toolbar = this.quill.getModule(\"toolbar\");\n toolbar.addHandler(\"image\", this.customImageHandler);\n },\n customImageHandler: function customImageHandler() {\n this.$refs.fileInput.click();\n },\n emitImageInfo: function emitImageInfo($event) {\n var resetUploader = function resetUploader() {\n var uploader = document.getElementById(\"file-upload\");\n uploader.value = \"\";\n };\n\n var file = $event.target.files[0];\n var Editor = this.quill;\n var range = Editor.getSelection();\n var cursorLocation = range.index;\n this.$emit(\"image-added\", file, Editor, cursorLocation, resetUploader);\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function () {\n style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\nfunction createInjector(context) {\n return function (id, style) {\n return addStyle(id, style);\n };\n}\n\nvar HEAD;\nvar styles = {};\n\nfunction addStyle(id, css) {\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: new Set(),\n styles: []\n });\n\n if (!style.ids.has(id)) {\n style.ids.add(id);\n var code = css.source;\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (!style.element) {\n style.element = document.createElement('style');\n style.element.type = 'text/css';\n if (css.media) style.element.setAttribute('media', css.media);\n\n if (HEAD === undefined) {\n HEAD = document.head || document.getElementsByTagName('head')[0];\n }\n\n HEAD.appendChild(style.element);\n }\n\n if ('styleSheet' in style.element) {\n style.styles.push(code);\n style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\\n');\n } else {\n var index = style.ids.size - 1;\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n}\n\nvar browser = createInjector;\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"quillWrapper\"},[_vm._t(\"toolbar\"),_vm._v(\" \"),_c('div',{ref:\"quillContainer\",attrs:{\"id\":_vm.id}}),_vm._v(\" \"),(_vm.useCustomImageHandler)?_c('input',{ref:\"fileInput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"file-upload\",\"type\":\"file\",\"accept\":\"image/*\"},on:{\"change\":function($event){return _vm.emitImageInfo($event)}}}):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = function (inject) {\n if (!inject) return\n inject(\"data-v-776e788e_0\", { source: \"/*!\\n * Quill Editor v1.3.6\\n * https://quilljs.com/\\n * Copyright (c) 2014, Jason Chen\\n * Copyright (c) 2013, salesforce.com\\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li::before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li::before{content:'\\\\2022'}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li::before,.ql-editor ul[data-checked=true]>li::before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li::before{content:'\\\\2611'}.ql-editor ul[data-checked=false]>li::before{content:'\\\\2610'}.ql-editor li::before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl)::before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl::before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) '. '}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) '. '}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) '. '}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) '. '}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) '. '}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) '. '}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) '. '}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) '. '}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) '. '}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"1\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"1\\\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"2\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"2\\\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"3\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"3\\\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"4\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"4\\\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"5\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"5\\\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"6\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"6\\\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"1\\\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"2\\\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"3\\\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"4\\\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"5\\\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"6\\\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\\\"Visit URL:\\\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\\\"Enter link:\\\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\\\"Enter formula:\\\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\\\"Enter video:\\\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}\", map: undefined, media: undefined })\n,inject(\"data-v-776e788e_1\", { source: \".ql-editor{min-height:200px;font-size:16px}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1px!important}.quillWrapper .ql-snow.ql-toolbar{padding-top:8px;padding-bottom:4px}.quillWrapper .ql-snow.ql-toolbar .ql-formats{margin-bottom:10px}.ql-snow .ql-toolbar button svg,.quillWrapper .ql-snow.ql-toolbar button svg{width:22px;height:22px}.quillWrapper .ql-editor ul[data-checked=false]>li::before,.quillWrapper .ql-editor ul[data-checked=true]>li::before{font-size:1.35em;vertical-align:baseline;bottom:-.065em;font-weight:900;color:#222}.quillWrapper .ql-snow .ql-stroke{stroke:rgba(63,63,63,.95);stroke-linecap:square;stroke-linejoin:initial;stroke-width:1.7px}.quillWrapper .ql-picker-label{font-size:15px}.quillWrapper .ql-snow .ql-active .ql-stroke{stroke-width:2.25px}.quillWrapper .ql-toolbar.ql-snow .ql-formats{vertical-align:top}.ql-picker:not(.ql-background){position:relative;top:2px}.ql-picker.ql-color-picker svg{width:22px!important;height:22px!important}.quillWrapper .imageResizeActive img{display:block;cursor:pointer}.quillWrapper .imageResizeActive~div svg{cursor:pointer}\", map: undefined, media: undefined });\n\n };\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n\n \n var VueEditor = normalizeComponent_1(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n browser,\n undefined\n );\n\nvar version = \"2.10.3\"; // Declare install function executed by Vue.use()\n\nfunction install(Vue) {\n if (install.installed) return;\n install.installed = true;\n Vue.component(\"VueEditor\", VueEditor);\n}\nvar VPlugin = {\n install: install,\n version: version,\n Quill: Quill,\n VueEditor: VueEditor\n}; // Auto-install when vue is found (eg. in browser via \n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HtmlEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HtmlEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HtmlEditor.vue?vue&type=template&id=cac68b64&\"\nimport script from \"./HtmlEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./HtmlEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/index.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!./vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"","'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The protype of the object returned from the JsBarcode() call\n\n\n// Help functions\nvar API = function API() {};\n\n// The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n\n\n// Default values\n\n\n// Exceptions\n// Import all the barcodes\nvar JsBarcode = function JsBarcode(element, text, options) {\n\tvar api = new API();\n\n\tif (typeof element === \"undefined\") {\n\t\tthrow Error(\"No element to render on was provided.\");\n\t}\n\n\t// Variables that will be pased through the API calls\n\tapi._renderProperties = (0, _getRenderProperties2.default)(element);\n\tapi._encodings = [];\n\tapi._options = _defaults2.default;\n\tapi._errorHandler = new _ErrorHandler2.default(api);\n\n\t// If text is set, use the simple syntax (render the barcode directly)\n\tif (typeof text !== \"undefined\") {\n\t\toptions = options || {};\n\n\t\tif (!options.format) {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tapi.options(options)[options.format](text, options).render();\n\t}\n\n\treturn api;\n};\n\n// To make tests work TODO: remove\nJsBarcode.getModule = function (name) {\n\treturn _barcodes2.default[name];\n};\n\n// Register all barcodes\nfor (var name in _barcodes2.default) {\n\tif (_barcodes2.default.hasOwnProperty(name)) {\n\t\t// Security check if the propery is a prototype property\n\t\tregisterBarcode(_barcodes2.default, name);\n\t}\n}\nfunction registerBarcode(barcodes, name) {\n\tAPI.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n\t\tvar api = this;\n\t\treturn api._errorHandler.wrapBarcodeCall(function () {\n\t\t\t// Ensure text is options.text\n\t\t\toptions.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n\n\t\t\tvar newOptions = (0, _merge2.default)(api._options, options);\n\t\t\tnewOptions = (0, _optionsFromStrings2.default)(newOptions);\n\t\t\tvar Encoder = barcodes[name];\n\t\t\tvar encoded = encode(text, Encoder, newOptions);\n\t\t\tapi._encodings.push(encoded);\n\n\t\t\treturn api;\n\t\t});\n\t};\n}\n\n// encode() handles the Encoder call and builds the binary string to be rendered\nfunction encode(text, Encoder, options) {\n\t// Ensure that text is a string\n\ttext = \"\" + text;\n\n\tvar encoder = new Encoder(text, options);\n\n\t// If the input is not valid for the encoder, throw error.\n\t// If the valid callback option is set, call it instead of throwing error\n\tif (!encoder.valid()) {\n\t\tthrow new _exceptions.InvalidInputException(encoder.constructor.name, text);\n\t}\n\n\t// Make a request for the binary data (and other infromation) that should be rendered\n\tvar encoded = encoder.encode();\n\n\t// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n\t// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\tencoded = (0, _linearizeEncodings2.default)(encoded);\n\n\t// Merge\n\tfor (var i = 0; i < encoded.length; i++) {\n\t\tencoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n\t}\n\n\treturn encoded;\n}\n\nfunction autoSelectBarcode() {\n\t// If CODE128 exists. Use it\n\tif (_barcodes2.default[\"CODE128\"]) {\n\t\treturn \"CODE128\";\n\t}\n\n\t// Else, take the first (probably only) barcode\n\treturn Object.keys(_barcodes2.default)[0];\n}\n\n// Sets global encoder options\n// Added to the api by the JsBarcode function\nAPI.prototype.options = function (options) {\n\tthis._options = (0, _merge2.default)(this._options, options);\n\treturn this;\n};\n\n// Will create a blank space (usually in between barcodes)\nAPI.prototype.blank = function (size) {\n\tvar zeroes = new Array(size + 1).join(\"0\");\n\tthis._encodings.push({ data: zeroes });\n\treturn this;\n};\n\n// Initialize JsBarcode on all HTML elements defined.\nAPI.prototype.init = function () {\n\t// Should do nothing if no elements where found\n\tif (!this._renderProperties) {\n\t\treturn;\n\t}\n\n\t// Make sure renderProperies is an array\n\tif (!Array.isArray(this._renderProperties)) {\n\t\tthis._renderProperties = [this._renderProperties];\n\t}\n\n\tvar renderProperty;\n\tfor (var i in this._renderProperties) {\n\t\trenderProperty = this._renderProperties[i];\n\t\tvar options = (0, _merge2.default)(this._options, renderProperty.options);\n\n\t\tif (options.format == \"auto\") {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tthis._errorHandler.wrapBarcodeCall(function () {\n\t\t\tvar text = options.value;\n\t\t\tvar Encoder = _barcodes2.default[options.format.toUpperCase()];\n\t\t\tvar encoded = encode(text, Encoder, options);\n\n\t\t\trender(renderProperty, encoded, options);\n\t\t});\n\t}\n};\n\n// The render API call. Calls the real render function.\nAPI.prototype.render = function () {\n\tif (!this._renderProperties) {\n\t\tthrow new _exceptions.NoElementException();\n\t}\n\n\tif (Array.isArray(this._renderProperties)) {\n\t\tfor (var i = 0; i < this._renderProperties.length; i++) {\n\t\t\trender(this._renderProperties[i], this._encodings, this._options);\n\t\t}\n\t} else {\n\t\trender(this._renderProperties, this._encodings, this._options);\n\t}\n\n\treturn this;\n};\n\nAPI.prototype._defaults = _defaults2.default;\n\n// Prepares the encodings and calls the renderer\nfunction render(renderProperties, encodings, options) {\n\tencodings = (0, _linearizeEncodings2.default)(encodings);\n\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tencodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n\t\t(0, _fixOptions2.default)(encodings[i].options);\n\t}\n\n\t(0, _fixOptions2.default)(options);\n\n\tvar Renderer = renderProperties.renderer;\n\tvar renderer = new Renderer(renderProperties.element, encodings, options);\n\trenderer.render();\n\n\tif (renderProperties.afterRender) {\n\t\trenderProperties.afterRender();\n\t}\n}\n\n// Export to browser\nif (typeof window !== \"undefined\") {\n\twindow.JsBarcode = JsBarcode;\n}\n\n// Export to jQuery\n/*global jQuery */\nif (typeof jQuery !== 'undefined') {\n\tjQuery.fn.JsBarcode = function (content, options) {\n\t\tvar elementArray = [];\n\t\tjQuery(this).each(function () {\n\t\t\telementArray.push(this);\n\t\t});\n\t\treturn JsBarcode(elementArray, content, options);\n\t};\n}\n\n// Export to commonJS\nmodule.exports = JsBarcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\nfunction mod10(number) {\n\tvar sum = 0;\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[i]);\n\t\tif ((i + number.length) % 2 === 0) {\n\t\t\tsum += n;\n\t\t} else {\n\t\t\tsum += n * 2 % 10 + Math.floor(n * 2 / 10);\n\t\t}\n\t}\n\treturn (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n\tvar sum = 0;\n\tvar weights = [2, 3, 4, 5, 6, 7];\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[number.length - 1 - i]);\n\t\tsum += weights[i % weights.length] * n;\n\t}\n\treturn (11 - sum % 11) % 11;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128AUTO = function (_CODE) {\n\t_inherits(CODE128AUTO, _CODE);\n\n\tfunction CODE128AUTO(data, options) {\n\t\t_classCallCheck(this, CODE128AUTO);\n\n\t\t// ASCII value ranges 0-127, 200-211\n\t\tif (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n\t\t} else {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n\t\t}\n\t\treturn _possibleConstructorReturn(_this);\n\t}\n\n\treturn CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128B = function (_CODE) {\n\t_inherits(CODE128B, _CODE);\n\n\tfunction CODE128B(string, options) {\n\t\t_classCallCheck(this, CODE128B);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128B, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CanvasRenderer = function () {\n\tfunction CanvasRenderer(canvas, encodings, options) {\n\t\t_classCallCheck(this, CanvasRenderer);\n\n\t\tthis.canvas = canvas;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(CanvasRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\t// Abort if the browser does not support HTML5 canvas\n\t\t\tif (!this.canvas.getContext) {\n\t\t\t\tthrow new Error('The browser does not support canvas.');\n\t\t\t}\n\n\t\t\tthis.prepareCanvas();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n\n\t\t\t\tthis.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n\t\t\t\tthis.drawCanvasText(encodingOptions, this.encodings[i]);\n\n\t\t\t\tthis.moveCanvasDrawing(this.encodings[i]);\n\t\t\t}\n\n\t\t\tthis.restoreCanvas();\n\t\t}\n\t}, {\n\t\tkey: \"prepareCanvas\",\n\t\tvalue: function prepareCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.save();\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tthis.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\n\t\t\tthis.canvas.height = maxHeight;\n\n\t\t\t// Paint the canvas\n\t\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\tif (this.options.background) {\n\t\t\t\tctx.fillStyle = this.options.background;\n\t\t\t\tctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\t}\n\n\t\t\tctx.translate(this.options.marginLeft, 0);\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasBarcode\",\n\t\tvalue: function drawCanvasBarcode(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.marginTop + options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = options.marginTop;\n\t\t\t}\n\n\t\t\tctx.fillStyle = options.lineColor;\n\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tvar x = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height);\n\t\t\t\t} else if (binary[b]) {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasText\",\n\t\tvalue: function drawCanvasText(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.marginTop + options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.marginTop + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\tctx.font = font;\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t}\n\n\t\t\t\tctx.fillText(encoding.text, x, y);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"moveCanvasDrawing\",\n\t\tvalue: function moveCanvasDrawing(encoding) {\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.translate(encoding.width, 0);\n\t\t}\n\t}, {\n\t\tkey: \"restoreCanvas\",\n\t\tvalue: function restoreCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.restore();\n\t\t}\n\t}]);\n\n\treturn CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { CanvasRenderer: _canvas2.default, SVGRenderer: _svg2.default, ObjectRenderer: _object2.default };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = fixOptions;\n\n\nfunction fixOptions(options) {\n\t// Fix the margins\n\toptions.marginTop = options.marginTop || options.margin;\n\toptions.marginBottom = options.marginBottom || options.margin;\n\toptions.marginRight = options.marginRight || options.margin;\n\toptions.marginLeft = options.marginLeft || options.margin;\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.pharmacode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\nvar pharmacode = function (_Barcode) {\n\t_inherits(pharmacode, _Barcode);\n\n\tfunction pharmacode(data, options) {\n\t\t_classCallCheck(this, pharmacode);\n\n\t\tvar _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n\t\t_this.number = parseInt(data, 10);\n\t\treturn _this;\n\t}\n\n\t_createClass(pharmacode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar z = this.number;\n\t\t\tvar result = \"\";\n\n\t\t\t// http://i.imgur.com/RMm4UDJ.png\n\t\t\t// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\t\t\twhile (!isNaN(z) && z != 0) {\n\t\t\t\tif (z % 2 === 0) {\n\t\t\t\t\t// Even\n\t\t\t\t\tresult = \"11100\" + result;\n\t\t\t\t\tz = (z - 2) / 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Odd\n\t\t\t\t\tresult = \"100\" + result;\n\t\t\t\t\tz = (z - 1) / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove the two last zeroes\n\t\t\tresult = result.slice(0, -2);\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.number >= 3 && this.number <= 131070;\n\t\t}\n\t}]);\n\n\treturn pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1110 = function (_MSI) {\n\t_inherits(MSI1110, _MSI);\n\n\tfunction MSI1110(data, options) {\n\t\t_classCallCheck(this, MSI1110);\n\n\t\tdata += (0, _checksums.mod11)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n\t}\n\n\treturn MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1010 = function (_MSI) {\n\t_inherits(MSI1010, _MSI);\n\n\tfunction MSI1010(data, options) {\n\t\t_classCallCheck(this, MSI1010);\n\n\t\tdata += (0, _checksums.mod10)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n\t}\n\n\treturn MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 12).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 3 : sum + a;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n\t_inherits(EAN13, _EAN);\n\n\tfunction EAN13(data, options) {\n\t\t_classCallCheck(this, EAN13);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{12}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\t// Adds a last character to the end of the barcode\n\t\tvar _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n\t\t_this.lastChar = options.lastChar;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN13, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(1, 6);\n\t\t\tvar structure = _constants.EAN13_STRUCTURE[this.data[0]];\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(7, 6);\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n\t\t}\n\n\t\t// The \"standard\" way of printing EAN13 barcodes with guard bars\n\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this);\n\n\t\t\t// Extend data with left digit & last character\n\t\t\tif (this.options.displayValue) {\n\t\t\t\tdata.unshift({\n\t\t\t\t\tdata: '000000000000',\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: 'left', fontSize: this.fontSize }\n\t\t\t\t});\n\n\t\t\t\tif (this.options.lastChar) {\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00'\n\t\t\t\t\t});\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00000',\n\t\t\t\t\t\ttext: this.options.lastChar,\n\t\t\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t}]);\n\n\treturn EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=style&index=1&lang=scss&\"","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;","/*! 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\n i += d\n\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\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\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}\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\n value = Math.abs(value)\n\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\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\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\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\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar 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};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar 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));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar 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 = {}));\nfunction 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}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\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)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction 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 }\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 }\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 }\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}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar 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\n\nDelta.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\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.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] = { 'delete': lastOp['delete'] + newOp['delete'] };\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] = { insert: lastOp.insert + newOp.insert };\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] = { retain: lastOp.retain + newOp.retain };\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\nDelta.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\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.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\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.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\n\nDelta.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\nDelta.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\nDelta.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\nDelta.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' ?\n 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\nDelta.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\nDelta.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\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn 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\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\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\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\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\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\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\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\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar 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\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\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\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\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\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\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\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\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\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\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\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\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\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\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\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\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\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\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\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\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\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\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\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\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\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\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\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\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\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\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\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\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\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\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\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\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\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\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction 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, { modules: moduleConfig }, 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\nfunction 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\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\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction 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\nfunction 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\n var _map2 = _slicedToArray(_map, 2);\n\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\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\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\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.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\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\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\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\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\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({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.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};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\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\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar 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\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\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction 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\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n 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) {//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)\n 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])\n 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/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\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 }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n 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))\n 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)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\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}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\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\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\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\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\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\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\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\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\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\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\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\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\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\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\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\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\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\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\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\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\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\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\n return Editor;\n}();\n\nfunction 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\nfunction 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({ image: op.attributes.image }, 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\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\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\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\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\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\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\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\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\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\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: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\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\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\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\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\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\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\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\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\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\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\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\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\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\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction 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\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\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\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar 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\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n 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), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (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), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\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 &&\n !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 }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\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) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n 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' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\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));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\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}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar 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 }\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 }\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));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar 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 ||\n 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)\n 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));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar 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\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\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\n iterator: function (ops) {\n return new Iterator(ops);\n },\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\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.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 { 'delete': length };\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 { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.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\nIterator.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\nIterator.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\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\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\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\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*/\nfunction 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\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n 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)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\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 }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\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\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\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\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\n return child;\n }\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 */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __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}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\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\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\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\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\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\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\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\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\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\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\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({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, 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({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\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\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 = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\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\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\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\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\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\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\n return Keyboard;\n}(_module2.default);\n\nKeyboard.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\nKeyboard.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: { list: 'checked' },\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\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\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\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\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: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\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\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':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, { list: value });\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\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).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\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\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\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\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\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\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\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\nfunction 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\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\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\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\nfunction 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\nfunction handleEnter(range, context) {\n var _this3 = this;\n\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\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\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\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\nfunction 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\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\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\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\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\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\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\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\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\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\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\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\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\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _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\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\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\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\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\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\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\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\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\n this.options = options;\n\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\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\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\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\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 }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\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)\n 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 }\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) { refBlot = null; }\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 ||\n 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) { root = this.parent; }\n if (this.parent == null || this == root)\n 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)\n 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}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar 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 }\n else {\n delete this.attributes[attribute.attrName];\n }\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\n .concat(classes)\n .concat(styles)\n .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}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction 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}\nvar 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\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n 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));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar 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))\n 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));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\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\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\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\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\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\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\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\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.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\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\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({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\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 = { undo: [], redo: [] };\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\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction 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\nfunction 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\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar 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\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\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\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\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\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.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\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({ image: e.target.result }), _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\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\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\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 } // 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\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction 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\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\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\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar 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, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n 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 }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\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, cur = this.head;\n while (cur != null) {\n if (cur === target)\n 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))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (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, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, 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 }\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, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar 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 }\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) { mutations = []; }\n if (context === void 0) { context = {}; }\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)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n 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)\n 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)\n 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 }\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)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n 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 }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n 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));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar 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)\n 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 }\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 }\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));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar 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)\n 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 }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\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 }\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 }\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 }\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));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar 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 }\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));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar 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'])\n 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 }\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 }\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) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n 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));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (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\nif (!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\nif (!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\nif (!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\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\ndocument.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/**\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/**\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 */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\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 */\nfunction 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 */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\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)],\n [DIFF_EQUAL, shorttext],\n [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\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\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 */\nfunction 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 &&\n 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 &&\n text1.charAt(text1_length - x2 - 1) ==\n 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 */\nfunction 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\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 */\nfunction 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) ==\n 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 */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n 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) ==\n 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 */\nfunction 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),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n 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,\n 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,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n 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 */\nfunction 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 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n 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 -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (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 &&\n 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 -\n 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] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n 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) ==\n 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] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n 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\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.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 */\nfunction 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 */\nfunction 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\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 */\nfunction 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]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\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\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 */\nfunction 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/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar 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 */\nfunction 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//\nif (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 */\nfunction 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 */\nfunction 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 */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\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 */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\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 */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); 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\n listeners[i].fn.apply(listeners[i].context, args);\n }\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 */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\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 */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\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 */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\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;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\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 */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar 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\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar 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\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\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\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\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\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\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\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\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\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\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\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction 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\nfunction 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\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction 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, { indent: indent }));\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\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\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\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\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\n _this.update(range);\n });\n return _this;\n }\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\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\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\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\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\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction 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\nfunction 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\nfunction 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\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\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\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\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\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\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\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\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\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\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\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\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\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({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.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\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\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\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\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\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\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\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\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\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\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\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\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\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\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\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\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\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\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\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\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\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\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\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\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 }, {\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\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\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\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\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\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\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\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\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\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\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\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\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\n return Syntax;\n}(_module2.default);\n\nSyntax.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\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\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\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.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\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\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\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\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\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = linearizeEncodings;\n\n// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n\tvar linearEncodings = [];\n\tfunction nextLevel(encoded) {\n\t\tif (Array.isArray(encoded)) {\n\t\t\tfor (var i = 0; i < encoded.length; i++) {\n\t\t\t\tnextLevel(encoded[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tencoded.text = encoded.text || \"\";\n\t\t\tencoded.data = encoded.data || \"\";\n\t\t\tlinearEncodings.push(encoded);\n\t\t}\n\t}\n\tnextLevel(encodings);\n\n\treturn linearEncodings;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\nvar EAN2 = function (_Barcode) {\n\t_inherits(EAN2, _Barcode);\n\n\tfunction EAN2(data, options) {\n\t\t_classCallCheck(this, EAN2);\n\n\t\treturn _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n\t}\n\n\t_createClass(EAN2, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{2}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\t// Choose the structure based on the number mod 4\n\t\t\tvar structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\t\t\treturn {\n\t\t\t\t// Start bits + Encode the two digits with 01 in between\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getOptionsFromElement(element) {\n\tvar options = {};\n\tfor (var property in _defaults2.default) {\n\t\tif (_defaults2.default.hasOwnProperty(property)) {\n\t\t\t// jsbarcode-*\n\t\t\tif (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n\t\t\t}\n\n\t\t\t// data-*\n\t\t\tif (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n\t\t\t}\n\t\t}\n\t}\n\n\toptions[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\");\n\n\t// Since all atributes are string they need to be converted to integers\n\toptions = (0, _optionsFromStrings2.default)(options);\n\n\treturn options;\n}\n\nexports.default = getOptionsFromElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getEncodingHeight(encoding, options) {\n\treturn options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n\tif (options.displayValue && barcodeWidth < textWidth) {\n\t\tif (options.textAlign == \"center\") {\n\t\t\treturn Math.floor((textWidth - barcodeWidth) / 2);\n\t\t} else if (options.textAlign == \"left\") {\n\t\t\treturn 0;\n\t\t} else if (options.textAlign == \"right\") {\n\t\t\treturn Math.floor(textWidth - barcodeWidth);\n\t\t}\n\t}\n\treturn 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tvar encoding = encodings[i];\n\t\tvar options = (0, _merge2.default)(barcodeOptions, encoding.options);\n\n\t\t// Calculate the width of the encoding\n\t\tvar textWidth;\n\t\tif (options.displayValue) {\n\t\t\ttextWidth = messureText(encoding.text, options, context);\n\t\t} else {\n\t\t\ttextWidth = 0;\n\t\t}\n\n\t\tvar barcodeWidth = encoding.data.length * options.width;\n\t\tencoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n\n\t\tencoding.height = getEncodingHeight(encoding, options);\n\n\t\tencoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n\t}\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n\tvar totalWidth = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\ttotalWidth += encodings[i].width;\n\t}\n\treturn totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n\tvar maxHeight = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tif (encodings[i].height > maxHeight) {\n\t\t\tmaxHeight = encodings[i].height;\n\t\t}\n\t}\n\treturn maxHeight;\n}\n\nfunction messureText(string, options, context) {\n\tvar ctx;\n\n\tif (context) {\n\t\tctx = context;\n\t} else if (typeof document !== \"undefined\") {\n\t\tctx = document.createElement(\"canvas\").getContext(\"2d\");\n\t} else {\n\t\t// If the text cannot be messured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t// Calculate the width of the encoding\n\tvar measureTextResult = ctx.measureText(string);\n\tif (!measureTextResult) {\n\t\t// Some implementations don't implement measureText and return undefined.\n\t\t// If the text cannot be measured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tvar size = measureTextResult.width;\n\treturn size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* global HTMLImageElement */\n/* global HTMLCanvasElement */\n/* global SVGElement */\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\nfunction getRenderProperties(element) {\n\t// If the element is a string, query select call again\n\tif (typeof element === \"string\") {\n\t\treturn querySelectedRenderProperties(element);\n\t}\n\t// If element is array. Recursivly call with every object in the array\n\telse if (Array.isArray(element)) {\n\t\t\tvar returnArray = [];\n\t\t\tfor (var i = 0; i < element.length; i++) {\n\t\t\t\treturnArray.push(getRenderProperties(element[i]));\n\t\t\t}\n\t\t\treturn returnArray;\n\t\t}\n\t\t// If element, render on canvas and set the uri as src\n\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n\t\t\t\treturn newCanvasRenderProperties(element);\n\t\t\t}\n\t\t\t// If SVG\n\t\t\telse if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\telement: element,\n\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\trenderer: _renderers2.default.SVGRenderer\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// If canvas (in browser)\n\t\t\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t// If canvas (in node)\n\t\t\t\t\telse if (element && element.getContext) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.ObjectRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new _exceptions.InvalidElementException();\n\t\t\t\t\t\t}\n}\n\nfunction querySelectedRenderProperties(string) {\n\tvar selector = document.querySelectorAll(string);\n\tif (selector.length === 0) {\n\t\treturn undefined;\n\t} else {\n\t\tvar returnArray = [];\n\t\tfor (var i = 0; i < selector.length; i++) {\n\t\t\treturnArray.push(getRenderProperties(selector[i]));\n\t\t}\n\t\treturn returnArray;\n\t}\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n\tvar canvas = document.createElement('canvas');\n\treturn {\n\t\telement: canvas,\n\t\toptions: (0, _getOptionsFromElement2.default)(imgElement),\n\t\trenderer: _renderers2.default.CanvasRenderer,\n\t\tafterRender: function afterRender() {\n\t\t\timgElement.setAttribute(\"src\", canvas.toDataURL());\n\t\t}\n\t};\n}\n\nexports.default = getRenderProperties;","/*!\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')\n\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\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\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\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(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\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}\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\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\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}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n 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}\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}\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'\n ? createBuffer(that, size).fill(fill, encoding)\n : 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}\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}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\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\n return that\n}\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}\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\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\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\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}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n 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\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\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 ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\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\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\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\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\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}\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\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\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\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}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\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\n\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\n if (end === undefined || end > this.length) {\n end = this.length\n }\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\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\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\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\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}\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}\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}\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}\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}\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}\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\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\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\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\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\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\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\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n 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 &&\n 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\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n 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\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\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\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\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\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}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\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(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\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}\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}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\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\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\n res.push(codePoint)\n i += bytesPerSequence\n }\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\n\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(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\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}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\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\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}\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\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\n return val\n}\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\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\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}\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}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\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\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\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\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\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\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\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}\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}\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}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\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}\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}\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}\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}\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}\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\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\n return offset + byteLength\n}\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\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\n return offset + byteLength\n}\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}\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)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\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}\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}\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}\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}\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}\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\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\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\n return offset + byteLength\n}\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\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\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\n return offset + byteLength\n}\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}\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}\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}\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}\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}\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}\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}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\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}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\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\n var len = end - start\n var i\n\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(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\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\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\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)\n ? val\n : 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\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\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}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\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\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\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\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(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\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}\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\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\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}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Match Set functions\nvar matchSetALength = function matchSetALength(string) {\n\treturn string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\nvar matchSetBLength = function matchSetBLength(string) {\n\treturn string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\nvar matchSetC = function matchSetC(string) {\n\treturn string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n};\n\n// CODE128A or CODE128B\nfunction autoSelectFromAB(string, isA) {\n\tvar ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n\tvar untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n\tif (untilC) {\n\t\treturn untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n\t}\n\n\tvar chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n\tif (chars.length === string.length) {\n\t\treturn string;\n\t}\n\n\treturn chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n}\n\n// CODE128C\nfunction autoSelectFromC(string) {\n\tvar cMatch = matchSetC(string);\n\tvar length = cMatch.length;\n\n\tif (length === string.length) {\n\t\treturn string;\n\t}\n\n\tstring = string.substring(length);\n\n\t// Select A/B depending on the longest match\n\tvar isA = matchSetALength(string) >= matchSetBLength(string);\n\treturn cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n}\n\n// Detect Code Set (A, B or C) and format the string\n\nexports.default = function (string) {\n\tvar newString = void 0;\n\tvar cLength = matchSetC(string).length;\n\n\t// Select 128C if the string start with enough digits\n\tif (cLength >= 2) {\n\t\tnewString = _constants.C_START_CHAR + autoSelectFromC(string);\n\t} else {\n\t\t// Select A/B depending on the longest match\n\t\tvar isA = matchSetALength(string) > matchSetBLength(string);\n\t\tnewString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n\t}\n\n\treturn newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n\tfunction (match, char) {\n\t\treturn String.fromCharCode(203) + char;\n\t});\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/*eslint no-console: 0 */\n\nvar ErrorHandler = function () {\n\tfunction ErrorHandler(api) {\n\t\t_classCallCheck(this, ErrorHandler);\n\n\t\tthis.api = api;\n\t}\n\n\t_createClass(ErrorHandler, [{\n\t\tkey: \"handleCatch\",\n\t\tvalue: function handleCatch(e) {\n\t\t\t// If babel supported extending of Error in a correct way instanceof would be used here\n\t\t\tif (e.name === \"InvalidInputException\") {\n\t\t\t\tif (this.api._options.valid !== this.api._defaults.valid) {\n\t\t\t\t\tthis.api._options.valid(false);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e.message;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tthis.api.render = function () {};\n\t\t}\n\t}, {\n\t\tkey: \"wrapBarcodeCall\",\n\t\tvalue: function wrapBarcodeCall(func) {\n\t\t\ttry {\n\t\t\t\tvar result = func.apply(undefined, arguments);\n\t\t\t\tthis.api._options.valid(true);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleCatch(e);\n\n\t\t\t\treturn this.api;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn ErrorHandler;\n}();\n\nexports.default = ErrorHandler;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Base class for EAN8 & EAN13\nvar EAN = function (_Barcode) {\n\t_inherits(EAN, _Barcode);\n\n\tfunction EAN(data, options) {\n\t\t_classCallCheck(this, EAN);\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tvar _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n\t\t_this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize;\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN, [{\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\treturn this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar textOptions = { fontSize: this.fontSize };\n\t\t\tvar guardOptions = { height: this.guardHeight };\n\n\t\t\treturn [{ data: _constants.SIDE_BIN, options: guardOptions }, { data: this.leftEncode(), text: this.leftText(), options: textOptions }, { data: _constants.MIDDLE_BIN, options: guardOptions }, { data: this.rightEncode(), text: this.rightText(), options: textOptions }, { data: _constants.SIDE_BIN, options: guardOptions }];\n\t\t}\n\t}, {\n\t\tkey: 'encodeFlat',\n\t\tvalue: function encodeFlat() {\n\t\t\tvar data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n\n\t\t\treturn {\n\t\t\t\tdata: data.join(''),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n\tfunction SVGRenderer(svg, encodings, options) {\n\t\t_classCallCheck(this, SVGRenderer);\n\n\t\tthis.svg = svg;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t\tthis.document = options.xmlDocument || document;\n\t}\n\n\t_createClass(SVGRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar currentX = this.options.marginLeft;\n\n\t\t\tthis.prepareSVG();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encoding = this.encodings[i];\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n\n\t\t\t\tvar group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n\n\t\t\t\tthis.setGroupOptions(group, encodingOptions);\n\n\t\t\t\tthis.drawSvgBarcode(group, encodingOptions, encoding);\n\t\t\t\tthis.drawSVGText(group, encodingOptions, encoding);\n\n\t\t\t\tcurrentX += encoding.width;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"prepareSVG\",\n\t\tvalue: function prepareSVG() {\n\t\t\t// Clear the SVG\n\t\t\twhile (this.svg.firstChild) {\n\t\t\t\tthis.svg.removeChild(this.svg.firstChild);\n\t\t\t}\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tvar width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\t\t\tthis.setSvgAttributes(width, maxHeight);\n\n\t\t\tif (this.options.background) {\n\t\t\t\tthis.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSvgBarcode\",\n\t\tvalue: function drawSvgBarcode(parent, options, encoding) {\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = 0;\n\t\t\t}\n\n\t\t\tvar barWidth = 0;\n\t\t\tvar x = 0;\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tx = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tbarWidth++;\n\t\t\t\t} else if (barWidth > 0) {\n\t\t\t\t\tthis.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n\t\t\t\t\tbarWidth = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Last draw is needed since the barcode ends with 1\n\t\t\tif (barWidth > 0) {\n\t\t\t\tthis.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSVGText\",\n\t\tvalue: function drawSVGText(parent, options, encoding) {\n\t\t\tvar textElem = this.document.createElementNS(svgns, 'text');\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\ttextElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"start\");\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"end\");\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"middle\");\n\t\t\t\t\t}\n\n\t\t\t\ttextElem.setAttribute(\"x\", x);\n\t\t\t\ttextElem.setAttribute(\"y\", y);\n\n\t\t\t\ttextElem.appendChild(this.document.createTextNode(encoding.text));\n\n\t\t\t\tparent.appendChild(textElem);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"setSvgAttributes\",\n\t\tvalue: function setSvgAttributes(width, height) {\n\t\t\tvar svg = this.svg;\n\t\t\tsvg.setAttribute(\"width\", width + \"px\");\n\t\t\tsvg.setAttribute(\"height\", height + \"px\");\n\t\t\tsvg.setAttribute(\"x\", \"0px\");\n\t\t\tsvg.setAttribute(\"y\", \"0px\");\n\t\t\tsvg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n\t\t\tsvg.setAttribute(\"xmlns\", svgns);\n\t\t\tsvg.setAttribute(\"version\", \"1.1\");\n\n\t\t\tsvg.setAttribute(\"style\", \"transform: translate(0,0)\");\n\t\t}\n\t}, {\n\t\tkey: \"createGroup\",\n\t\tvalue: function createGroup(x, y, parent) {\n\t\t\tvar group = this.document.createElementNS(svgns, 'g');\n\t\t\tgroup.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n\n\t\t\tparent.appendChild(group);\n\n\t\t\treturn group;\n\t\t}\n\t}, {\n\t\tkey: \"setGroupOptions\",\n\t\tvalue: function setGroupOptions(group, options) {\n\t\t\tgroup.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n\t\t}\n\t}, {\n\t\tkey: \"drawRect\",\n\t\tvalue: function drawRect(x, y, width, height, parent) {\n\t\t\tvar rect = this.document.createElementNS(svgns, 'rect');\n\n\t\t\trect.setAttribute(\"x\", x);\n\t\t\trect.setAttribute(\"y\", y);\n\t\t\trect.setAttribute(\"width\", width);\n\t\t\trect.setAttribute(\"height\", height);\n\n\t\t\tparent.appendChild(rect);\n\n\t\t\treturn rect;\n\t\t}\n\t}]);\n\n\treturn SVGRenderer;\n}();\n\nexports.default = SVGRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\n\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n\t_inherits(UPCE, _Barcode);\n\n\tfunction UPCE(data, options) {\n\t\t_classCallCheck(this, UPCE);\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options));\n\t\t// Code may be 6 or 8 digits;\n\t\t// A 7 digit code is ambiguous as to whether the extra digit\n\t\t// is a UPC-A check or number system digit.\n\n\n\t\t_this.isValid = false;\n\t\tif (data.search(/^[0-9]{6}$/) !== -1) {\n\t\t\t_this.middleDigits = data;\n\t\t\t_this.upcA = expandToUPCA(data, \"0\");\n\t\t\t_this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n\t\t\t_this.isValid = true;\n\t\t} else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n\t\t\t_this.middleDigits = data.substring(1, data.length - 1);\n\t\t\t_this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n\t\t\tif (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n\t\t\t\t_this.isValid = true;\n\t\t\t} else {\n\t\t\t\t// checksum mismatch\n\t\t\t\treturn _possibleConstructorReturn(_this);\n\t\t\t}\n\t\t} else {\n\t\t\treturn _possibleConstructorReturn(_this);\n\t\t}\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPCE, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.isValid;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'flatEncoding',\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += this.encodeMiddleDigits();\n\t\t\tresult += \"010101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: 'guardedEncoding',\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the UPC-A number system digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[0],\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the 6 UPC-E digits\n\t\t\tresult.push({\n\t\t\t\tdata: this.encodeMiddleDigits(),\n\t\t\t\ttext: this.text.substring(1, 7),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"010101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the UPC-A check digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[7],\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'encodeMiddleDigits',\n\t\tvalue: function encodeMiddleDigits() {\n\t\t\tvar numberSystem = this.upcA[0];\n\t\t\tvar checkDigit = this.upcA[this.upcA.length - 1];\n\t\t\tvar parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n\t\t\treturn (0, _encoder2.default)(this.middleDigits, parity);\n\t\t}\n\t}]);\n\n\treturn UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n\tvar lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n\tvar expansion = EXPANSIONS[lastUpcE];\n\n\tvar result = \"\";\n\tvar digitIndex = 0;\n\tfor (var i = 0; i < expansion.length; i++) {\n\t\tvar c = expansion[i];\n\t\tif (c === 'X') {\n\t\t\tresult += middleDigits[digitIndex++];\n\t\t} else {\n\t\t\tresult += c;\n\t\t}\n\t}\n\n\tresult = '' + numberSystem + result;\n\treturn '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.codabar = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding specification:\n// http://www.barcodeisland.com/codabar.phtml\n\nvar codabar = function (_Barcode) {\n\t_inherits(codabar, _Barcode);\n\n\tfunction codabar(data, options) {\n\t\t_classCallCheck(this, codabar);\n\n\t\tif (data.search(/^[0-9\\-\\$\\:\\.\\+\\/]+$/) === 0) {\n\t\t\tdata = \"A\" + data + \"A\";\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (codabar.__proto__ || Object.getPrototypeOf(codabar)).call(this, data.toUpperCase(), options));\n\n\t\t_this.text = _this.options.text || _this.text.replace(/[A-D]/g, '');\n\t\treturn _this;\n\t}\n\n\t_createClass(codabar, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[A-D][0-9\\-\\$\\:\\.\\+\\/]+[A-D]$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar result = [];\n\t\t\tvar encodings = this.getEncodings();\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult.push(encodings[this.data.charAt(i)]);\n\t\t\t\t// for all characters except the last, append a narrow-space (\"0\")\n\t\t\t\tif (i !== this.data.length - 1) {\n\t\t\t\t\tresult.push(\"0\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttext: this.text,\n\t\t\t\tdata: result.join('')\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"getEncodings\",\n\t\tvalue: function getEncodings() {\n\t\t\treturn {\n\t\t\t\t\"0\": \"101010011\",\n\t\t\t\t\"1\": \"101011001\",\n\t\t\t\t\"2\": \"101001011\",\n\t\t\t\t\"3\": \"110010101\",\n\t\t\t\t\"4\": \"101101001\",\n\t\t\t\t\"5\": \"110101001\",\n\t\t\t\t\"6\": \"100101011\",\n\t\t\t\t\"7\": \"100101101\",\n\t\t\t\t\"8\": \"100110101\",\n\t\t\t\t\"9\": \"110100101\",\n\t\t\t\t\"-\": \"101001101\",\n\t\t\t\t\"$\": \"101100101\",\n\t\t\t\t\":\": \"1101011011\",\n\t\t\t\t\"/\": \"1101101011\",\n\t\t\t\t\".\": \"1101101101\",\n\t\t\t\t\"+\": \"101100110011\",\n\t\t\t\t\"A\": \"1011001001\",\n\t\t\t\t\"B\": \"1001001011\",\n\t\t\t\t\"C\": \"1010010011\",\n\t\t\t\t\"D\": \"1010011001\"\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn codabar;\n}(_Barcode3.default);\n\nexports.codabar = codabar;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n// Standard start end and middle bits\nvar SIDE_BIN = exports.SIDE_BIN = '101';\nvar MIDDLE_BIN = exports.MIDDLE_BIN = '01010';\n\nvar BINARIES = exports.BINARIES = {\n\t'L': [// The L (left) type of encoding\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'G': [// The G type of encoding\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111'],\n\t'R': [// The R (right) type of encoding\n\t'1110010', '1100110', '1101100', '1000010', '1011100', '1001110', '1010000', '1000100', '1001000', '1110100'],\n\t'O': [// The O (odd) encoding for UPC-E\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'E': [// The E (even) encoding for UPC-E\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111']\n};\n\n// Define the EAN-2 structure\nvar EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG'];\n\n// Define the EAN-5 structure\nvar EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG'];\n\n// Define the EAN-13 structure\nvar EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL'];","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('base-header',{staticClass:\"pb-6\",attrs:{\"type\":\"\"}},[_c('b-row',{staticClass:\"align-items-center py-4\"},[_c('b-col',{attrs:{\"lg\":\"12\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"h2 d-inline-block mb-0\"},[_vm._v(_vm._s(_vm.$route.name))]),_c('nav',{staticClass:\"d-none d-md-inline-block ml-md-4\",attrs:{\"aria-label\":\"breadcrumb\"}},[_c('route-breadcrumb')],1)])],1)],1),_c('div',[_c('loading',{attrs:{\"active\":_vm.loading,\"color\":\"#007bff\",\"width\":128,\"height\":128,\"loader\":\"dots\",\"can-cancel\":true,\"is-full-page\":true},on:{\"update:active\":function($event){_vm.loading=$event}}})],1),_c('b-container',{staticClass:\"mt--6 container-padding\",attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('div',{staticClass:\"card-wrapper\"},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"}},[_c('b-tab',{attrs:{\"title\":_vm.language_terms['BASIC_INFORMATION'],\"active\":\"\"}},[_c('b-card-text',[_c('card',[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('h3',[_vm._v(_vm._s(_vm.language_terms['BASIC_INFORMATION'])+\" \\n \"),(_vm.product.code)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.product.code)+\")\")]):_vm._e()])])],1)],1),_c('b-row',[_c('b-col',{attrs:{\"lg\":\"9\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PRODUCT_NAME'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.name),callback:function ($$v) {_vm.$set(_vm.product, \"name\", $$v)},expression:\"product.name\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PRODUCT_CODE'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.code),callback:function ($$v) {_vm.$set(_vm.product, \"code\", $$v)},expression:\"product.code\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['LIST_PRICE'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.sale_list_price),callback:function ($$v) {_vm.$set(_vm.product, \"sale_list_price\", $$v)},expression:\"product.sale_list_price\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['BASED_UOM'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.base_uom),callback:function ($$v) {_vm.$set(_vm.product, \"base_uom\", $$v)},expression:\"product.base_uom\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['MOQ'],\"type\":\"number\",\"min\":0,\"disabled\":_vm.isLocked},model:{value:(_vm.product.moq),callback:function ($$v) {_vm.$set(_vm.product, \"moq\", $$v)},expression:\"product.moq\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['STORAGE_CLASSIFICATIONS'],\"disabled\":_vm.isLocked}},[_c('el-select',{attrs:{\"filterable\":\"\",\"placeholder\":_vm.language_terms['STORAGE_CLASSIFICATIONS'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.storageclassification_id),callback:function ($$v) {_vm.$set(_vm.product, \"storageclassification_id\", $$v)},expression:\"product.storageclassification_id\"}},_vm._l((_vm.storage_classifications),function(option){return _c('el-option',{key:option.storageclassification_id,attrs:{\"label\":option.storageclassification_name,\"value\":option.storageclassification_id}})}),1)],1)],1),_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('label',{staticClass:\"form-control-label\"},[_vm._v(_vm._s(_vm.language_terms['CATEGORIES']))]),_c('multiselect',{attrs:{\"open-direction\":\"bottom\",\"tag-placeholder\":_vm.language_terms['ADD_NEW_TAG'],\"placeholder\":_vm.language_terms['SEARCH_ADD_TAG'],\"label\":\"name\",\"track-by\":\"id\",\"options\":_vm.product_categories,\"text-field\":\"name\",\"multiple\":true,\"taggable\":false,\"disabled\":_vm.isLocked},model:{value:(_vm.product.category_items),callback:function ($$v) {_vm.$set(_vm.product, \"category_items\", $$v)},expression:\"product.category_items\"}})],1),_c('b-col',{attrs:{\"lg\":\"1\"}},[_c('base-input',{attrs:{\"label\":\"CBM\",\"type\":\"number\",\"min\":0,\"disabled\":_vm.isLocked},model:{value:(_vm.product.cbm),callback:function ($$v) {_vm.$set(_vm.product, \"cbm\", $$v)},expression:\"product.cbm\"}})],1),_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['BRAND'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.brand),callback:function ($$v) {_vm.$set(_vm.product, \"brand\", $$v)},expression:\"product.brand\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['MODEL'],\"disabled\":_vm.isLocked},model:{value:(_vm.product.model),callback:function ($$v) {_vm.$set(_vm.product, \"model\", $$v)},expression:\"product.model\"}})],1)],1),_c('b-row',[_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.is_sold),callback:function ($$v) {_vm.$set(_vm.product, \"is_sold\", $$v)},expression:\"product.is_sold\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['IS_SOLD'])+\"\\n \")])],1),_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.is_purchased),callback:function ($$v) {_vm.$set(_vm.product, \"is_purchased\", $$v)},expression:\"product.is_purchased\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['IS_PURCHASED'])+\"\\n \")])],1),_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.is_inventorized),callback:function ($$v) {_vm.$set(_vm.product, \"is_inventorized\", $$v)},expression:\"product.is_inventorized\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['IS_INVENTORIZED'])+\"\\n \")])],1),(_vm.product.is_trade == '0')?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.is_bom),callback:function ($$v) {_vm.$set(_vm.product, \"is_bom\", $$v)},expression:\"product.is_bom\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['IS_BOM'])+\"\\n \")])],1):_vm._e(),_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.has_lot),callback:function ($$v) {_vm.$set(_vm.product, \"has_lot\", $$v)},expression:\"product.has_lot\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['HAS_LOT'])+\"\\n \")])],1),_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('b-form-checkbox',{staticClass:\"mb-3\",attrs:{\"value\":\"1\",\"unchecked-value\":\"0\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.is_trade),callback:function ($$v) {_vm.$set(_vm.product, \"is_trade\", $$v)},expression:\"product.is_trade\"}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['IS_TRADE_ITEM'])+\"\\n \")])],1)],1),((_vm.product.is_bom == '1'))?_c('hr'):_vm._e(),((_vm.product.is_bom == '1'))?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(_vm._s(_vm.language_terms['BOM_COMPONENTS']))])]),_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['BOM_CONFIGURABLE'],\"disabled\":_vm.isLocked}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},on:{\"change\":_vm.onChangeBomProperty},model:{value:(_vm.product.is_bom_configurable),callback:function ($$v) {_vm.$set(_vm.product, \"is_bom_configurable\", $$v)},expression:\"product.is_bom_configurable\"}},_vm._l((_vm.bom_configurable_options),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":_vm.language_terms[option.name],\"value\":option.code}})}),1)],1)],1),(_vm.product.is_bom_configurable == '0')?[_c('b-col',{attrs:{\"lg\":\"4\"}},[_c('label',{staticClass:\"form-control-label\"},[_vm._v(_vm._s(_vm.language_terms['PRODUCT']))]),_c('productLookup',{attrs:{\"url\":_vm.apiProductLookup,\"lookupId\":_vm.bom.product_code,\"v2\":_vm.product.id,\"disabled\":_vm.isLocked},on:{\"selected\":function($event){return _vm.selectProduct($event)}}})],1),_c('b-col',{attrs:{\"lg\":\"4\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['QTY'],\"type\":\"number\",\"min\":0,\"disabled\":_vm.isLocked},model:{value:(_vm.bom.qty),callback:function ($$v) {_vm.$set(_vm.bom, \"qty\", $$v)},expression:\"bom.qty\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['UOM']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.bom.uom),callback:function ($$v) {_vm.$set(_vm.bom, \"uom\", $$v)},expression:\"bom.uom\"}},_vm._l((_vm.uom_list),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.code,\"value\":option.code}})}),1)],1)],1),_c('b-col',{staticClass:\"mt-4\",attrs:{\"lg\":\"1\"}},[_c('base-button',{staticClass:\"mt-2\",attrs:{\"type\":\"primary\",\"disabled\":_vm.isLocked},nativeOn:{\"click\":function($event){return _vm.addBom.apply(null, arguments)}}},[_c('span',{staticClass:\"btn-inner--text\"},[_vm._v(_vm._s(_vm.language_terms['ADD']))])])],1),_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('div',[(_vm.product.product_boms.length > 0)?_c('b-table',{attrs:{\"items\":_vm.product.product_boms,\"fields\":_vm.bomTabelFields,\"head-variant\":\"light\"},scopedSlots:_vm._u([{key:\"cell(index)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.index + 1)+\"\\n \")]}},{key:\"cell(price_adjustment)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.item.price_adjustment == null ? '-': data.item.price_adjustment)+\"\\n \")]}},{key:\"cell(is_default)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s((data.item.is_default ) ? _vm.language_terms['YES'] : _vm.language_terms['NO'])+\"\\n \")]}},{key:\"cell(deleteBtn)\",fn:function(row){return [_c('base-button',{attrs:{\"icon\":\"\",\"type\":\"warning\",\"size\":\"sm\",\"disabled\":_vm.isLocked},on:{\"click\":function($event){return _vm.removeBom(row.index)}}},[_c('i',{staticClass:\"fa fa-trash\"})])]}}],null,false,1130524495)}):_vm._e()],1)])]:[_c('b-col',{attrs:{\"cols\":\"8\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['GROUP_NAME'],\"type\":\"text\",\"disabled\":_vm.isLocked},model:{value:(_vm.bom.group_name),callback:function ($$v) {_vm.$set(_vm.bom, \"group_name\", $$v)},expression:\"bom.group_name\"}})],1),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['MAX_SELECTION_COUNT'],\"type\":\"number\",\"disabled\":_vm.isLocked,\"min\":1},model:{value:(_vm.bom.max_selection_count),callback:function ($$v) {_vm.$set(_vm.bom, \"max_selection_count\", $$v)},expression:\"bom.max_selection_count\"}})],1),_c('b-col',{staticClass:\"mt-4\",attrs:{\"lg\":\"2\"}},[_c('base-button',{staticClass:\"mb-3 mt-2\",attrs:{\"type\":\"primary\",\"disabled\":_vm.isLocked},nativeOn:{\"click\":function($event){return _vm.addBomGroup.apply(null, arguments)}}},[_c('span',{staticClass:\"btn-inner--text\"},[_c('i',{staticClass:\"fa fa-plus mr-2\"}),_vm._v(_vm._s(_vm.language_terms['ADD_GROUP']))])])],1),_vm._l((_vm.product.product_boms),function(item,i){return _c('b-col',{key:i,attrs:{\"cols\":\"12\"}},[_c('b-card',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"8\"}},[_c('h5',{staticClass:\"mb-0\"},[_c('span',{staticClass:\"text-primary\"},[_vm._v(_vm._s(item.group_name))]),_c('span',{staticClass:\"text-success ml-2\"},[_vm._v(\" - \"+_vm._s(_vm.language_terms['MAX_SELECTION_COUNT'])+\" \")]),_c('span',[_vm._v(\"(\"+_vm._s(item.max_selection_count)+\")\")])])]),_c('b-col',{attrs:{\"cols\":\"4\"}},[_c('base-button',{staticClass:\"float-right\",attrs:{\"size\":\"sm\",\"icon\":\"\",\"type\":\"success\"},on:{\"click\":function($event){return _vm.handleCollaspeBomGroup(i, item)}}},[_c('i',{staticClass:\"fa fa-angle-down\"})]),_c('base-button',{staticClass:\"float-right mr-4\",attrs:{\"size\":\"sm\",\"icon\":\"\",\"type\":\"danger\",\"disabled\":_vm.isLocked},on:{\"click\":function($event){return _vm.deleteBomGroup(i)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]),_c('base-button',{staticClass:\"float-right mr-4\",attrs:{\"size\":\"sm\",\"icon\":\"\",\"type\":\"primary\",\"disabled\":_vm.isLocked},on:{\"click\":function($event){return _vm.performAddProductToGroup(i)}}},[_c('i',{staticClass:\"fa fa-plus\"}),_vm._v(\" \"+_vm._s(_vm.language_terms['ADD_PRODUCT']))])],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-collapse',{staticClass:\"mt-2\",model:{value:(item.is_collapsed),callback:function ($$v) {_vm.$set(item, \"is_collapsed\", $$v)},expression:\"item.is_collapsed\"}},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('div',[(item.boms.length > 0)?_c('b-table',{attrs:{\"items\":item.boms,\"fields\":_vm.bomTabelFields,\"head-variant\":\"light\"},scopedSlots:_vm._u([{key:\"cell(index)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.index + 1)+\"\\n \")]}},{key:\"cell(is_default)\",fn:function(data){return [_c('b-form-checkbox',{attrs:{\"value\":\"1\",\"unchecked-value\":\"0\"},on:{\"change\":function($event){return _vm.clickOnIsDefaultbox(i, data.index)}},model:{value:(data.item.is_default),callback:function ($$v) {_vm.$set(data.item, \"is_default\", $$v)},expression:\"data.item.is_default\"}})]}},{key:\"cell(price_adjustment)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.item.price_adjustment == null ? '-': data.item.price_adjustment)+\"\\n \")]}},{key:\"cell(deleteBtn)\",fn:function(row){return [_c('base-button',{attrs:{\"icon\":\"\",\"type\":\"warning\",\"size\":\"sm\",\"disabled\":_vm.isLocked},on:{\"click\":function($event){return _vm.removeBomItemFromGroup(row.index, i)}}},[_c('i',{staticClass:\"fa fa-trash\"})])]}}],null,true)}):_vm._e()],1)])],1)],1)],1)],1)],1)],1)})]],2):_vm._e(),_c('b-row',[(_vm.product.is_sold == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['SALES_ACCOUNT']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.sale_account_code),callback:function ($$v) {_vm.$set(_vm.product, \"sale_account_code\", $$v)},expression:\"product.sale_account_code\"}},_vm._l((_vm.account_options),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.code + ' - ' + option.name,\"value\":option.code}})}),1)],1)],1):_vm._e(),(_vm.product.is_sold == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['SALES'] + ' ' + _vm.language_terms['TAX_CODE'],\"disabled\":_vm.isLocked}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.sale_tax_code),callback:function ($$v) {_vm.$set(_vm.product, \"sale_tax_code\", $$v)},expression:\"product.sale_tax_code\"}},_vm._l((_vm.tax_codes),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.name,\"value\":option.code}})}),1)],1)],1):_vm._e(),(_vm.product.is_purchased == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PURCHASE_ACCOUNT']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.purchase_account_code),callback:function ($$v) {_vm.$set(_vm.product, \"purchase_account_code\", $$v)},expression:\"product.purchase_account_code\"}},_vm._l((_vm.account_options),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.code + ' - ' + option.name,\"value\":option.code}})}),1)],1)],1):_vm._e(),(_vm.product.is_purchased == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PURCHASE'] + ' ' + _vm.language_terms['TAX_CODE'],\"disabled\":_vm.isLocked}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.purchase_tax_code),callback:function ($$v) {_vm.$set(_vm.product, \"purchase_tax_code\", $$v)},expression:\"product.purchase_tax_code\"}},_vm._l((_vm.tax_codes),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.name,\"value\":option.code}})}),1)],1)],1):_vm._e(),(_vm.product.is_inventorized == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['INVENTORY_ACCOUNT']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.product.inventory_account_code),callback:function ($$v) {_vm.$set(_vm.product, \"inventory_account_code\", $$v)},expression:\"product.inventory_account_code\"}},_vm._l((_vm.account_options),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.code + ' - ' + option.name,\"value\":option.code}})}),1)],1)],1):_vm._e(),(_vm.product.is_inventorized == 1)?_c('b-col',{attrs:{\"lg\":\"2\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['REORDER_QTY'],\"disabled\":_vm.isLocked,\"type\":\"number\"},model:{value:(_vm.product.qty_min),callback:function ($$v) {_vm.$set(_vm.product, \"qty_min\", $$v)},expression:\"product.qty_min\"}})],1):_vm._e(),(0)?_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['EXPIRY_MONTHS'],\"disabled\":_vm.isLocked,\"type\":\"number\"},model:{value:(_vm.product.expiry_mths),callback:function ($$v) {_vm.$set(_vm.product, \"expiry_mths\", $$v)},expression:\"product.expiry_mths\"}})],1):_vm._e(),(0)?_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['WARRANTY_MONTHS'],\"disabled\":_vm.isLocked,\"type\":\"number\"},model:{value:(_vm.product.warranty_mths),callback:function ($$v) {_vm.$set(_vm.product, \"warranty_mths\", $$v)},expression:\"product.warranty_mths\"}})],1):_vm._e(),(0)?_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['RESERVATION_MAX_DAYS'],\"disabled\":_vm.isLocked,\"type\":\"number\"},model:{value:(_vm.product.reservation_max_days),callback:function ($$v) {_vm.$set(_vm.product, \"reservation_max_days\", $$v)},expression:\"product.reservation_max_days\"}})],1):_vm._e()],1),_c('hr'),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(_vm._s(_vm.language_terms['PRODUCT_LANGUAGES']))])]),_vm._l((_vm.product.languages),function(item,index){return _c('b-col',{key:index,attrs:{\"cols\":\"12\"}},[_c('b-card',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"10\"}},[_c('img',{staticClass:\"mr-3\",attrs:{\"src\":(\"/flag-icons/\" + (item.icon) + \".png\")}}),_vm._v(\"\\n \"+_vm._s(item.language_name)+\"\\n \")]),_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('base-button',{staticClass:\"float-right mr-1\",attrs:{\"size\":\"sm\",\"icon\":\"\",\"type\":\"success\"},on:{\"click\":function($event){return _vm.handleCollaspe(index, item)}}},[_c('i',{staticClass:\"fa fa-angle-down\"})])],1)],1),_c('b-collapse',{staticClass:\"mt-2\",model:{value:(item.is_collapsed),callback:function ($$v) {_vm.$set(item, \"is_collapsed\", $$v)},expression:\"item.is_collapsed\"}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PRODUCT_NAME'],\"disabled\":_vm.isLocked,\"type\":\"text\"},model:{value:(item.name),callback:function ($$v) {_vm.$set(item, \"name\", $$v)},expression:\"item.name\"}})],1),_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['DESP'],\"disabled\":_vm.isLocked,\"type\":\"text\"},model:{value:(item.desp),callback:function ($$v) {_vm.$set(item, \"desp\", $$v)},expression:\"item.desp\"}})],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('vue-editor',{attrs:{\"editorToolbar\":_vm.customToolbar,\"disabled\":_vm.isLocked},model:{value:(item.desp_html),callback:function ($$v) {_vm.$set(item, \"desp_html\", $$v)},expression:\"item.desp_html\"}})],1)],1)],1)],1)],1)})],2)],1)],1),_c('div',{staticClass:\"floating-bar\"},[_c('div',{staticClass:\"floating-bar-container\",attrs:{\"align\":\"center\"}},[_c('b-button-group',[(!_vm.isShowBtn)?_c('b-button',{staticClass:\"transparent-btn\",on:{\"click\":_vm.showFloatBtn}},[_c('i',{staticClass:\"fas fa-edit mr-2 text-primary\"}),_vm._v(_vm._s(_vm.language_terms['EDIT'])+\"\\n \")]):_vm._e(),(_vm.isShowBtn)?_c('b-button',{staticClass:\"transparent-btn\",on:{\"click\":_vm.saveProduct}},[_c('i',{staticClass:\"fas fa-save mr-2 text-info\"}),_vm._v(_vm._s(_vm.language_terms['SAVE'])+\"\\n \")]):_vm._e(),(_vm.isShowBtn)?_c('b-button',{staticClass:\"transparent-btn\",on:{\"click\":_vm.cancelProduct}},[_c('i',{staticClass:\"fas fa-times mr-2 text-warning\"}),_vm._v(_vm._s(_vm.language_terms['CANCEL'])+\"\\n \")]):_vm._e(),(_vm.$route.params.id != '_new')?_c('b-button',{staticClass:\"transparent-btn\",on:{\"click\":_vm.deleteProduct}},[_c('i',{staticClass:\"fas fa-trash mr-2 text-danger\"}),_vm._v(_vm._s(_vm.language_terms['DELETE'])+\"\\n \")]):_vm._e()],1)],1)])],1),(_vm.show_tabs)?_c('b-tab',{attrs:{\"title\":_vm.language_terms['UOM']}},[_c('b-card-text',[_c('card',[_c('h3',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.language_terms['UOM']))]),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['UOM']},model:{value:(_vm.uom.code),callback:function ($$v) {_vm.$set(_vm.uom, \"code\", $$v)},expression:\"uom.code\"}})],1),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['MULTIPLIER'],\"type\":\"number\"},model:{value:(_vm.uom.multiplier),callback:function ($$v) {_vm.$set(_vm.uom, \"multiplier\", $$v)},expression:\"uom.multiplier\"}})],1),_c('b-col',{attrs:{\"cols\":\"4\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['UNIT_PRICE'],\"type\":\"number\"},model:{value:(_vm.uom.unit_price),callback:function ($$v) {_vm.$set(_vm.uom, \"unit_price\", $$v)},expression:\"uom.unit_price\"}})],1),_c('b-col',{staticClass:\"mt-4\",attrs:{\"lg\":\"1\"}},[_c('base-button',{staticClass:\"mt-2\",attrs:{\"type\":\"primary\"},nativeOn:{\"click\":function($event){return _vm.addProductUom.apply(null, arguments)}}},[_c('span',{staticClass:\"btn-inner--text\"},[_vm._v(_vm._s(_vm.language_terms['ADD']))])])],1)],1),(_vm.product.product_uoms.length > 0)?_c('b-row',[_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('b-table-simple',{attrs:{\"hover\":\"\"}},[_c('b-thead',{attrs:{\"head-variant\":\"light\"}},[_c('b-th',[_vm._v(_vm._s(_vm.language_terms['UOM']))]),_c('b-th',[_vm._v(_vm._s(_vm.language_terms['MULTIPLIER']))]),_c('b-th',[_vm._v(_vm._s(_vm.language_terms['UNIT_PRICE']))]),_c('b-th',[_vm._v(_vm._s(_vm.language_terms['IS_DEFAULT']))]),_c('b-th')],1),_c('b-tbody',_vm._l((_vm.product.product_uoms),function(item,j){return _c('tr',{key:j},[_c('td',[_vm._v(_vm._s(item.code))]),_c('td',[_vm._v(_vm._s(item.multiplier))]),_c('td',[_vm._v(_vm._s(item.unit_price ? item.unit_price : '-'))]),_c('td',[_vm._v(_vm._s((item.is_default == 1) ? _vm.language_terms['YES'] : _vm.language_terms['NO']))]),_c('td',[_c('base-button',{attrs:{\"icon\":\"\",\"type\":\"warning\",\"size\":\"sm\",\"disabled\":(item.is_default == 1)},on:{\"click\":function($event){return _vm.deleteUOM(item)}}},[_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"}})])],1)])}),0)],1)],1)],1):_vm._e()],1)],1)],1):_vm._e(),(_vm.show_tabs)?_c('b-tab',{attrs:{\"title\":_vm.language_terms['CODES']}},[_c('b-card-text',[_c('card',[_c('h3',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.language_terms['CODES']))]),_c('b-row',[_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['TYPE']}},[_c('el-select',{attrs:{\"filterable\":\"\"},model:{value:(_vm.product_code.type),callback:function ($$v) {_vm.$set(_vm.product_code, \"type\", $$v)},expression:\"product_code.type\"}},_vm._l((_vm.code_types),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.name,\"value\":option.code}})}),1)],1)],1),_c('b-col',{attrs:{\"lg\":\"4\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['CODE']},model:{value:(_vm.product_code.code),callback:function ($$v) {_vm.$set(_vm.product_code, \"code\", $$v)},expression:\"product_code.code\"}})],1),_c('b-col',{attrs:{\"lg\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['TAG']},model:{value:(_vm.product_code.tag),callback:function ($$v) {_vm.$set(_vm.product_code, \"tag\", $$v)},expression:\"product_code.tag\"}})],1),_c('b-col',{staticClass:\"mt-4\",attrs:{\"lg\":\"2\"}},[_c('base-button',{staticClass:\"mt-2\",attrs:{\"type\":\"primary\"},nativeOn:{\"click\":function($event){return _vm.addProductCode.apply(null, arguments)}}},[_c('span',{staticClass:\"btn-inner--text\"},[_vm._v(_vm._s(_vm.language_terms['ADD']))])])],1)],1),_c('b-row',_vm._l((_vm.product.product_codes),function(code,index){return _c('b-col',{key:index,attrs:{\"lg\":\"12\"}},[_c('b-card',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"4\"}},[(code.type == 'barcode_upc')?_c('barcode',{attrs:{\"value\":code.code,\"tag\":'svg',\"options\":_vm.options_upc}}):_vm._e(),(code.type == 'barcode_code128')?_c('barcode',{attrs:{\"value\":code.code,\"tag\":'svg',\"options\":_vm.options_code_128}}):_vm._e(),(code.type == 'qrcode')?_c('qr-code',{attrs:{\"text\":code.code,\"size\":_vm.size}}):_vm._e()],1),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['VALUE'],\"disabled\":\"\"},model:{value:(code.code),callback:function ($$v) {_vm.$set(code, \"code\", $$v)},expression:\"code.code\"}})],1),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['TAG'],\"disabled\":\"\"},model:{value:(code.tag),callback:function ($$v) {_vm.$set(code, \"tag\", $$v)},expression:\"code.tag\"}})],1),_c('b-col',{staticClass:\"mt-4\",attrs:{\"cols\":\"2\"}},[_c('base-button',{staticClass:\"mt-2 \",attrs:{\"icon\":\"\",\"type\":\"warning\"},on:{\"click\":function($event){return _vm.deleteCode(code)}}},[_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"}})])],1)],1)],1)],1)}),1)],1)],1)],1):_vm._e(),(_vm.show_tabs)?_c('b-tab',{attrs:{\"title\":_vm.language_terms['MEDIAS']}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('dropzone',{ref:\"myVueDropzone\",staticClass:\"mb-2\",attrs:{\"id\":\"myVueDropzone\",\"options\":_vm.dropzoneOptions},on:{\"vdropzone-sending\":_vm.sendingImage,\"vdropzone-removed-file\":_vm.removeImage}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"token\",\"value\":\"xxx\"}})])],1)],1),_c('b-row',_vm._l((_vm.product.product_medias),function(option){return _c('b-col',{key:option.id,attrs:{\"cols\":\"4\"}},[_c('card',{staticClass:\"container\"},[_c('div',{staticClass:\"image\",staticStyle:{\"height\":\"340px\",\"width\":\"340px\"}},[((option.file_extension != 'pdf'))?_c('img',{staticClass:\"img-fluid rounded imgColor\",attrs:{\"src\":option.url}}):_c('a',{attrs:{\"href\":option.url,\"target\":\"_blank\"}},[_c('i',{staticClass:\"fa fa-file\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"   \"+_vm._s(option.file_name))])]),_c('div',{staticClass:\"middle\"},[_c('span',{staticClass:\"hoverDelete\"},[_vm._v(_vm._s(option.file_name))]),_c('br'),_c('base-button',{attrs:{\"size\":\"sm\",\"type\":\"warning\"},on:{\"click\":function($event){return _vm.deleteMedia(option)}}},[_c('i',{staticClass:\"fa fa-times\"})])],1)])],1)}),1)],1):_vm._e()],1)],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}})],1)],1)])],1)],1),_c('b-modal',{staticClass:\"my-modal\",attrs:{\"header-bg-variant\":'primary',\"size\":\"lg\",\"centered\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.language_terms['ADD_PRODUCT']))])]},proxy:true},{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.addBomItemToGroup()}}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['ADD'])+\"\\n \")]),_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.cancelAddBomModal()}}},[_vm._v(\"\\n \"+_vm._s(_vm.language_terms['CANCEL'])+\"\\n \")])]}}]),model:{value:(_vm.add_bom_product_modal),callback:function ($$v) {_vm.add_bom_product_modal=$$v},expression:\"add_bom_product_modal\"}},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('label',{staticClass:\"form-control-label\"},[_vm._v(_vm._s(_vm.language_terms['PRODUCT']))]),_c('productLookup',{attrs:{\"url\":_vm.apiProductLookup,\"lookupId\":_vm.bom.product_code,\"v2\":_vm.product.id,\"disabled\":_vm.isLocked},on:{\"selected\":function($event){return _vm.selectProduct($event)}}})],1),_c('b-col',{attrs:{\"sm\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['QTY'],\"type\":\"number\",\"min\":0,\"disabled\":_vm.isLocked},model:{value:(_vm.bom.qty),callback:function ($$v) {_vm.$set(_vm.bom, \"qty\", $$v)},expression:\"bom.qty\"}})],1),_c('b-col',{attrs:{\"sm\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['UOM']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.bom.uom),callback:function ($$v) {_vm.$set(_vm.bom, \"uom\", $$v)},expression:\"bom.uom\"}},_vm._l((_vm.uom_list),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.code,\"value\":option.code}})}),1)],1)],1),_c('b-col',{attrs:{\"sm\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['PRICE_ADJUSTMENT'],\"type\":\"number\",\"disabled\":_vm.isLocked},model:{value:(_vm.bom.price_adjustment),callback:function ($$v) {_vm.$set(_vm.bom, \"price_adjustment\", $$v)},expression:\"bom.price_adjustment\"}})],1),_c('b-col',{attrs:{\"sm\":\"3\"}},[_c('base-input',{attrs:{\"label\":_vm.language_terms['IS_DEFAULT']}},[_c('el-select',{attrs:{\"filterable\":\"\",\"disabled\":_vm.isLocked},model:{value:(_vm.bom.is_default),callback:function ($$v) {_vm.$set(_vm.bom, \"is_default\", $$v)},expression:\"bom.is_default\"}},_vm._l((_vm.is_default_options),function(option){return _c('el-option',{key:option.code,attrs:{\"label\":option.label,\"value\":option.code}})}),1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./details.vue?vue&type=template&id=01c20a06&\"\nimport script from \"./details.vue?vue&type=script&lang=js&\"\nexport * from \"./details.vue?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./details.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n * \n * @author davidshimjs\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n */\nvar QRCode;\n\n(function () {\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of \n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\t\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\t\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\t\t\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\t\t\t\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn android;\n\t}\n\t\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(row), \"y\": String(col)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = [''];\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('');\n\t\t\t\t\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\taHTML.push('');\n\t\t\t}\n\t\t\t\n\t\t\taHTML.push('
');\n\t\t\t_el.innerHTML = aHTML.join('');\n\t\t\t\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\t\t\t\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\t\n\t\t\t}\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.setProperty(\"display\", \"block\", \"important\");\n\t\t\tthis._elCanvas.style.setProperty(\"display\", \"none\", \"important\");\n\t\t}\n\t\t\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage; \n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\t \t\t\n\t \tdrawImage.apply(this, arguments); \n\t \t};\n\t\t}\n\t\t\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t * \n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\t\t\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t * \n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options \n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\t\t\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.setProperty(\"display\", \"none\", \"important\");\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode \n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n \n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.setProperty(\"display\", \"none\", \"important\");\n\t\t\tthis.clear();\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\t\t\t\t\t\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\t\t\t\t\t\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t\t\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t * \n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\t\t\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\t\t\t\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})();\n\t\n\t/**\n\t * Get the type by string length\n\t * \n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\t\t\t\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\t\t\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\t\t\t\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\t\t\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\t\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example \n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t * \n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] \n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256, \n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\t\t\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\t\t\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\t\t\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\t\t\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\t\n\t\t}\n\t};\n\t\n\t/**\n\t * Make the QRCode\n\t * \n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\t\t\t\n\t\tthis.makeImage();\n\t};\n\t\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t * \n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\t\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\t\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n})();\n\nif (module && module.exports) {\n module.exports = QRCode;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar defaults = {\n\twidth: 2,\n\theight: 100,\n\tformat: \"auto\",\n\tdisplayValue: true,\n\tfontOptions: \"\",\n\tfont: \"monospace\",\n\ttext: undefined,\n\ttextAlign: \"center\",\n\ttextPosition: \"bottom\",\n\ttextMargin: 2,\n\tfontSize: 20,\n\tbackground: \"#ffffff\",\n\tlineColor: \"#000000\",\n\tmargin: 10,\n\tmarginTop: undefined,\n\tmarginBottom: undefined,\n\tmarginLeft: undefined,\n\tmarginRight: undefined,\n\tvalid: function valid() {}\n};\n\nexports.default = defaults;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined;\n\nvar _CODE128_AUTO = require('./CODE128_AUTO.js');\n\nvar _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO);\n\nvar _CODE128A = require('./CODE128A.js');\n\nvar _CODE128A2 = _interopRequireDefault(_CODE128A);\n\nvar _CODE128B = require('./CODE128B.js');\n\nvar _CODE128B2 = _interopRequireDefault(_CODE128B);\n\nvar _CODE128C = require('./CODE128C.js');\n\nvar _CODE128C2 = _interopRequireDefault(_CODE128C);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.CODE128 = _CODE128_AUTO2.default;\nexports.CODE128A = _CODE128A2.default;\nexports.CODE128B = _CODE128B2.default;\nexports.CODE128C = _CODE128C2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar InvalidInputException = function (_Error) {\n\t_inherits(InvalidInputException, _Error);\n\n\tfunction InvalidInputException(symbology, input) {\n\t\t_classCallCheck(this, InvalidInputException);\n\n\t\tvar _this = _possibleConstructorReturn(this, (InvalidInputException.__proto__ || Object.getPrototypeOf(InvalidInputException)).call(this));\n\n\t\t_this.name = \"InvalidInputException\";\n\n\t\t_this.symbology = symbology;\n\t\t_this.input = input;\n\n\t\t_this.message = '\"' + _this.input + '\" is not a valid input for ' + _this.symbology;\n\t\treturn _this;\n\t}\n\n\treturn InvalidInputException;\n}(Error);\n\nvar InvalidElementException = function (_Error2) {\n\t_inherits(InvalidElementException, _Error2);\n\n\tfunction InvalidElementException() {\n\t\t_classCallCheck(this, InvalidElementException);\n\n\t\tvar _this2 = _possibleConstructorReturn(this, (InvalidElementException.__proto__ || Object.getPrototypeOf(InvalidElementException)).call(this));\n\n\t\t_this2.name = \"InvalidElementException\";\n\t\t_this2.message = \"Not supported type to render on\";\n\t\treturn _this2;\n\t}\n\n\treturn InvalidElementException;\n}(Error);\n\nvar NoElementException = function (_Error3) {\n\t_inherits(NoElementException, _Error3);\n\n\tfunction NoElementException() {\n\t\t_classCallCheck(this, NoElementException);\n\n\t\tvar _this3 = _possibleConstructorReturn(this, (NoElementException.__proto__ || Object.getPrototypeOf(NoElementException)).call(this));\n\n\t\t_this3.name = \"NoElementException\";\n\t\t_this3.message = \"No element to render on.\";\n\t\treturn _this3;\n\t}\n\n\treturn NoElementException;\n}(Error);\n\nexports.InvalidInputException = InvalidInputException;\nexports.InvalidElementException = InvalidElementException;\nexports.NoElementException = NoElementException;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./QRCode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./QRCode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QRCode.vue?vue&type=template&id=f25c6c34&\"\nimport script from \"./QRCode.vue?vue&type=script&lang=js&\"\nexport * from \"./QRCode.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Barcode = function Barcode(data, options) {\n\t_classCallCheck(this, Barcode);\n\n\tthis.data = data;\n\tthis.text = options.text || data;\n\tthis.options = options;\n};\n\nexports.default = Barcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.checksum = checksum;\n\nvar _encoder = require(\"./encoder\");\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n\nvar UPC = function (_Barcode) {\n\t_inherits(UPC, _Barcode);\n\n\tfunction UPC(data, options) {\n\t\t_classCallCheck(this, UPC);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{11}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPC.__proto__ || Object.getPrototypeOf(UPC)).call(this, data, options));\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPC, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{12}$/) !== -1 && this.data[11] == checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"flatEncoding\",\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(0, 6), \"LLLLLL\");\n\t\t\tresult += \"01010\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(6, 6), \"RRRRRR\");\n\t\t\tresult += \"101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"guardedEncoding\",\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the first digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\" + (0, _encoder2.default)(this.data[0], \"L\"),\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the left side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(1, 5), \"LLLLL\"),\n\t\t\t\ttext: this.text.substr(1, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the middle bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"01010\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the right side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(6, 5), \"RRRRR\"),\n\t\t\t\ttext: this.text.substr(6, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data[11], \"R\") + \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the last digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(11, 1),\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}]);\n\n\treturn UPC;\n}(_Barcode3.default);\n\n// Calulate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nfunction checksum(number) {\n\tvar result = 0;\n\n\tvar i;\n\tfor (i = 1; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]);\n\t}\n\tfor (i = 0; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]) * 3;\n\t}\n\n\treturn (10 - result % 10) % 10;\n}\n\nexports.default = UPC;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128A = function (_CODE) {\n\t_inherits(CODE128A, _CODE);\n\n\tfunction CODE128A(string, options) {\n\t\t_classCallCheck(this, CODE128A);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128A, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.A_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128A;\n}(_CODE3.default);\n\nexports.default = CODE128A;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128C = function (_CODE) {\n\t_inherits(CODE128C, _CODE);\n\n\tfunction CODE128C(string, options) {\n\t\t_classCallCheck(this, CODE128C);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128C, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.C_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128C;\n}(_CODE3.default);\n\nexports.default = CODE128C;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SET_BY_CODE;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// constants for internal usage\nvar SET_A = exports.SET_A = 0;\nvar SET_B = exports.SET_B = 1;\nvar SET_C = exports.SET_C = 2;\n\n// Special characters\nvar SHIFT = exports.SHIFT = 98;\nvar START_A = exports.START_A = 103;\nvar START_B = exports.START_B = 104;\nvar START_C = exports.START_C = 105;\nvar MODULO = exports.MODULO = 103;\nvar STOP = exports.STOP = 106;\nvar FNC1 = exports.FNC1 = 207;\n\n// Get set by start code\nvar SET_BY_CODE = exports.SET_BY_CODE = (_SET_BY_CODE = {}, _defineProperty(_SET_BY_CODE, START_A, SET_A), _defineProperty(_SET_BY_CODE, START_B, SET_B), _defineProperty(_SET_BY_CODE, START_C, SET_C), _SET_BY_CODE);\n\n// Get next set by code\nvar SWAP = exports.SWAP = {\n\t101: SET_A,\n\t100: SET_B,\n\t99: SET_C\n};\n\nvar A_START_CHAR = exports.A_START_CHAR = String.fromCharCode(208); // START_A + 105\nvar B_START_CHAR = exports.B_START_CHAR = String.fromCharCode(209); // START_B + 105\nvar C_START_CHAR = exports.C_START_CHAR = String.fromCharCode(210); // START_C + 105\n\n// 128A (Code Set A)\n// ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4\nvar A_CHARS = exports.A_CHARS = \"[\\x00-\\x5F\\xC8-\\xCF]\";\n\n// 128B (Code Set B)\n// ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4\nvar B_CHARS = exports.B_CHARS = \"[\\x20-\\x7F\\xC8-\\xCF]\";\n\n// 128C (Code Set C)\n// 00–99 (encodes two digits with a single code point) and FNC1\nvar C_CHARS = exports.C_CHARS = \"(\\xCF*[0-9]{2}\\xCF*)\";\n\n// CODE128 includes 107 symbols:\n// 103 data symbols, 3 start symbols (A, B and C), and 1 stop symbol (the last one)\n// Each symbol consist of three black bars (1) and three white spaces (0).\nvar BARS = exports.BARS = [11011001100, 11001101100, 11001100110, 10010011000, 10010001100, 10001001100, 10011001000, 10011000100, 10001100100, 11001001000, 11001000100, 11000100100, 10110011100, 10011011100, 10011001110, 10111001100, 10011101100, 10011100110, 11001110010, 11001011100, 11001001110, 11011100100, 11001110100, 11101101110, 11101001100, 11100101100, 11100100110, 11101100100, 11100110100, 11100110010, 11011011000, 11011000110, 11000110110, 10100011000, 10001011000, 10001000110, 10110001000, 10001101000, 10001100010, 11010001000, 11000101000, 11000100010, 10110111000, 10110001110, 10001101110, 10111011000, 10111000110, 10001110110, 11101110110, 11010001110, 11000101110, 11011101000, 11011100010, 11011101110, 11101011000, 11101000110, 11100010110, 11101101000, 11101100010, 11100011010, 11101111010, 11001000010, 11110001010, 10100110000, 10100001100, 10010110000, 10010000110, 10000101100, 10000100110, 10110010000, 10110000100, 10011010000, 10011000010, 10000110100, 10000110010, 11000010010, 11001010000, 11110111010, 11000010100, 10001111010, 10100111100, 10010111100, 10010011110, 10111100100, 10011110100, 10011110010, 11110100100, 11110010100, 11110010010, 11011011110, 11011110110, 11110110110, 10101111000, 10100011110, 10001011110, 10111101000, 10111100010, 11110101000, 11110100010, 10111011110, 10111101110, 11101011110, 11110101110, 11010000100, 11010010000, 11010011100, 1100011101011];","var JsBarcode = require('jsbarcode');\r\n\r\nvar VueBarcode = {\r\n render: function (createElement) {\r\n return createElement('div', [\r\n createElement(this.elementTag, {\r\n style: { display: this.valid ? undefined : 'none' },\r\n 'class': ['vue-barcode-element']\r\n }),\r\n createElement('div', {\r\n style: { display: this.valid ? 'none' : undefined }\r\n }, this.$slots.default),\r\n ]);\r\n },\r\n props: {\r\n value: [String, Number],\r\n format: [String],\r\n width: [String, Number],\r\n height: [String, Number],\r\n displayValue: {\r\n type: [String, Boolean],\r\n default: true\r\n },\r\n text: [String, Number],\r\n fontOptions : [String],\r\n font: [String],\r\n textAlign: [String],\r\n textPosition: [String],\r\n textMargin: [String, Number],\r\n fontSize: [String, Number],\r\n background: [String],\r\n lineColor: [String],\r\n margin: [String, Number],\r\n marginTop: [String, Number],\r\n marginBottom: [String, Number],\r\n marginLeft: [String, Number],\r\n marginRight: [String, Number],\r\n flat: [Boolean],\r\n ean128: [String, Boolean],\r\n elementTag: {\r\n type: String,\r\n default: 'svg',\r\n validator: function (value) {\r\n return ['canvas', 'svg', 'img'].indexOf(value) !== -1\r\n }\r\n }\r\n },\r\n mounted: function(){\r\n this.$watch('$props', render, { deep: true, immediate: true });\r\n render.call(this);\r\n },\r\n data: function(){\r\n return {valid: true};\r\n }\r\n};\r\n\r\nfunction render(){\r\n var that = this;\r\n\r\n var settings = {\r\n format: this.format,\r\n width: this.width,\r\n height: this.height,\r\n displayValue: this.displayValue,\r\n text: this.text,\r\n fontOptions: this.fontOptions,\r\n font: this.font,\r\n textAlign: this.textAlign,\r\n textPosition: this.textPosition,\r\n textMargin: this.textMargin,\r\n fontSize: this.fontSize,\r\n background: this.background,\r\n lineColor: this.lineColor,\r\n margin: this.margin,\r\n marginTop: this.marginTop,\r\n marginBottom: this.marginBottom,\r\n marginLeft: this.marginLeft,\r\n marginRight: this.marginRight,\r\n flat: this.flat,\r\n ean128: this.ean128,\r\n valid: function (valid) {\r\n that.valid = valid;\r\n },\r\n elementTag: this.elementTag\r\n };\r\n\r\n removeUndefinedProps(settings);\r\n\r\n JsBarcode(this.$el.querySelector('.vue-barcode-element'), String(this.value), settings);\r\n}\r\n\r\nfunction removeUndefinedProps(obj) {\r\n for (var prop in obj) {\r\n if (obj.hasOwnProperty(prop) && obj[prop] === undefined) {\r\n delete obj[prop];\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = VueBarcode;\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.GenericBarcode = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GenericBarcode = function (_Barcode) {\n\t_inherits(GenericBarcode, _Barcode);\n\n\tfunction GenericBarcode(data, options) {\n\t\t_classCallCheck(this, GenericBarcode);\n\n\t\treturn _possibleConstructorReturn(this, (GenericBarcode.__proto__ || Object.getPrototypeOf(GenericBarcode)).call(this, data, options)); // Sets this.data and this.text\n\t}\n\n\t// Return the corresponding binary numbers for the data provided\n\n\n\t_createClass(GenericBarcode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\treturn {\n\t\t\t\tdata: \"10101010101010101010101010101010101010101\",\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Resturn true/false if the string provided is valid for this encoder\n\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn true;\n\t\t}\n\t}]);\n\n\treturn GenericBarcode;\n}(_Barcode3.default);\n\nexports.GenericBarcode = GenericBarcode;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function (old, replaceObj) {\n return _extends({}, old, replaceObj);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE = require('./CODE39/');\n\nvar _CODE2 = require('./CODE128/');\n\nvar _EAN_UPC = require('./EAN_UPC/');\n\nvar _ITF = require('./ITF/');\n\nvar _MSI = require('./MSI/');\n\nvar _pharmacode = require('./pharmacode/');\n\nvar _codabar = require('./codabar');\n\nvar _GenericBarcode = require('./GenericBarcode/');\n\nexports.default = {\n\tCODE39: _CODE.CODE39,\n\tCODE128: _CODE2.CODE128, CODE128A: _CODE2.CODE128A, CODE128B: _CODE2.CODE128B, CODE128C: _CODE2.CODE128C,\n\tEAN13: _EAN_UPC.EAN13, EAN8: _EAN_UPC.EAN8, EAN5: _EAN_UPC.EAN5, EAN2: _EAN_UPC.EAN2, UPC: _EAN_UPC.UPC, UPCE: _EAN_UPC.UPCE,\n\tITF14: _ITF.ITF14,\n\tITF: _ITF.ITF,\n\tMSI: _MSI.MSI, MSI10: _MSI.MSI10, MSI11: _MSI.MSI11, MSI1010: _MSI.MSI1010, MSI1110: _MSI.MSI1110,\n\tpharmacode: _pharmacode.pharmacode,\n\tcodabar: _codabar.codabar,\n\tGenericBarcode: _GenericBarcode.GenericBarcode\n};"],"sourceRoot":""}