{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"jQuery\"","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/@rails/actiontext/node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///(webpack)/buildin/global.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/source/slick.min.js","webpack:///./app/javascript/source/slider.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","_typeof","iterator","obj","constructor","this","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","data","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","ajax","options","response","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","encodeURIComponent","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","method","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","factory","sparkMd5","fn","createCommonjsModule","undefined","hex_chr","md5cycle","x","k","a","b","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","state","substring","toString","parseInt","rhex","j","hex","toUtf8","str","test","unescape","hexToBinaryString","bytes","substr","String","fromCharCode","apply","SparkMD5","reset","ArrayBuffer","clamp","val","max","min","from","to","num","targetArray","sourceArray","byteLength","begin","end","Uint8Array","set","appendBinary","contents","_buff","_length","_hash","raw","ret","buff","_finish","getState","hash","setState","destroy","hashBinary","arr","first","second","returnUInt8Array","buffer","subarray","utf8Str2ArrayBuffer","md51_array","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","configurable","writable","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","ceil","size","chunkIndex","_this","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","findElement","root","eventInit","initEvent","toArray$1","isArray","BlobRecord","checksum","attributes","filename","content_type","byte_size","responseType","getMetaValue","requestDidLoad","requestDidError","stringify","blob","direct_upload","directUploadData","toJSON","_xhr","BlobUpload","_blob$directUploadDat","headers","id","DirectUpload","notify","upload","methodName","_len","messages","_key","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","progress","loaded","total","alert","_this2","uploadRequestDidProgress","DirectUploadsController","files","controllers","createDirectUploadControllers","startNextController","controller","shift","submitButtonsByForm","WeakMap","started","didClick","didSubmitForm","didSubmitRemoteElement","tagName","handleFormSubmissionEvent","hasAttribute","disable","removeAttribute","enable","focus","delete","submitForm","ActiveStorage","_defineProperties","AttachmentUpload","attachment","_classCallCheck","directUploadUrl","directUploadDidComplete","setUploadProgress","concat","setAttributes","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate","dataset","webpackPolyfill","deprecate","paths","children","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","Set","clear","values","has","add","splice","_state","_handled","_value","_deferreds","h","onFulfilled","onRejected","promise","then","u","setImmediate","console","warn","all","resolve","reject","race","_setImmediateFn","_setUnhandledRejectionFn","Promise","customElements","registerElement","Date","now","random","A","g","sort","uid_","takeRecords","nodes_","observer","removeTransientObservers","callback_","subtree","enqueue","records_","C","addedNodes","removedNodes","previousSibling","nextSibling","attributeName","attributeNamespace","oldValue","w","f","transientObservedNodes","JsMutationObserver","navigator","userAgent","v","y","postMessage","observe","ShadowDOMPolyfill","wrapIfNeeded","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","disconnect","addListeners_","removeListeners_","addTransientObserver","handleEvent","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","MutationObserver","_isPolyfilled","self","performance","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","Boolean","WebComponents","CustomElements","flags","addModule","initializeModules","hasNative","isIE","useNative","register","HTMLImports","firstElementChild","firstChild","nodeType","Node","ELEMENT_NODE","nextElementSibling","shadowRoot","olderShadowRoot","IMPORT_LINK_TYPE","forDocumentTree","wrap","import","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","dom","URL","_URL","localName","split","pop","group","DOCUMENT_FRAGMENT_NODE","E","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","S","createShadowRoot","watchShadow","__watched","log","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","attached","is","createdCallback","__proto__","HTMLElement","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","native","HTMLTemplateElement","decorate","getRegisteredDefinition","tag","extends","upgradeWithDefinition","implementPrototype","_polyfilled","toLowerCase","attributeChangedCallback","ctor","createElementNS","__name","lifecycle","ancestry","ready","registry","instanceof","reservedTagList","readyTime","elapsed","unwrap","unwrapIfNeeded","__importsParsingHook","eager","attachEvent","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","config","BasicObject","proxyMethod","toMethod","toProperty","optional","Function","_t","__super__","fromJSONString","fromJSON","hasSameConstructorAs","isEqualTo","inspect","contentsForInspection","toJSONString","toUTF16String","UTF16String","box","getCacheKey","extend","defer","normalizeSpaces","RegExp","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","source","escapeHTML","textContent","summarizeStringChange","added","removed","_n","utf16String","offset","codepoints","fromCodepoints","_t2","charAt","copyObject","objectsAreEqual","keys","arraysAreEqual","arrayStartsWith","spliceArray","summarizeArrayChange","getAllAttributeNames","getTextAttributeNames","getBlockAttributeNames","getBlockConfig","blockAttributes","getTextConfig","textAttributes","getListAttributeNames","listAttribute","documentElement","_s","onElement","matchingSelector","withCallback","inPhase","times","findClosestElementFromNode","handleEventOnce","triggerEvent","elementMatchesSelector","untilNode","closest","findInnerElement","innerElementIsActive","activeElement","elementContainsNode","findNodeFromContainerAndOffset","TEXT_NODE","childNodes","item","findElementFromContainerAndOffset","findChildIndexOfNode","removeNode","walkTree","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","makeElement","editable","contenteditable","className","classList","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","strict","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","rangeIsCollapsed","rangesAreEqual","defaultCSS","insertBefore","_t3","initialize","connect","initialized","connectedCallback","disconnectedCallback","_n2","Reflect","construct","setPrototypeOf","define","getDOMSelection","getSelection","rangeCount","getDOMRange","getRangeAt","setDOMRange","removeAllRanges","addRange","selectionChangeObserver","update","_t4","startContainer","endContainer","dataTransferIsPlainText","dataTransferIsWritable","keyEventIsKeyboardCommand","platform","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","merge","remove","isEmpty","toObject","ObjectGroup","objects","depth","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","_t5","ObjectMap","find","ElementStore","trixStoreKey","_t6","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","cancel","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","offsetFromUCS2Offset","codePointAt","fromCodePoint","lang","attachFiles","bold","bullets","captionPlaceholder","code","heading1","indent","italic","link","numbers","outdent","quote","redo","strike","undo","unlink","urlPlaceholder","GB","KB","MB","PB","TB","css","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","bullet","numberList","number","exclusive","fileSize","prefix","precision","formatter","byte","pow","toFixed","inheritable","getComputedStyle","fontWeight","fontStyle","groupTagName","frozen","backgroundColor","serializers","Document","fromHTML","toSerializableDocument","DocumentView","render","cloneNode","deserializers","serializeToContentType","deserializeFromContentType","toolbar","getDefaultHTML","undoInterval","attachments","preview","presentation","caption","keyNames","8","9","13","27","37","39","46","68","72","79","level2Enabled","getLevel","pickFiles","multiple","hidden","fileInputId","getElementById","_t7","ObjectView","childViews","rootView","getNodes","nodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","_t8","objectGroup","getChildViews","createContainerElement","_t9","Controller","didMutate","_h","stop","mutations","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","_t10","FileVerificationOperation","onerror","onload","abort","InputController","mutationObserver","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","keyCode","keyName","inputControllerDidReceiveKeyboardCommand","keypress","altKey","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","clipboardData","inputControllerWillCutText","deleteInDirection","copy","paste","R","D","testClipboardData","clipboard","getPastedHTMLUsingHiddenElement","inputControllerWillPaste","insertHTML","inputControllerDidPaste","string","trim","insertText","Text","textForStringWithAttributes","types","items","getAsFile","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","beforeinput","backspace","insertLineBreak","tab","canIncreaseNestingLevel","increaseNestingLevel","left","selectionIsInCursorTarget","moveCursorInDirection","right","control","updatePosition","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","alt","isEnded","getSelectedDocument","Files","position","pageXOffset","top","pageYOffset","opacity","which","charCode","inputController","isSignificant","insertPlaceholder","range","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","composing","reparse","scheduleRender","afterRender","shiftKey","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","point","ArrowLeft","shouldManageMovingCursorInDirection","ArrowRight","Backspace","shouldManageDeletingInDirection","Tab","deleteByComposition","recordUndoEntry","deleteByCut","deleteByDrag","withTargetDOMRange","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","activateAttributeIfSupported","formatBold","toggleAttributeIfSupported","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","getCurrentAttributes","removeCurrentAttribute","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","inputControllerWillPerformFormatting","toggleCurrentAttribute","setCurrentAttribute","getTargetDOMRange","minLength","getTargetRanges","createRange","setStart","startOffset","setEnd","endOffset","AttachmentEditorController","attachmentPiece","container","didBlurCaption","didChangeCaption","didInputCaption","didKeyDownCaption","didClickActionButton","didClickToolbar","install","undos","makeElementMutable","addToolbar","isPreviewable","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","trixMutable","getFilename","getFormattedFilesize","placeholder","getCaption","tabIndex","height","scrollHeight","parentElement","editCaption","attachmentEditorDidRequestRemovalOfAttachment","attachmentEditorDidRequestDeselectingAttachment","uploadProgressDelegate","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","getContent","createCaptionElement","isPending","progressElement","getUploadProgress","getCaptionConfig","createTextNode","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","findProgressElement","attachmentDidChangeUploadProgress","PreviewableAttachmentView","previewDelegate","image","src","refresh","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","width","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","context","createAttachmentNodes","createStringNodes","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","_t11","TextView","getPieces","BlockView","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","getBlockBreakPosition","elementStore","setDocument","sync","shadowElement","getBlocks","isSynced","createDocumentFragmentForSync","lastChild","didSync","createDocumentFragment","replaceChild","CompositionController","composition","didClickAttachment","didBlur","didFocus","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","revision","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","getAttachmentPieceForAttachment","compositionControllerWillUpdateAttachment","updateAttributesForAttachment","removeAttributeForAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","getAttachmentById","ToolbarController","didKeyDownDialogInput","didClickDialogButton","didClickAttributeButton","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","select","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","_t12","ImagePreloadOperation","Image","naturalWidth","naturalHeight","_t13","Attachment","releaseFile","didChangeAttributes","previewablePattern","attachmentForFile","attributesForFile","setFile","filesize","contentType","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","createObjectURL","revokeObjectURL","_t14","Piece","registerType","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","getAttributesHash","getCommonAttributes","pieceList","getPieceAtIndex","eachPiece","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","_t15","AttachmentPiece","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","StringPiece","consolidateWith","splitAtOffset","SplittableList","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","getObjectAtPosition","findIndexAndOffsetAtPosition","index","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","_t16","textForAttachmentWithAttributes","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getRangeOfAttachment","getPieceAtPosition","toSerializableText","Block","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","removeLastAttribute","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","blockBreak","HTMLSanitizer","allowedAttributes","forbiddenProtocols","sanitize","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","sanitizeElement","previousElementSibling","implementation","createHTMLDocument","HTMLParser","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","appendStringWithAttributes","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","unshift","findBlockElementAncestors","reverse","whiteSpace","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","bottom","marginTop","marginBottom","blockList","fromString","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","getRangeOfCommonAttributeAtPosition","getLocationRangeOfAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","LineBreakInsertion","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Composition","currentAttributes","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","notifyDelegateOfInsertionAtRange","insertBlock","getCurrentTextAttributes","insertBlockBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","replaceHTML","getLocationRange","compositionShouldAcceptFile","insertAttachments","insertAttachment","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","removeAttachment","stopEditingAttachment","placeholderPosition","getPosition","hasCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","getPreviousBlock","ignoreLock","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","expandSelectionForEditing","expandSelectionAroundCommonAttribute","getSelectedAttachments","positionIsCursorTarget","locationIsCursorTarget","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","_t17","UndoManager","undoEntries","redoEntries","consolidatable","createEntry","description","snapshot","canUndo","canRedo","attachmentGalleryFilter","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Editor","selectionManager","_t18","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","_t19","ManagedAttachment","attachmentManager","requestRemovalOfAttachment","_t20","AttachmentManager","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","LocationMapper","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","PointMapper","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","getClientRectsForDOMRange","getClientRects","SelectionChangeObserver","selectionManagers","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","domRange","SelectionManager","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","collapsed","domRangeWithinElement","pauseTemporarily","paused","locationRangeDidChange","EditorController","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","getUndoContext","getLocationContext","getTimeContext","getTime","ownerDocument","queryCommandSupported","execCommand","inputElement","editorController","defaultValue","registerResetListener","unregisterResetListener","resetListener","resetBubbled","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","task","require","Slick","defaults","accessibility","adaptiveHeight","appendArrows","appendDots","arrows","asNavFor","prevArrow","nextArrow","autoplay","autoplaySpeed","centerMode","centerPadding","cssEase","customPaging","dots","dotsClass","draggable","easing","edgeFriction","fade","focusOnSelect","focusOnChange","infinite","initialSlide","lazyLoad","mobileFirst","pauseOnHover","pauseOnFocus","pauseOnDotsHover","respondTo","responsive","rows","rtl","slide","slidesPerRow","slidesToShow","slidesToScroll","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","verticalSwiping","waitForAnimate","zIndex","initials","animating","autoPlayTimer","currentDirection","currentLeft","currentSlide","direction","$dots","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","scrolling","slideCount","slideWidth","$slideTrack","$slides","sliding","slideOffset","swipeLeft","swiping","$list","touchObject","transformsEnabled","unslicked","activeBreakpoint","animType","animProp","breakpoints","breakpointSettings","cssTransitions","focussed","interrupted","positionProp","rowCount","shouldClick","$slider","$slidesCache","transformType","transitionType","visibilityChange","windowWidth","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","proxy","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","instanceUid","htmlExpr","registerBreakpoints","init","activateADA","attr","addSlide","slickAdd","unload","appendTo","eq","insertAfter","prependTo","detach","each","reinit","animateHeight","outerHeight","animate","animateSlide","animStart","duration","step","applyTransition","disableTransition","getNavTarget","not","slick","slideHandler","buildArrows","addClass","removeClass","removeAttr","buildDots","getDotCount","buildOut","wrapAll","parent","setupInfinite","updateDots","setSlideClasses","buildRows","empty","checkResponsive","innerWidth","unslick","trigger","currentTarget","checkNavigable","getNavigableIndexes","cleanUpEvents","interrupt","visibility","cleanUpSlideEvents","orientationChange","resize","cleanUpRows","fadeSlide","fadeSlideOut","filterSlides","slickFilter","focusHandler","getCurrent","slickCurrentSlide","getLeft","offsetLeft","outerWidth","getOption","slickGetOption","getSlick","getSlideCount","abs","goTo","slickGoTo","hasClass","setProps","startLoad","loadSlider","initializeEvents","updateArrows","initADA","role","initArrowEvents","initDotEvents","initSlideEvents","initUI","show","progressiveLazyLoad","next","slickNext","pause","slickPause","play","slickPlay","postSlide","prev","slickPrev","breakpoint","settings","windowDelay","removeSlide","slickRemove","setCSS","setDimensions","padding","setFade","setHeight","setOption","slickSetOption","WebkitTransition","MozTransition","msTransition","OTransform","perspectiveProperty","webkitPerspective","MozTransform","MozPerspective","webkitTransform","msTransform","transform","clone","parents","hide","swipeDirection","startX","curX","startY","curY","atan2","round","PI","swipeEnd","swipeLength","edgeHit","minSwipe","fingerCount","originalEvent","touches","swipeStart","swipeMove","pageX","pageY","sqrt","unfilterSlides","slickUnfilter"],"mappings":"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","file":"js/application-dd41c67bd8243eb4ebdc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 975);\n","(function() { module.exports = window[\"jQuery\"]; }());","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActiveStorage = {});\n})(this, function (exports) {\n \"use strict\";\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var sparkMd5 = createCommonjsModule(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n });\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\n var FileChecksum = function () {\n createClass(FileChecksum, null, [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }]);\n return FileChecksum;\n }();\n\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n }\n\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n }\n\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n\n var BlobRecord = function () {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type,\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobRecord, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr,\n responseType = _xhr.responseType,\n response = _xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }]);\n return BlobRecord;\n }();\n\n var BlobUpload = function () {\n function BlobUpload(blob) {\n var _this = this;\n\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr,\n status = _xhr.status,\n response = _xhr.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n }]);\n return BlobUpload;\n }();\n\n var id = 0;\n\n var DirectUpload = function () {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n return DirectUpload;\n }();\n\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n }\n\n var DirectUploadController = function () {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }]);\n return DirectUploadController;\n }();\n\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\n var DirectUploadsController = function () {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray$1(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n }]);\n return DirectUploadsController;\n }();\n\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n\n function didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm.delete(form);\n }\n\n function disable(input) {\n input.disabled = true;\n }\n\n function enable(input) {\n input.disabled = false;\n }\n\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { DirectUpload } from \"@rails/activestorage\";\nexport var AttachmentUpload = /*#__PURE__*/function () {\n function AttachmentUpload(attachment, element) {\n _classCallCheck(this, AttachmentUpload);\n\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n\n _createClass(AttachmentUpload, [{\n key: \"start\",\n value: function start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this = this;\n\n xhr.upload.addEventListener(\"progress\", function (event) {\n var progress = event.loaded / event.total * 100;\n\n _this.attachment.setUploadProgress(progress);\n });\n }\n }, {\n key: \"directUploadDidComplete\",\n value: function directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(\"Direct upload failed: \".concat(error));\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n });\n }\n }, {\n key: \"createBlobUrl\",\n value: function createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate.replace(\":signed_id\", signedId).replace(\":filename\", encodeURIComponent(filename));\n }\n }, {\n key: \"directUploadUrl\",\n get: function get() {\n return this.element.dataset.directUploadUrl;\n }\n }, {\n key: \"blobUrlTemplate\",\n get: function get() {\n return this.element.dataset.blobUrlTemplate;\n }\n }]);\n\n return AttachmentUpload;\n}();","import { AttachmentUpload } from \"./attachment_upload\";\naddEventListener(\"trix-attachment-add\", function (event) {\n var attachment = event.attachment,\n target = event.target;\n\n if (attachment.file) {\n var upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nTrix 1.2.3\nCopyright © 2020 Basecamp, LLC\nhttp://trix-editor.org/\n */\n(function () {}).call(this), function () {\n var t;\n null == window.Set && (window.Set = t = function () {\n function t() {\n this.clear();\n }\n\n return t.prototype.clear = function () {\n return this.values = [];\n }, t.prototype.has = function (t) {\n return -1 !== this.values.indexOf(t);\n }, t.prototype.add = function (t) {\n return this.has(t) || this.values.push(t), this;\n }, t.prototype[\"delete\"] = function (t) {\n var e;\n return -1 === (e = this.values.indexOf(t)) ? !1 : (this.values.splice(e, 1), !0);\n }, t.prototype.forEach = function () {\n var t;\n return (t = this.values).forEach.apply(t, arguments);\n }, t;\n }());\n}.call(this), function (t) {\n function e() {}\n\n function n(t, e) {\n return function () {\n t.apply(e, arguments);\n };\n }\n\n function i(t) {\n if (\"object\" != _typeof(this)) throw new TypeError(\"Promises must be constructed via new\");\n if (\"function\" != typeof t) throw new TypeError(\"not a function\");\n this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], c(t, this);\n }\n\n function o(t, e) {\n for (; 3 === t._state;) {\n t = t._value;\n }\n\n return 0 === t._state ? void t._deferreds.push(e) : (t._handled = !0, void h(function () {\n var n = 1 === t._state ? e.onFulfilled : e.onRejected;\n if (null === n) return void (1 === t._state ? r : s)(e.promise, t._value);\n var i;\n\n try {\n i = n(t._value);\n } catch (o) {\n return void s(e.promise, o);\n }\n\n r(e.promise, i);\n }));\n }\n\n function r(t, e) {\n try {\n if (e === t) throw new TypeError(\"A promise cannot be resolved with itself.\");\n\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) {\n var o = e.then;\n if (e instanceof i) return t._state = 3, t._value = e, void a(t);\n if (\"function\" == typeof o) return void c(n(o, e), t);\n }\n\n t._state = 1, t._value = e, a(t);\n } catch (r) {\n s(t, r);\n }\n }\n\n function s(t, e) {\n t._state = 2, t._value = e, a(t);\n }\n\n function a(t) {\n 2 === t._state && 0 === t._deferreds.length && setTimeout(function () {\n t._handled || p(t._value);\n }, 1);\n\n for (var e = 0, n = t._deferreds.length; n > e; e++) {\n o(t, t._deferreds[e]);\n }\n\n t._deferreds = null;\n }\n\n function u(t, e, n) {\n this.onFulfilled = \"function\" == typeof t ? t : null, this.onRejected = \"function\" == typeof e ? e : null, this.promise = n;\n }\n\n function c(t, e) {\n var n = !1;\n\n try {\n t(function (t) {\n n || (n = !0, r(e, t));\n }, function (t) {\n n || (n = !0, s(e, t));\n });\n } catch (i) {\n if (n) return;\n n = !0, s(e, i);\n }\n }\n\n var l = setTimeout,\n h = \"function\" == typeof setImmediate && setImmediate || function (t) {\n l(t, 1);\n },\n p = function p(t) {\n \"undefined\" != typeof console && console && console.warn(\"Possible Unhandled Promise Rejection:\", t);\n };\n\n i.prototype[\"catch\"] = function (t) {\n return this.then(null, t);\n }, i.prototype.then = function (t, n) {\n var r = new i(e);\n return o(this, new u(t, n, r)), r;\n }, i.all = function (t) {\n var e = Array.prototype.slice.call(t);\n return new i(function (t, n) {\n function i(r, s) {\n try {\n if (s && (\"object\" == _typeof(s) || \"function\" == typeof s)) {\n var a = s.then;\n if (\"function\" == typeof a) return void a.call(s, function (t) {\n i(r, t);\n }, n);\n }\n\n e[r] = s, 0 === --o && t(e);\n } catch (u) {\n n(u);\n }\n }\n\n if (0 === e.length) return t([]);\n\n for (var o = e.length, r = 0; r < e.length; r++) {\n i(r, e[r]);\n }\n });\n }, i.resolve = function (t) {\n return t && \"object\" == _typeof(t) && t.constructor === i ? t : new i(function (e) {\n e(t);\n });\n }, i.reject = function (t) {\n return new i(function (e, n) {\n n(t);\n });\n }, i.race = function (t) {\n return new i(function (e, n) {\n for (var i = 0, o = t.length; o > i; i++) {\n t[i].then(e, n);\n }\n });\n }, i._setImmediateFn = function (t) {\n h = t;\n }, i._setUnhandledRejectionFn = function (t) {\n p = t;\n }, \"undefined\" != typeof module && module.exports ? module.exports = i : t.Promise || (t.Promise = i);\n}(this), function () {\n var t = \"object\" == _typeof(window.customElements),\n e = \"function\" == typeof document.registerElement,\n n = t || e;\n\n n || (\n /**\n * @license\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n \"undefined\" == typeof WeakMap && !function () {\n var t = Object.defineProperty,\n e = Date.now() % 1e9,\n n = function n() {\n this.name = \"__st\" + (1e9 * Math.random() >>> 0) + (e++ + \"__\");\n };\n\n n.prototype = {\n set: function set(e, n) {\n var i = e[this.name];\n return i && i[0] === e ? i[1] = n : t(e, this.name, {\n value: [e, n],\n writable: !0\n }), this;\n },\n get: function get(t) {\n var e;\n return (e = t[this.name]) && e[0] === t ? e[1] : void 0;\n },\n \"delete\": function _delete(t) {\n var e = t[this.name];\n return e && e[0] === t ? (e[0] = e[1] = void 0, !0) : !1;\n },\n has: function has(t) {\n var e = t[this.name];\n return e ? e[0] === t : !1;\n }\n }, window.WeakMap = n;\n }(), function (t) {\n function e(t) {\n A.push(t), b || (b = !0, g(i));\n }\n\n function n(t) {\n return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t) || t;\n }\n\n function i() {\n b = !1;\n var t = A;\n A = [], t.sort(function (t, e) {\n return t.uid_ - e.uid_;\n });\n var e = !1;\n t.forEach(function (t) {\n var n = t.takeRecords();\n o(t), n.length && (t.callback_(n, t), e = !0);\n }), e && i();\n }\n\n function o(t) {\n t.nodes_.forEach(function (e) {\n var n = m.get(e);\n n && n.forEach(function (e) {\n e.observer === t && e.removeTransientObservers();\n });\n });\n }\n\n function r(t, e) {\n for (var n = t; n; n = n.parentNode) {\n var i = m.get(n);\n if (i) for (var o = 0; o < i.length; o++) {\n var r = i[o],\n s = r.options;\n\n if (n === t || s.subtree) {\n var a = e(s);\n a && r.enqueue(a);\n }\n }\n }\n }\n\n function s(t) {\n this.callback_ = t, this.nodes_ = [], this.records_ = [], this.uid_ = ++C;\n }\n\n function a(t, e) {\n this.type = t, this.target = e, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null;\n }\n\n function u(t) {\n var e = new a(t.type, t.target);\n return e.addedNodes = t.addedNodes.slice(), e.removedNodes = t.removedNodes.slice(), e.previousSibling = t.previousSibling, e.nextSibling = t.nextSibling, e.attributeName = t.attributeName, e.attributeNamespace = t.attributeNamespace, e.oldValue = t.oldValue, e;\n }\n\n function c(t, e) {\n return x = new a(t, e);\n }\n\n function l(t) {\n return w ? w : (w = u(x), w.oldValue = t, w);\n }\n\n function h() {\n x = w = void 0;\n }\n\n function p(t) {\n return t === w || t === x;\n }\n\n function d(t, e) {\n return t === e ? t : w && p(t) ? w : null;\n }\n\n function f(t, e, n) {\n this.observer = t, this.target = e, this.options = n, this.transientObservedNodes = [];\n }\n\n if (!t.JsMutationObserver) {\n var g,\n m = new WeakMap();\n if (/Trident|Edge/.test(navigator.userAgent)) g = setTimeout;else if (window.setImmediate) g = window.setImmediate;else {\n var v = [],\n y = String(Math.random());\n window.addEventListener(\"message\", function (t) {\n if (t.data === y) {\n var e = v;\n v = [], e.forEach(function (t) {\n t();\n });\n }\n }), g = function g(t) {\n v.push(t), window.postMessage(y, \"*\");\n };\n }\n var b = !1,\n A = [],\n C = 0;\n s.prototype = {\n observe: function observe(t, e) {\n if (t = n(t), !e.childList && !e.attributes && !e.characterData || e.attributeOldValue && !e.attributes || e.attributeFilter && e.attributeFilter.length && !e.attributes || e.characterDataOldValue && !e.characterData) throw new SyntaxError();\n var i = m.get(t);\n i || m.set(t, i = []);\n\n for (var o, r = 0; r < i.length; r++) {\n if (i[r].observer === this) {\n o = i[r], o.removeListeners(), o.options = e;\n break;\n }\n }\n\n o || (o = new f(this, t, e), i.push(o), this.nodes_.push(t)), o.addListeners();\n },\n disconnect: function disconnect() {\n this.nodes_.forEach(function (t) {\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n var i = e[n];\n\n if (i.observer === this) {\n i.removeListeners(), e.splice(n, 1);\n break;\n }\n }\n }, this), this.records_ = [];\n },\n takeRecords: function takeRecords() {\n var t = this.records_;\n return this.records_ = [], t;\n }\n };\n var x, w;\n f.prototype = {\n enqueue: function enqueue(t) {\n var n = this.observer.records_,\n i = n.length;\n\n if (n.length > 0) {\n var o = n[i - 1],\n r = d(o, t);\n if (r) return void (n[i - 1] = r);\n } else e(this.observer);\n\n n[i] = t;\n },\n addListeners: function addListeners() {\n this.addListeners_(this.target);\n },\n addListeners_: function addListeners_(t) {\n var e = this.options;\n e.attributes && t.addEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.addEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.addEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.addEventListener(\"DOMNodeRemoved\", this, !0);\n },\n removeListeners: function removeListeners() {\n this.removeListeners_(this.target);\n },\n removeListeners_: function removeListeners_(t) {\n var e = this.options;\n e.attributes && t.removeEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.removeEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.removeEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.removeEventListener(\"DOMNodeRemoved\", this, !0);\n },\n addTransientObserver: function addTransientObserver(t) {\n if (t !== this.target) {\n this.addListeners_(t), this.transientObservedNodes.push(t);\n var e = m.get(t);\n e || m.set(t, e = []), e.push(this);\n }\n },\n removeTransientObservers: function removeTransientObservers() {\n var t = this.transientObservedNodes;\n this.transientObservedNodes = [], t.forEach(function (t) {\n this.removeListeners_(t);\n\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n if (e[n] === this) {\n e.splice(n, 1);\n break;\n }\n }\n }, this);\n },\n handleEvent: function handleEvent(t) {\n switch (t.stopImmediatePropagation(), t.type) {\n case \"DOMAttrModified\":\n var e = t.attrName,\n n = t.relatedNode.namespaceURI,\n i = t.target,\n o = new c(\"attributes\", i);\n o.attributeName = e, o.attributeNamespace = n;\n var s = t.attrChange === MutationEvent.ADDITION ? null : t.prevValue;\n r(i, function (t) {\n return !t.attributes || t.attributeFilter && t.attributeFilter.length && -1 === t.attributeFilter.indexOf(e) && -1 === t.attributeFilter.indexOf(n) ? void 0 : t.attributeOldValue ? l(s) : o;\n });\n break;\n\n case \"DOMCharacterDataModified\":\n var i = t.target,\n o = c(\"characterData\", i),\n s = t.prevValue;\n r(i, function (t) {\n return t.characterData ? t.characterDataOldValue ? l(s) : o : void 0;\n });\n break;\n\n case \"DOMNodeRemoved\":\n this.addTransientObserver(t.target);\n\n case \"DOMNodeInserted\":\n var a,\n u,\n p = t.target;\n \"DOMNodeInserted\" === t.type ? (a = [p], u = []) : (a = [], u = [p]);\n var d = p.previousSibling,\n f = p.nextSibling,\n o = c(\"childList\", t.target.parentNode);\n o.addedNodes = a, o.removedNodes = u, o.previousSibling = d, o.nextSibling = f, r(t.relatedNode, function (t) {\n return t.childList ? o : void 0;\n });\n }\n\n h();\n }\n }, t.JsMutationObserver = s, t.MutationObserver || (t.MutationObserver = s, s._isPolyfilled = !0);\n }\n }(self), function () {\n \"use strict\";\n\n if (!window.performance || !window.performance.now) {\n var t = Date.now();\n window.performance = {\n now: function now() {\n return Date.now() - t;\n }\n };\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function () {\n var t = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n return t ? function (e) {\n return t(function () {\n e(performance.now());\n });\n } : function (t) {\n return window.setTimeout(t, 1e3 / 60);\n };\n }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function () {\n return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function (t) {\n clearTimeout(t);\n };\n }());\n\n var e = function () {\n var t = document.createEvent(\"Event\");\n return t.initEvent(\"foo\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }();\n\n if (!e) {\n var n = Event.prototype.preventDefault;\n\n Event.prototype.preventDefault = function () {\n this.cancelable && (n.call(this), Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n },\n configurable: !0\n }));\n };\n }\n\n var i = /Trident/.test(navigator.userAgent);\n\n if ((!window.CustomEvent || i && \"function\" != typeof window.CustomEvent) && (window.CustomEvent = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(t, Boolean(e.bubbles), Boolean(e.cancelable), e.detail), n;\n }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && \"function\" != typeof window.Event) {\n var o = window.Event;\n window.Event = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"Event\");\n return n.initEvent(t, Boolean(e.bubbles), Boolean(e.cancelable)), n;\n }, window.Event.prototype = o.prototype;\n }\n }(window.WebComponents), window.CustomElements = window.CustomElements || {\n flags: {}\n }, function (t) {\n var e = t.flags,\n n = [],\n i = function i(t) {\n n.push(t);\n },\n o = function o() {\n n.forEach(function (e) {\n e(t);\n });\n };\n\n t.addModule = i, t.initializeModules = o, t.hasNative = Boolean(document.registerElement), t.isIE = /Trident/.test(navigator.userAgent), t.useNative = !e.register && t.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative);\n }(window.CustomElements), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n n(t, function (t) {\n return e(t) ? !0 : void i(t, e);\n }), i(t, e);\n }\n\n function n(t, e, i) {\n var o = t.firstElementChild;\n if (!o) for (o = t.firstChild; o && o.nodeType !== Node.ELEMENT_NODE;) {\n o = o.nextSibling;\n }\n\n for (; o;) {\n e(o, i) !== !0 && n(o, e, i), o = o.nextElementSibling;\n }\n\n return null;\n }\n\n function i(t, n) {\n for (var i = t.shadowRoot; i;) {\n e(i, n), i = i.olderShadowRoot;\n }\n }\n\n function o(t, e) {\n r(t, e, []);\n }\n\n function r(t, e, n) {\n if (t = window.wrap(t), !(n.indexOf(t) >= 0)) {\n n.push(t);\n\n for (var i, o = t.querySelectorAll(\"link[rel=\" + s + \"]\"), a = 0, u = o.length; u > a && (i = o[a]); a++) {\n i.import && r(i.import, e, n);\n }\n\n e(t);\n }\n }\n\n var s = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : \"none\";\n t.forDocumentTree = o, t.forSubtree = e;\n }), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n return n(t, e) || i(t, e);\n }\n\n function n(e, n) {\n return t.upgrade(e, n) ? !0 : void (n && s(e));\n }\n\n function i(t, e) {\n b(t, function (t) {\n return n(t, e) ? !0 : void 0;\n });\n }\n\n function o(t) {\n w.push(t), x || (x = !0, setTimeout(r));\n }\n\n function r() {\n x = !1;\n\n for (var t, e = w, n = 0, i = e.length; i > n && (t = e[n]); n++) {\n t();\n }\n\n w = [];\n }\n\n function s(t) {\n C ? o(function () {\n a(t);\n }) : a(t);\n }\n\n function a(t) {\n t.__upgraded__ && !t.__attached && (t.__attached = !0, t.attachedCallback && t.attachedCallback());\n }\n\n function u(t) {\n c(t), b(t, function (t) {\n c(t);\n });\n }\n\n function c(t) {\n C ? o(function () {\n l(t);\n }) : l(t);\n }\n\n function l(t) {\n t.__upgraded__ && t.__attached && (t.__attached = !1, t.detachedCallback && t.detachedCallback());\n }\n\n function h(t) {\n for (var e = t, n = window.wrap(document); e;) {\n if (e == n) return !0;\n e = e.parentNode || e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.host;\n }\n }\n\n function p(t) {\n if (t.shadowRoot && !t.shadowRoot.__watched) {\n y.dom && console.log(\"watching shadow-root for: \", t.localName);\n\n for (var e = t.shadowRoot; e;) {\n g(e), e = e.olderShadowRoot;\n }\n }\n }\n\n function d(t, n) {\n if (y.dom) {\n var i = n[0];\n\n if (i && \"childList\" === i.type && i.addedNodes && i.addedNodes) {\n for (var o = i.addedNodes[0]; o && o !== document && !o.host;) {\n o = o.parentNode;\n }\n\n var r = o && (o.URL || o._URL || o.host && o.host.localName) || \"\";\n r = r.split(\"/?\").shift().split(\"/\").pop();\n }\n\n console.group(\"mutations (%d) [%s]\", n.length, r || \"\");\n }\n\n var s = h(t);\n n.forEach(function (t) {\n \"childList\" === t.type && (E(t.addedNodes, function (t) {\n t.localName && e(t, s);\n }), E(t.removedNodes, function (t) {\n t.localName && u(t);\n }));\n }), y.dom && console.groupEnd();\n }\n\n function f(t) {\n for (t = window.wrap(t), t || (t = window.wrap(document)); t.parentNode;) {\n t = t.parentNode;\n }\n\n var e = t.__observer;\n e && (d(t, e.takeRecords()), r());\n }\n\n function g(t) {\n if (!t.__observer) {\n var e = new MutationObserver(d.bind(this, t));\n e.observe(t, {\n childList: !0,\n subtree: !0\n }), t.__observer = e;\n }\n }\n\n function m(t) {\n t = window.wrap(t), y.dom && console.group(\"upgradeDocument: \", t.baseURI.split(\"/\").pop());\n var n = t === window.wrap(document);\n e(t, n), g(t), y.dom && console.groupEnd();\n }\n\n function v(t) {\n A(t, m);\n }\n\n var y = t.flags,\n b = t.forSubtree,\n A = t.forDocumentTree,\n C = window.MutationObserver._isPolyfilled && y[\"throttle-attached\"];\n t.hasPolyfillMutations = C, t.hasThrottledAttached = C;\n var x = !1,\n w = [],\n E = Array.prototype.forEach.call.bind(Array.prototype.forEach),\n S = Element.prototype.createShadowRoot;\n S && (Element.prototype.createShadowRoot = function () {\n var t = S.call(this);\n return window.CustomElements.watchShadow(this), t;\n }), t.watchShadow = p, t.upgradeDocumentTree = v, t.upgradeDocument = m, t.upgradeSubtree = i, t.upgradeAll = e, t.attached = s, t.takeRecords = f;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n if (\"template\" === e.localName && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e), !e.__upgraded__ && e.nodeType === Node.ELEMENT_NODE) {\n var o = e.getAttribute(\"is\"),\n r = t.getRegisteredDefinition(e.localName) || t.getRegisteredDefinition(o);\n if (r && (o && r.tag == e.localName || !o && !r.extends)) return n(e, r, i);\n }\n }\n\n function n(e, n, o) {\n return s.upgrade && console.group(\"upgrade:\", e.localName), n.is && e.setAttribute(\"is\", n.is), i(e, n), e.__upgraded__ = !0, r(e), o && t.attached(e), t.upgradeSubtree(e, o), s.upgrade && console.groupEnd(), e;\n }\n\n function i(t, e) {\n Object.__proto__ ? t.__proto__ = e.prototype : (o(t, e.prototype, e.native), t.__proto__ = e.prototype);\n }\n\n function o(t, e, n) {\n for (var i = {}, o = e; o !== n && o !== HTMLElement.prototype;) {\n for (var r, s = Object.getOwnPropertyNames(o), a = 0; r = s[a]; a++) {\n i[r] || (Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(o, r)), i[r] = 1);\n }\n\n o = Object.getPrototypeOf(o);\n }\n }\n\n function r(t) {\n t.createdCallback && t.createdCallback();\n }\n\n var s = t.flags;\n t.upgrade = e, t.upgradeWithDefinition = n, t.implementPrototype = i;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n var u = i || {};\n if (!e) throw new Error(\"document.registerElement: first argument `name` must not be empty\");\n if (e.indexOf(\"-\") < 0) throw new Error(\"document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '\" + String(e) + \"'.\");\n if (o(e)) throw new Error(\"Failed to execute 'registerElement' on 'Document': Registration failed for type '\" + String(e) + \"'. The type name is invalid.\");\n if (c(e)) throw new Error(\"DuplicateDefinitionError: a type with name '\" + String(e) + \"' is already registered\");\n return u.prototype || (u.prototype = Object.create(HTMLElement.prototype)), u.__name = e.toLowerCase(), u.extends && (u.extends = u.extends.toLowerCase()), u.lifecycle = u.lifecycle || {}, u.ancestry = r(u.extends), s(u), a(u), n(u.prototype), l(u.__name, u), u.ctor = h(u), u.ctor.prototype = u.prototype, u.prototype.constructor = u.ctor, t.ready && m(document), u.ctor;\n }\n\n function n(t) {\n if (!t.setAttribute._polyfilled) {\n var e = t.setAttribute;\n\n t.setAttribute = function (t, n) {\n i.call(this, t, n, e);\n };\n\n var n = t.removeAttribute;\n t.removeAttribute = function (t) {\n i.call(this, t, null, n);\n }, t.setAttribute._polyfilled = !0;\n }\n }\n\n function i(t, e, n) {\n t = t.toLowerCase();\n var i = this.getAttribute(t);\n n.apply(this, arguments);\n var o = this.getAttribute(t);\n this.attributeChangedCallback && o !== i && this.attributeChangedCallback(t, i, o);\n }\n\n function o(t) {\n for (var e = 0; e < C.length; e++) {\n if (t === C[e]) return !0;\n }\n }\n\n function r(t) {\n var e = c(t);\n return e ? r(e.extends).concat([e]) : [];\n }\n\n function s(t) {\n for (var e, n = t.extends, i = 0; e = t.ancestry[i]; i++) {\n n = e.is && e.tag;\n }\n\n t.tag = n || t.__name, n && (t.is = t.__name);\n }\n\n function a(t) {\n if (!Object.__proto__) {\n var e = HTMLElement.prototype;\n\n if (t.is) {\n var n = document.createElement(t.tag);\n e = Object.getPrototypeOf(n);\n }\n\n for (var i, o = t.prototype, r = !1; o;) {\n o == e && (r = !0), i = Object.getPrototypeOf(o), i && (o.__proto__ = i), o = i;\n }\n\n r || console.warn(t.tag + \" prototype not found in prototype chain for \" + t.is), t.native = e;\n }\n }\n\n function u(t) {\n return y(E(t.tag), t);\n }\n\n function c(t) {\n return t ? x[t.toLowerCase()] : void 0;\n }\n\n function l(t, e) {\n x[t] = e;\n }\n\n function h(t) {\n return function () {\n return u(t);\n };\n }\n\n function p(t, e, n) {\n return t === w ? d(e, n) : S(t, e);\n }\n\n function d(t, e) {\n t && (t = t.toLowerCase()), e && (e = e.toLowerCase());\n var n = c(e || t);\n\n if (n) {\n if (t == n.tag && e == n.is) return new n.ctor();\n if (!e && !n.is) return new n.ctor();\n }\n\n var i;\n return e ? (i = d(t), i.setAttribute(\"is\", e), i) : (i = E(t), t.indexOf(\"-\") >= 0 && b(i, HTMLElement), i);\n }\n\n function f(t, e) {\n var n = t[e];\n\n t[e] = function () {\n var t = n.apply(this, arguments);\n return v(t), t;\n };\n }\n\n var g,\n m = (t.isIE, t.upgradeDocumentTree),\n v = t.upgradeAll,\n y = t.upgradeWithDefinition,\n b = t.implementPrototype,\n A = t.useNative,\n C = [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-src\", \"font-face-uri\", \"font-face-format\", \"font-face-name\", \"missing-glyph\"],\n x = {},\n w = \"http://www.w3.org/1999/xhtml\",\n E = document.createElement.bind(document),\n S = document.createElementNS.bind(document);\n g = Object.__proto__ || A ? function (t, e) {\n return t instanceof e;\n } : function (t, e) {\n if (t instanceof e) return !0;\n\n for (var n = t; n;) {\n if (n === e.prototype) return !0;\n n = n.__proto__;\n }\n\n return !1;\n }, f(Node.prototype, \"cloneNode\"), f(document, \"importNode\"), document.registerElement = e, document.createElement = d, document.createElementNS = p, t.registry = x, t.instanceof = g, t.reservedTagList = C, t.getRegisteredDefinition = c, document.register = document.registerElement;\n }), function (t) {\n function e() {\n r(window.wrap(document)), window.CustomElements.ready = !0;\n\n var t = window.requestAnimationFrame || function (t) {\n setTimeout(t, 16);\n };\n\n t(function () {\n setTimeout(function () {\n window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent(\"WebComponentsReady\", {\n bubbles: !0\n }));\n });\n });\n }\n\n var n = t.useNative,\n i = t.initializeModules;\n\n if (t.isIE, n) {\n var o = function o() {};\n\n t.watchShadow = o, t.upgrade = o, t.upgradeAll = o, t.upgradeDocumentTree = o, t.upgradeSubtree = o, t.takeRecords = o, t.instanceof = function (t, e) {\n return t instanceof e;\n };\n } else i();\n\n var r = t.upgradeDocumentTree,\n s = t.upgradeDocument;\n if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function (t) {\n return t;\n }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function (t) {\n t.import && s(wrap(t.import));\n }), \"complete\" === document.readyState || t.flags.eager) e();else if (\"interactive\" !== document.readyState || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) {\n var a = window.HTMLImports && !window.HTMLImports.ready ? \"HTMLImportsLoaded\" : \"DOMContentLoaded\";\n window.addEventListener(a, e);\n } else e();\n }(window.CustomElements));\n}.call(this), function () {}.call(this), function () {\n var t = this;\n (function () {\n (function () {\n this.Trix = {\n VERSION: \"1.2.3\",\n ZERO_WIDTH_SPACE: \"\\uFEFF\",\n NON_BREAKING_SPACE: \"\\xa0\",\n OBJECT_REPLACEMENT_CHARACTER: \"\\uFFFC\",\n browser: {\n composesExistingText: /Android.*Chrome/.test(navigator.userAgent),\n forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent),\n supportsInputEvents: function () {\n var t, e, n, i;\n if (\"undefined\" == typeof InputEvent) return !1;\n\n for (i = [\"data\", \"getTargetRanges\", \"inputType\"], t = 0, e = i.length; e > t; t++) {\n if (n = i[t], !(n in InputEvent.prototype)) return !1;\n }\n\n return !0;\n }()\n },\n config: {}\n };\n }).call(this);\n }).call(t);\n var e = t.Trix;\n (function () {\n (function () {\n e.BasicObject = function () {\n function t() {}\n\n var e, n, i;\n return t.proxyMethod = function (t) {\n var i, o, r, s, a;\n return r = n(t), i = r.name, s = r.toMethod, a = r.toProperty, o = r.optional, this.prototype[i] = function () {\n var t, n;\n return t = null != s ? o ? \"function\" == typeof this[s] ? this[s]() : void 0 : this[s]() : null != a ? this[a] : void 0, o ? (n = null != t ? t[i] : void 0, null != n ? e.call(n, t, arguments) : void 0) : (n = t[i], e.call(n, t, arguments));\n };\n }, n = function n(t) {\n var e, n;\n if (!(n = t.match(i))) throw new Error(\"can't parse @proxyMethod expression: \" + t);\n return e = {\n name: n[4]\n }, null != n[2] ? e.toMethod = n[1] : e.toProperty = n[1], null != n[3] && (e.optional = !0), e;\n }, e = Function.prototype.apply, i = /^(.+?)(\\(\\))?(\\?)?\\.(.+?)$/, t;\n }();\n }).call(this), function () {\n var t = function t(_t, e) {\n function i() {\n this.constructor = _t;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t.prototype = new i(), _t.__super__ = e.prototype, _t;\n },\n n = {}.hasOwnProperty;\n\n e.Object = function (n) {\n function i() {\n this.id = ++o;\n }\n\n var o;\n return t(i, n), o = 0, i.fromJSONString = function (t) {\n return this.fromJSON(JSON.parse(t));\n }, i.prototype.hasSameConstructorAs = function (t) {\n return this.constructor === (null != t ? t.constructor : void 0);\n }, i.prototype.isEqualTo = function (t) {\n return this === t;\n }, i.prototype.inspect = function () {\n var t, e, n;\n return t = function () {\n var t, i, o;\n i = null != (t = this.contentsForInspection()) ? t : {}, o = [];\n\n for (e in i) {\n n = i[e], o.push(e + \"=\" + n);\n }\n\n return o;\n }.call(this), \"#<\" + this.constructor.name + \":\" + this.id + (t.length ? \" \" + t.join(\", \") : \"\") + \">\";\n }, i.prototype.contentsForInspection = function () {}, i.prototype.toJSONString = function () {\n return JSON.stringify(this);\n }, i.prototype.toUTF16String = function () {\n return e.UTF16String.box(this);\n }, i.prototype.getCacheKey = function () {\n return this.id.toString();\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n e.extend = function (t) {\n var e, n;\n\n for (e in t) {\n n = t[e], this[e] = n;\n }\n\n return this;\n };\n }.call(this), function () {\n e.extend({\n defer: function defer(t) {\n return setTimeout(t, 1);\n }\n });\n }.call(this), function () {\n var t, n;\n e.extend({\n normalizeSpaces: function normalizeSpaces(t) {\n return t.replace(RegExp(\"\" + e.ZERO_WIDTH_SPACE, \"g\"), \"\").replace(RegExp(\"\" + e.NON_BREAKING_SPACE, \"g\"), \" \");\n },\n normalizeNewlines: function normalizeNewlines(t) {\n return t.replace(/\\r\\n/g, \"\\n\");\n },\n breakableWhitespacePattern: RegExp(\"[^\\\\S\" + e.NON_BREAKING_SPACE + \"]\"),\n squishBreakableWhitespace: function squishBreakableWhitespace(t) {\n return t.replace(RegExp(\"\" + e.breakableWhitespacePattern.source, \"g\"), \" \").replace(/\\ {2,}/g, \" \");\n },\n escapeHTML: function escapeHTML(t) {\n var e;\n return e = document.createElement(\"div\"), e.textContent = t, e.innerHTML;\n },\n summarizeStringChange: function summarizeStringChange(t, i) {\n var o, r, s, a;\n return t = e.UTF16String.box(t), i = e.UTF16String.box(i), i.length < t.length ? (r = n(t, i), a = r[0], o = r[1]) : (s = n(i, t), o = s[0], a = s[1]), {\n added: o,\n removed: a\n };\n }\n }), n = function n(_n, i) {\n var o, r, s, a, u;\n return _n.isEqualTo(i) ? [\"\", \"\"] : (r = t(_n, i), a = r.utf16String.length, s = a ? (u = r.offset, r, o = _n.codepoints.slice(0, u).concat(_n.codepoints.slice(u + a)), t(i, e.UTF16String.fromCodepoints(o))) : t(i, _n), [r.utf16String.toString(), s.utf16String.toString()]);\n }, t = function t(_t2, e) {\n var n, i, o;\n\n for (n = 0, i = _t2.length, o = e.length; i > n && _t2.charAt(n).isEqualTo(e.charAt(n));) {\n n++;\n }\n\n for (; i > n + 1 && _t2.charAt(i - 1).isEqualTo(e.charAt(o - 1));) {\n i--, o--;\n }\n\n return {\n utf16String: _t2.slice(n, i),\n offset: n\n };\n };\n }.call(this), function () {\n e.extend({\n copyObject: function copyObject(t) {\n var e, n, i;\n null == t && (t = {}), n = {};\n\n for (e in t) {\n i = t[e], n[e] = i;\n }\n\n return n;\n },\n objectsAreEqual: function objectsAreEqual(t, e) {\n var n, i;\n if (null == t && (t = {}), null == e && (e = {}), Object.keys(t).length !== Object.keys(e).length) return !1;\n\n for (n in t) {\n if (i = t[n], i !== e[n]) return !1;\n }\n\n return !0;\n }\n });\n }.call(this), function () {\n var t = [].slice;\n e.extend({\n arraysAreEqual: function arraysAreEqual(t, e) {\n var n, i, o, r;\n if (null == t && (t = []), null == e && (e = []), t.length !== e.length) return !1;\n\n for (i = n = 0, o = t.length; o > n; i = ++n) {\n if (r = t[i], r !== e[i]) return !1;\n }\n\n return !0;\n },\n arrayStartsWith: function arrayStartsWith(t, n) {\n return null == t && (t = []), null == n && (n = []), e.arraysAreEqual(t.slice(0, n.length), n);\n },\n spliceArray: function spliceArray() {\n var e, n, i;\n return n = arguments[0], e = 2 <= arguments.length ? t.call(arguments, 1) : [], i = n.slice(0), i.splice.apply(i, e), i;\n },\n summarizeArrayChange: function summarizeArrayChange(t, e) {\n var n, i, o, r, s, a, u, c, l, h, p;\n\n for (null == t && (t = []), null == e && (e = []), n = [], h = [], o = new Set(), r = 0, u = t.length; u > r; r++) {\n p = t[r], o.add(p);\n }\n\n for (i = new Set(), s = 0, c = e.length; c > s; s++) {\n p = e[s], i.add(p), o.has(p) || n.push(p);\n }\n\n for (a = 0, l = t.length; l > a; a++) {\n p = t[a], i.has(p) || h.push(p);\n }\n\n return {\n added: n,\n removed: h\n };\n }\n });\n }.call(this), function () {\n var t, n, i, o;\n t = null, n = null, o = null, i = null, e.extend({\n getAllAttributeNames: function getAllAttributeNames() {\n return null != t ? t : t = e.getTextAttributeNames().concat(e.getBlockAttributeNames());\n },\n getBlockConfig: function getBlockConfig(t) {\n return e.config.blockAttributes[t];\n },\n getBlockAttributeNames: function getBlockAttributeNames() {\n return null != n ? n : n = Object.keys(e.config.blockAttributes);\n },\n getTextConfig: function getTextConfig(t) {\n return e.config.textAttributes[t];\n },\n getTextAttributeNames: function getTextAttributeNames() {\n return null != o ? o : o = Object.keys(e.config.textAttributes);\n },\n getListAttributeNames: function getListAttributeNames() {\n var t, n;\n return null != i ? i : i = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].listAttribute, null != n && o.push(n);\n }\n\n return o;\n }();\n }\n });\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = document.documentElement, n = null != (i = null != (o = null != (r = t.matchesSelector) ? r : t.webkitMatchesSelector) ? o : t.msMatchesSelector) ? i : t.mozMatchesSelector, e.extend({\n handleEvent: function handleEvent(n, i) {\n var o, r, _s, a, u, c, l, h, p, d, f, g;\n\n return h = null != i ? i : {}, c = h.onElement, u = h.matchingSelector, g = h.withCallback, a = h.inPhase, l = h.preventDefault, d = h.times, r = null != c ? c : t, p = u, o = g, f = \"capturing\" === a, _s = function s(t) {\n var n;\n return null != d && 0 === --d && _s.destroy(), n = e.findClosestElementFromNode(t.target, {\n matchingSelector: p\n }), null != n && (null != g && g.call(n, t, n), l) ? t.preventDefault() : void 0;\n }, _s.destroy = function () {\n return r.removeEventListener(n, _s, f);\n }, r.addEventListener(n, _s, f), _s;\n },\n handleEventOnce: function handleEventOnce(t, n) {\n return null == n && (n = {}), n.times = 1, e.handleEvent(t, n);\n },\n triggerEvent: function triggerEvent(n, i) {\n var o, r, s, a, u, c, l;\n return l = null != i ? i : {}, c = l.onElement, r = l.bubbles, s = l.cancelable, o = l.attributes, a = null != c ? c : t, r = r !== !1, s = s !== !1, u = document.createEvent(\"Events\"), u.initEvent(n, r, s), null != o && e.extend.call(u, o), a.dispatchEvent(u);\n },\n elementMatchesSelector: function elementMatchesSelector(t, e) {\n return 1 === (null != t ? t.nodeType : void 0) ? n.call(t, e) : void 0;\n },\n findClosestElementFromNode: function findClosestElementFromNode(t, n) {\n var i, o, r;\n\n for (o = null != n ? n : {}, i = o.matchingSelector, r = o.untilNode; null != t && t.nodeType !== Node.ELEMENT_NODE;) {\n t = t.parentNode;\n }\n\n if (null != t) {\n if (null == i) return t;\n if (t.closest && null == r) return t.closest(i);\n\n for (; t && t !== r;) {\n if (e.elementMatchesSelector(t, i)) return t;\n t = t.parentNode;\n }\n }\n },\n findInnerElement: function findInnerElement(t) {\n for (; null != t ? t.firstElementChild : void 0;) {\n t = t.firstElementChild;\n }\n\n return t;\n },\n innerElementIsActive: function innerElementIsActive(t) {\n return document.activeElement !== t && e.elementContainsNode(t, document.activeElement);\n },\n elementContainsNode: function elementContainsNode(t, e) {\n if (t && e) for (; e;) {\n if (e === t) return !0;\n e = e.parentNode;\n }\n },\n findNodeFromContainerAndOffset: function findNodeFromContainerAndOffset(t, e) {\n var n;\n if (t) return t.nodeType === Node.TEXT_NODE ? t : 0 === e ? null != (n = t.firstChild) ? n : t : t.childNodes.item(e - 1);\n },\n findElementFromContainerAndOffset: function findElementFromContainerAndOffset(t, n) {\n var i;\n return i = e.findNodeFromContainerAndOffset(t, n), e.findClosestElementFromNode(i);\n },\n findChildIndexOfNode: function findChildIndexOfNode(t) {\n var e;\n\n if (null != t ? t.parentNode : void 0) {\n for (e = 0; t = t.previousSibling;) {\n e++;\n }\n\n return e;\n }\n },\n removeNode: function removeNode(t) {\n var e;\n return null != t && null != (e = t.parentNode) ? e.removeChild(t) : void 0;\n },\n walkTree: function walkTree(t, e) {\n var n, i, o, r, s;\n return o = null != e ? e : {}, i = o.onlyNodesOfType, r = o.usingFilter, n = o.expandEntityReferences, s = function () {\n switch (i) {\n case \"element\":\n return NodeFilter.SHOW_ELEMENT;\n\n case \"text\":\n return NodeFilter.SHOW_TEXT;\n\n case \"comment\":\n return NodeFilter.SHOW_COMMENT;\n\n default:\n return NodeFilter.SHOW_ALL;\n }\n }(), document.createTreeWalker(t, s, null != r ? r : null, n === !0);\n },\n tagName: function tagName(t) {\n var e;\n return null != t && null != (e = t.tagName) ? e.toLowerCase() : void 0;\n },\n makeElement: function makeElement(t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n if (null == e && (e = {}), \"object\" == _typeof(t) ? (e = t, t = e.tagName) : e = {\n attributes: e\n }, i = document.createElement(t), null != e.editable && (null == e.attributes && (e.attributes = {}), e.attributes.contenteditable = e.editable), e.attributes) {\n a = e.attributes;\n\n for (r in a) {\n h = a[r], i.setAttribute(r, h);\n }\n }\n\n if (e.style) {\n u = e.style;\n\n for (r in u) {\n h = u[r], i.style[r] = h;\n }\n }\n\n if (e.data) {\n c = e.data;\n\n for (r in c) {\n h = c[r], i.dataset[r] = h;\n }\n }\n\n if (e.className) for (l = e.className.split(\" \"), o = 0, s = l.length; s > o; o++) {\n n = l[o], i.classList.add(n);\n }\n return e.textContent && (i.textContent = e.textContent), i;\n },\n getBlockTagNames: function getBlockTagNames() {\n var t, n;\n return null != e.blockTagNames ? e.blockTagNames : e.blockTagNames = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].tagName, n && o.push(n);\n }\n\n return o;\n }();\n },\n nodeIsBlockContainer: function nodeIsBlockContainer(t) {\n return e.nodeIsBlockStartComment(null != t ? t.firstChild : void 0);\n },\n nodeProbablyIsBlockContainer: function nodeProbablyIsBlockContainer(t) {\n var n, i;\n return n = e.tagName(t), s.call(e.getBlockTagNames(), n) >= 0 && (i = e.tagName(t.firstChild), s.call(e.getBlockTagNames(), i) < 0);\n },\n nodeIsBlockStart: function nodeIsBlockStart(t, n) {\n var i;\n return i = (null != n ? n : {\n strict: !0\n }).strict, i ? e.nodeIsBlockStartComment(t) : e.nodeIsBlockStartComment(t) || !e.nodeIsBlockStartComment(t.firstChild) && e.nodeProbablyIsBlockContainer(t);\n },\n nodeIsBlockStartComment: function nodeIsBlockStartComment(t) {\n return e.nodeIsCommentNode(t) && \"block\" === (null != t ? t.data : void 0);\n },\n nodeIsCommentNode: function nodeIsCommentNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.COMMENT_NODE;\n },\n nodeIsCursorTarget: function nodeIsCursorTarget(t, n) {\n var i;\n return i = (null != n ? n : {}).name, t ? e.nodeIsTextNode(t) ? t.data === e.ZERO_WIDTH_SPACE ? i ? t.parentNode.dataset.trixCursorTarget === i : !0 : void 0 : e.nodeIsCursorTarget(t.firstChild) : void 0;\n },\n nodeIsAttachmentElement: function nodeIsAttachmentElement(t) {\n return e.elementMatchesSelector(t, e.AttachmentView.attachmentSelector);\n },\n nodeIsEmptyTextNode: function nodeIsEmptyTextNode(t) {\n return e.nodeIsTextNode(t) && \"\" === (null != t ? t.data : void 0);\n },\n nodeIsTextNode: function nodeIsTextNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.TEXT_NODE;\n }\n });\n }.call(this), function () {\n var t, n, i, o, r;\n t = e.copyObject, o = e.objectsAreEqual, e.extend({\n normalizeRange: i = function i(t) {\n var e;\n if (null != t) return Array.isArray(t) || (t = [t, t]), [n(t[0]), n(null != (e = t[1]) ? e : t[0])];\n },\n rangeIsCollapsed: function rangeIsCollapsed(t) {\n var e, n, o;\n if (null != t) return n = i(t), o = n[0], e = n[1], r(o, e);\n },\n rangesAreEqual: function rangesAreEqual(t, e) {\n var n, o, s, a, u, c;\n if (null != t && null != e) return s = i(t), o = s[0], n = s[1], a = i(e), c = a[0], u = a[1], r(o, c) && r(n, u);\n }\n }), n = function n(e) {\n return \"number\" == typeof e ? e : t(e);\n }, r = function r(t, e) {\n return \"number\" == typeof t ? t === e : o(t, e);\n };\n }.call(this), function () {\n var t, n, i, o, r, s, a;\n e.registerElement = function (t, e) {\n var n, i;\n return null == e && (e = {}), t = t.toLowerCase(), e = a(e), i = s(e), (n = i.defaultCSS) && (delete i.defaultCSS, o(n, t)), r(t, i);\n }, o = function o(t, e) {\n var n;\n return n = i(e), n.textContent = t.replace(/%t/g, e);\n }, i = function i(e) {\n var n, i;\n return n = document.createElement(\"style\"), n.setAttribute(\"type\", \"text/css\"), n.setAttribute(\"data-tag-name\", e.toLowerCase()), (i = t()) && n.setAttribute(\"nonce\", i), document.head.insertBefore(n, document.head.firstChild), n;\n }, t = function t() {\n var t;\n return (t = n(\"trix-csp-nonce\") || n(\"csp-nonce\")) ? t.getAttribute(\"content\") : void 0;\n }, n = function n(t) {\n return document.head.querySelector(\"meta[name=\" + t + \"]\");\n }, s = function s(t) {\n var e, n, i;\n n = {};\n\n for (e in t) {\n i = t[e], n[e] = \"function\" == typeof i ? {\n value: i\n } : i;\n }\n\n return n;\n }, a = function () {\n var t;\n return t = function t(_t3) {\n var e, n, i, o, r;\n\n for (e = {}, r = [\"initialize\", \"connect\", \"disconnect\"], n = 0, o = r.length; o > n; n++) {\n i = r[n], e[i] = _t3[i], delete _t3[i];\n }\n\n return e;\n }, window.customElements ? function (e) {\n var n, i, o, r, s;\n return s = t(e), o = s.initialize, n = s.connect, i = s.disconnect, o && (r = n, n = function n() {\n return this.initialized || (this.initialized = !0, o.call(this)), null != r ? r.call(this) : void 0;\n }), n && (e.connectedCallback = n), i && (e.disconnectedCallback = i), e;\n } : function (e) {\n var n, i, o, r;\n return r = t(e), o = r.initialize, n = r.connect, i = r.disconnect, o && (e.createdCallback = o), n && (e.attachedCallback = n), i && (e.detachedCallback = i), e;\n };\n }(), r = function () {\n return window.customElements ? function (t, e) {\n var _n2;\n\n return _n2 = function n() {\n return \"object\" == (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) ? Reflect.construct(HTMLElement, [], _n2) : HTMLElement.apply(this);\n }, Object.setPrototypeOf(_n2.prototype, HTMLElement.prototype), Object.setPrototypeOf(_n2, HTMLElement), Object.defineProperties(_n2.prototype, e), window.customElements.define(t, _n2), _n2;\n } : function (t, e) {\n var n, i;\n return i = Object.create(HTMLElement.prototype, e), n = document.registerElement(t, {\n prototype: i\n }), Object.defineProperty(i, \"constructor\", {\n value: n\n }), n;\n };\n }();\n }.call(this), function () {\n var t, n;\n e.extend({\n getDOMSelection: function getDOMSelection() {\n var t;\n return t = window.getSelection(), t.rangeCount > 0 ? t : void 0;\n },\n getDOMRange: function getDOMRange() {\n var n, i;\n return (n = null != (i = e.getDOMSelection()) ? i.getRangeAt(0) : void 0) && !t(n) ? n : void 0;\n },\n setDOMRange: function setDOMRange(t) {\n var n;\n return n = window.getSelection(), n.removeAllRanges(), n.addRange(t), e.selectionChangeObserver.update();\n }\n }), t = function t(_t4) {\n return n(_t4.startContainer) || n(_t4.endContainer);\n }, n = function n(t) {\n return !Object.getPrototypeOf(t);\n };\n }.call(this), function () {\n var t;\n t = {\n \"application/x-trix-feature-detection\": \"test\"\n }, e.extend({\n dataTransferIsPlainText: function dataTransferIsPlainText(t) {\n var e, n, i;\n return i = t.getData(\"text/plain\"), n = t.getData(\"text/html\"), i && n ? (e = new DOMParser().parseFromString(n, \"text/html\").body, e.textContent === i ? !e.querySelector(\"*\") : void 0) : null != i ? i.length : void 0;\n },\n dataTransferIsWritable: function dataTransferIsWritable(e) {\n var n, i;\n\n if (null != (null != e ? e.setData : void 0)) {\n for (n in t) {\n if (i = t[n], !function () {\n try {\n return e.setData(n, i), e.getData(n) === i;\n } catch (t) {}\n }()) return;\n }\n\n return !0;\n }\n },\n keyEventIsKeyboardCommand: function () {\n return /Mac|^iP/.test(navigator.platform) ? function (t) {\n return t.metaKey;\n } : function (t) {\n return t.ctrlKey;\n };\n }()\n });\n }.call(this), function () {}.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.arraysAreEqual, e.Hash = function (i) {\n function o(t) {\n null == t && (t = {}), this.values = s(t), o.__super__.constructor.apply(this, arguments);\n }\n\n var r, s, a, u, c;\n return n(o, i), o.fromCommonAttributesOfObjects = function (t) {\n var e, n, i, o, s, a;\n if (null == t && (t = []), !t.length) return new this();\n\n for (e = r(t[0]), i = e.getKeys(), a = t.slice(1), n = 0, o = a.length; o > n; n++) {\n s = a[n], i = e.getKeysCommonToHash(r(s)), e = e.slice(i);\n }\n\n return e;\n }, o.box = function (t) {\n return r(t);\n }, o.prototype.add = function (t, e) {\n return this.merge(u(t, e));\n }, o.prototype.remove = function (t) {\n return new e.Hash(s(this.values, t));\n }, o.prototype.get = function (t) {\n return this.values[t];\n }, o.prototype.has = function (t) {\n return t in this.values;\n }, o.prototype.merge = function (t) {\n return new e.Hash(a(this.values, c(t)));\n }, o.prototype.slice = function (t) {\n var n, i, o, r;\n\n for (r = {}, n = 0, o = t.length; o > n; n++) {\n i = t[n], this.has(i) && (r[i] = this.values[i]);\n }\n\n return new e.Hash(r);\n }, o.prototype.getKeys = function () {\n return Object.keys(this.values);\n }, o.prototype.getKeysCommonToHash = function (t) {\n var e, n, i, o, s;\n\n for (t = r(t), o = this.getKeys(), s = [], e = 0, i = o.length; i > e; e++) {\n n = o[e], this.values[n] === t.values[n] && s.push(n);\n }\n\n return s;\n }, o.prototype.isEqualTo = function (e) {\n return t(this.toArray(), r(e).toArray());\n }, o.prototype.isEmpty = function () {\n return 0 === this.getKeys().length;\n }, o.prototype.toArray = function () {\n var t, e, n;\n return (null != this.array ? this.array : this.array = function () {\n var i;\n e = [], i = this.values;\n\n for (t in i) {\n n = i[t], e.push(t, n);\n }\n\n return e;\n }.call(this)).slice(0);\n }, o.prototype.toObject = function () {\n return s(this.values);\n }, o.prototype.toJSON = function () {\n return this.toObject();\n }, o.prototype.contentsForInspection = function () {\n return {\n values: JSON.stringify(this.values)\n };\n }, u = function u(t, e) {\n var n;\n return n = {}, n[t] = e, n;\n }, a = function a(t, e) {\n var n, i, o;\n i = s(t);\n\n for (n in e) {\n o = e[n], i[n] = o;\n }\n\n return i;\n }, s = function s(t, e) {\n var n, i, o, r, s;\n\n for (r = {}, s = Object.keys(t).sort(), n = 0, o = s.length; o > n; n++) {\n i = s[n], i !== e && (r[i] = t[i]);\n }\n\n return r;\n }, r = function r(t) {\n return t instanceof e.Hash ? t : new e.Hash(t);\n }, c = function c(t) {\n return t instanceof e.Hash ? t.values : t;\n }, o;\n }(e.Object);\n }.call(this), function () {\n e.ObjectGroup = function () {\n function t(t, e) {\n var n, i;\n this.objects = null != t ? t : [], i = e.depth, n = e.asTree, n && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, {\n asTree: n,\n depth: this.depth + 1\n }));\n }\n\n return t.groupObjects = function (t, e) {\n var n, i, o, r, s, a, u, c, l;\n\n for (null == t && (t = []), l = null != e ? e : {}, o = l.depth, n = l.asTree, n && null == o && (o = 0), c = [], s = 0, a = t.length; a > s; s++) {\n if (u = t[s], r) {\n if ((\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) && (\"function\" == typeof (i = r[r.length - 1]).canBeGroupedWith ? i.canBeGroupedWith(u, o) : void 0)) {\n r.push(u);\n continue;\n }\n\n c.push(new this(r, {\n depth: o,\n asTree: n\n })), r = null;\n }\n\n (\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) ? r = [u] : c.push(u);\n }\n\n return r && c.push(new this(r, {\n depth: o,\n asTree: n\n })), c;\n }, t.prototype.getObjects = function () {\n return this.objects;\n }, t.prototype.getDepth = function () {\n return this.depth;\n }, t.prototype.getCacheKey = function () {\n var t, e, n, i, o;\n\n for (e = [\"objectGroup\"], o = this.getObjects(), t = 0, n = o.length; n > t; t++) {\n i = o[t], e.push(i.getCacheKey());\n }\n\n return e.join(\"/\");\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t5, e) {\n function i() {\n this.constructor = _t5;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t5[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t5.prototype = new i(), _t5.__super__ = e.prototype, _t5;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectMap = function (e) {\n function n(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = []), this.objects = {}, i = 0, o = t.length; o > i; i++) {\n r = t[i], n = JSON.stringify(r), null == (e = this.objects)[n] && (e[n] = r);\n }\n }\n\n return t(n, e), n.prototype.find = function (t) {\n var e;\n return e = JSON.stringify(t), this.objects[e];\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n e.ElementStore = function () {\n function t(t) {\n this.reset(t);\n }\n\n var e;\n return t.prototype.add = function (t) {\n var n;\n return n = e(t), this.elements[n] = t;\n }, t.prototype.remove = function (t) {\n var n, i;\n return n = e(t), (i = this.elements[n]) ? (delete this.elements[n], i) : void 0;\n }, t.prototype.reset = function (t) {\n var e, n, i;\n\n for (null == t && (t = []), this.elements = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.add(e);\n }\n\n return t;\n }, e = function e(t) {\n return t.dataset.trixStoreKey;\n }, t;\n }();\n }.call(this), function () {}.call(this), function () {\n var t = function t(_t6, e) {\n function i() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t6[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t6.prototype = new i(), _t6.__super__ = e.prototype, _t6;\n },\n n = {}.hasOwnProperty;\n\n e.Operation = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n.prototype.isPerforming = function () {\n return this.performing === !0;\n }, n.prototype.hasPerformed = function () {\n return this.performed === !0;\n }, n.prototype.hasSucceeded = function () {\n return this.performed && this.succeeded;\n }, n.prototype.hasFailed = function () {\n return this.performed && !this.succeeded;\n }, n.prototype.getPromise = function () {\n return null != this.promise ? this.promise : this.promise = new Promise(function (t) {\n return function (e, n) {\n return t.performing = !0, t.perform(function (i, o) {\n return t.succeeded = i, t.performing = !1, t.performed = !0, t.succeeded ? e(o) : n(o);\n });\n };\n }(this));\n }, n.prototype.perform = function (t) {\n return t(!1);\n }, n.prototype.release = function () {\n var t;\n return null != (t = this.promise) && \"function\" == typeof t.cancel && t.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null;\n }, n.proxyMethod(\"getPromise().then\"), n.proxyMethod(\"getPromise().catch\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty;\n\n e.UTF16String = function (t) {\n function e(t, e) {\n this.ucs2String = t, this.codepoints = e, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length;\n }\n\n return s(e, t), e.box = function (t) {\n return null == t && (t = \"\"), t instanceof this ? t : this.fromUCS2String(null != t ? t.toString() : void 0);\n }, e.fromUCS2String = function (t) {\n return new this(t, o(t));\n }, e.fromCodepoints = function (t) {\n return new this(r(t), t);\n }, e.prototype.offsetToUCS2Offset = function (t) {\n return r(this.codepoints.slice(0, Math.max(0, t))).length;\n }, e.prototype.offsetFromUCS2Offset = function (t) {\n return o(this.ucs2String.slice(0, Math.max(0, t))).length;\n }, e.prototype.slice = function () {\n var t;\n return this.constructor.fromCodepoints((t = this.codepoints).slice.apply(t, arguments));\n }, e.prototype.charAt = function (t) {\n return this.slice(t, t + 1);\n }, e.prototype.isEqualTo = function (t) {\n return this.constructor.box(t).ucs2String === this.ucs2String;\n }, e.prototype.toJSON = function () {\n return this.ucs2String;\n }, e.prototype.getCacheKey = function () {\n return this.ucs2String;\n }, e.prototype.toString = function () {\n return this.ucs2String;\n }, e;\n }(e.BasicObject), t = 1 === (\"function\" == typeof Array.from ? Array.from(\"\\uD83D\\uDC7C\").length : void 0), n = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), i = \" \\uD83D\\uDC7C\" === (\"function\" == typeof String.fromCodePoint ? String.fromCodePoint(32, 128124) : void 0), o = t && n ? function (t) {\n return Array.from(t).map(function (t) {\n return t.codePointAt(0);\n });\n } : function (t) {\n var e, n, i, o, r;\n\n for (o = [], e = 0, i = t.length; i > e;) {\n r = t.charCodeAt(e++), r >= 55296 && 56319 >= r && i > e && (n = t.charCodeAt(e++), 56320 === (64512 & n) ? r = ((1023 & r) << 10) + (1023 & n) + 65536 : e--), o.push(r);\n }\n\n return o;\n }, r = i ? function (t) {\n return String.fromCodePoint.apply(String, t);\n } : function (t) {\n var e, n, i;\n return e = function () {\n var e, o, r;\n\n for (r = [], e = 0, o = t.length; o > e; e++) {\n i = t[e], n = \"\", i > 65535 && (i -= 65536, n += String.fromCharCode(i >>> 10 & 1023 | 55296), i = 56320 | 1023 & i), r.push(n + String.fromCharCode(i));\n }\n\n return r;\n }(), e.join(\"\");\n };\n }.call(this), function () {}.call(this), function () {}.call(this), function () {\n e.config.lang = {\n attachFiles: \"Attach Files\",\n bold: \"Bold\",\n bullets: \"Bullets\",\n \"byte\": \"Byte\",\n bytes: \"Bytes\",\n captionPlaceholder: \"Add a caption\\u2026\",\n code: \"Code\",\n heading1: \"Heading\",\n indent: \"Increase Level\",\n italic: \"Italic\",\n link: \"Link\",\n numbers: \"Numbers\",\n outdent: \"Decrease Level\",\n quote: \"Quote\",\n redo: \"Redo\",\n remove: \"Remove\",\n strike: \"Strikethrough\",\n undo: \"Undo\",\n unlink: \"Unlink\",\n url: \"URL\",\n urlPlaceholder: \"Enter a URL\\u2026\",\n GB: \"GB\",\n KB: \"KB\",\n MB: \"MB\",\n PB: \"PB\",\n TB: \"TB\"\n };\n }.call(this), function () {\n e.config.css = {\n attachment: \"attachment\",\n attachmentCaption: \"attachment__caption\",\n attachmentCaptionEditor: \"attachment__caption-editor\",\n attachmentMetadata: \"attachment__metadata\",\n attachmentMetadataContainer: \"attachment__metadata-container\",\n attachmentName: \"attachment__name\",\n attachmentProgress: \"attachment__progress\",\n attachmentSize: \"attachment__size\",\n attachmentToolbar: \"attachment__toolbar\",\n attachmentGallery: \"attachment-gallery\"\n };\n }.call(this), function () {\n var t;\n e.config.blockAttributes = t = {\n \"default\": {\n tagName: \"div\",\n parse: !1\n },\n quote: {\n tagName: \"blockquote\",\n nestable: !0\n },\n heading1: {\n tagName: \"h1\",\n terminal: !0,\n breakOnReturn: !0,\n group: !1\n },\n code: {\n tagName: \"pre\",\n terminal: !0,\n text: {\n plaintext: !0\n }\n },\n bulletList: {\n tagName: \"ul\",\n parse: !1\n },\n bullet: {\n tagName: \"li\",\n listAttribute: \"bulletList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n numberList: {\n tagName: \"ol\",\n parse: !1\n },\n number: {\n tagName: \"li\",\n listAttribute: \"numberList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n attachmentGallery: {\n tagName: \"div\",\n exclusive: !0,\n terminal: !0,\n parse: !1,\n group: !1\n }\n };\n }.call(this), function () {\n var t, n;\n t = e.config.lang, n = [t.bytes, t.KB, t.MB, t.GB, t.TB, t.PB], e.config.fileSize = {\n prefix: \"IEC\",\n precision: 2,\n formatter: function formatter(e) {\n var i, o, r, s, a;\n\n switch (e) {\n case 0:\n return \"0 \" + t.bytes;\n\n case 1:\n return \"1 \" + t.byte;\n\n default:\n return i = function () {\n switch (this.prefix) {\n case \"SI\":\n return 1e3;\n\n case \"IEC\":\n return 1024;\n }\n }.call(this), o = Math.floor(Math.log(e) / Math.log(i)), r = e / Math.pow(i, o), s = r.toFixed(this.precision), a = s.replace(/0*$/, \"\").replace(/\\.$/, \"\"), a + \" \" + n[o];\n }\n }\n };\n }.call(this), function () {\n e.config.textAttributes = {\n bold: {\n tagName: \"strong\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"bold\" === e.fontWeight || e.fontWeight >= 600;\n }\n },\n italic: {\n tagName: \"em\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"italic\" === e.fontStyle;\n }\n },\n href: {\n groupTagName: \"a\",\n parser: function parser(t) {\n var n, i, o;\n return n = e.AttachmentView.attachmentSelector, o = \"a:not(\" + n + \")\", (i = e.findClosestElementFromNode(t, {\n matchingSelector: o\n })) ? i.getAttribute(\"href\") : void 0;\n }\n },\n strike: {\n tagName: \"del\",\n inheritable: !0\n },\n frozen: {\n style: {\n backgroundColor: \"highlight\"\n }\n }\n };\n }.call(this), function () {\n var t, n, i, o, r;\n r = \"[data-trix-serialize=false]\", o = [\"contenteditable\", \"data-trix-id\", \"data-trix-store-key\", \"data-trix-mutable\", \"data-trix-placeholder\", \"tabindex\"], n = \"data-trix-serialized-attributes\", i = \"[\" + n + \"]\", t = new RegExp(\"\", \"g\"), e.extend({\n serializers: {\n \"application/json\": function applicationJson(t) {\n var n;\n if (t instanceof e.Document) n = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n n = e.Document.fromHTML(t.innerHTML);\n }\n return n.toSerializableDocument().toJSONString();\n },\n \"text/html\": function textHtml(s) {\n var a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n if (s instanceof e.Document) l = e.DocumentView.render(s);else {\n if (!(s instanceof HTMLElement)) throw new Error(\"unserializable object\");\n l = s.cloneNode(!0);\n }\n\n for (A = l.querySelectorAll(r), h = 0, g = A.length; g > h; h++) {\n c = A[h], e.removeNode(c);\n }\n\n for (p = 0, m = o.length; m > p; p++) {\n for (a = o[p], C = l.querySelectorAll(\"[\" + a + \"]\"), d = 0, v = C.length; v > d; d++) {\n c = C[d], c.removeAttribute(a);\n }\n }\n\n for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) {\n c = x[f];\n\n try {\n u = JSON.parse(c.getAttribute(n)), c.removeAttribute(n);\n\n for (b in u) {\n w = u[b], c.setAttribute(b, w);\n }\n } catch (E) {}\n }\n\n return l.innerHTML.replace(t, \"\");\n }\n },\n deserializers: {\n \"application/json\": function applicationJson(t) {\n return e.Document.fromJSONString(t);\n },\n \"text/html\": function textHtml(t) {\n return e.Document.fromHTML(t);\n }\n },\n serializeToContentType: function serializeToContentType(t, n) {\n var i;\n if (i = e.serializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n },\n deserializeFromContentType: function deserializeFromContentType(t, n) {\n var i;\n if (i = e.deserializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n }\n });\n }.call(this), function () {\n var t;\n t = e.config.lang, e.config.toolbar = {\n getDefaultHTML: function getDefaultHTML() {\n return '
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
';\n }\n };\n }.call(this), function () {\n e.config.undoInterval = 5e3;\n }.call(this), function () {\n e.config.attachments = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n };\n }.call(this), function () {\n e.config.keyNames = {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n };\n }.call(this), function () {\n e.config.input = {\n level2Enabled: !0,\n getLevel: function getLevel() {\n return this.level2Enabled && e.browser.supportsInputEvents ? 2 : 0;\n },\n pickFiles: function pickFiles(t) {\n var n;\n return n = e.makeElement(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n }), n.addEventListener(\"change\", function () {\n return t(n.files), e.removeNode(n);\n }), e.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n), n.click();\n },\n fileInputId: \"trix-file-input-\" + Date.now().toString(16)\n };\n }.call(this), function () {}.call(this), function () {\n e.registerElement(\"trix-toolbar\", {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\",\n initialize: function initialize() {\n return \"\" === this.innerHTML ? this.innerHTML = e.config.toolbar.getDefaultHTML() : void 0;\n }\n });\n }.call(this), function () {\n var t = function t(_t7, e) {\n function i() {\n this.constructor = _t7;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t7[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t7.prototype = new i(), _t7.__super__ = e.prototype, _t7;\n },\n n = {}.hasOwnProperty,\n i = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n e.ObjectView = function (n) {\n function o(t, e) {\n this.object = t, this.options = null != e ? e : {}, this.childViews = [], this.rootView = this;\n }\n\n return t(o, n), o.prototype.getNodes = function () {\n var t, e, n, i, o;\n\n for (null == this.nodes && (this.nodes = this.createNodes()), i = this.nodes, o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.cloneNode(!0));\n }\n\n return o;\n }, o.prototype.invalidate = function () {\n var t;\n return this.nodes = null, this.childViews = [], null != (t = this.parentView) ? t.invalidate() : void 0;\n }, o.prototype.invalidateViewForObject = function (t) {\n var e;\n return null != (e = this.findViewForObject(t)) ? e.invalidate() : void 0;\n }, o.prototype.findOrCreateCachedChildView = function (t, e) {\n var n;\n return (n = this.getCachedViewForObject(e)) ? this.recordChildView(n) : (n = this.createChildView.apply(this, arguments), this.cacheViewForObject(n, e)), n;\n }, o.prototype.createChildView = function (t, n, i) {\n var o;\n return null == i && (i = {}), n instanceof e.ObjectGroup && (i.viewClass = t, t = e.ObjectGroupView), o = new t(n, i), this.recordChildView(o);\n }, o.prototype.recordChildView = function (t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }, o.prototype.getAllChildViews = function () {\n var t, e, n, i, o;\n\n for (o = [], i = this.childViews, e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t), o = o.concat(t.getAllChildViews());\n }\n\n return o;\n }, o.prototype.findElement = function () {\n return this.findElementForObject(this.object);\n }, o.prototype.findElementForObject = function (t) {\n var e;\n return (e = null != t ? t.id : void 0) ? this.rootView.element.querySelector(\"[data-trix-id='\" + e + \"']\") : void 0;\n }, o.prototype.findViewForObject = function (t) {\n var e, n, i, o;\n\n for (i = this.getAllChildViews(), e = 0, n = i.length; n > e; e++) {\n if (o = i[e], o.object === t) return o;\n }\n }, o.prototype.getViewCache = function () {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? null != this.viewCache ? this.viewCache : this.viewCache = {} : void 0;\n }, o.prototype.isViewCachingEnabled = function () {\n return this.shouldCacheViews !== !1;\n }, o.prototype.enableViewCaching = function () {\n return this.shouldCacheViews = !0;\n }, o.prototype.disableViewCaching = function () {\n return this.shouldCacheViews = !1;\n }, o.prototype.getCachedViewForObject = function (t) {\n var e;\n return null != (e = this.getViewCache()) ? e[t.getCacheKey()] : void 0;\n }, o.prototype.cacheViewForObject = function (t, e) {\n var n;\n return null != (n = this.getViewCache()) ? n[e.getCacheKey()] = t : void 0;\n }, o.prototype.garbageCollectCachedViews = function () {\n var t, e, n, o, r, s;\n\n if (t = this.getViewCache()) {\n s = this.getAllChildViews().concat(this), n = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = s.length; e > t; t++) {\n r = s[t], n.push(r.object.getCacheKey());\n }\n\n return n;\n }(), o = [];\n\n for (e in t) {\n i.call(n, e) < 0 && o.push(delete t[e]);\n }\n\n return o;\n }\n }, o;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t8, e) {\n function i() {\n this.constructor = _t8;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t8[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t8.prototype = new i(), _t8.__super__ = e.prototype, _t8;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectGroupView = function (e) {\n function n() {\n n.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n\n return t(n, e), n.prototype.getChildViews = function () {\n var t, e, n, i;\n if (!this.childViews.length) for (i = this.objectGroup.getObjects(), t = 0, e = i.length; e > t; t++) {\n n = i[t], this.findOrCreateCachedChildView(this.viewClass, n, this.options);\n }\n return this.childViews;\n }, n.prototype.createNodes = function () {\n var t, e, n, i, o, r, s, a, u;\n\n for (t = this.createContainerElement(), s = this.getChildViews(), e = 0, i = s.length; i > e; e++) {\n for (u = s[e], a = u.getNodes(), n = 0, o = a.length; o > n; n++) {\n r = a[n], t.appendChild(r);\n }\n }\n\n return [t];\n }, n.prototype.createContainerElement = function (t) {\n return null == t && (t = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t);\n }, n;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t9, e) {\n function i() {\n this.constructor = _t9;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t9[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t9.prototype = new i(), _t9.__super__ = e.prototype, _t9;\n },\n n = {}.hasOwnProperty;\n\n e.Controller = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a = function a(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n u = function u(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n c.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n c = {}.hasOwnProperty,\n l = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.findClosestElementFromNode, i = e.nodeIsEmptyTextNode, n = e.nodeIsBlockStartComment, o = e.normalizeSpaces, r = e.summarizeStringChange, s = e.tagName, e.MutationObserver = function (e) {\n function c(t) {\n this.element = t, this.didMutate = a(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n\n var _h, p, d, f;\n\n return u(c, e), p = \"data-trix-mutable\", d = \"[\" + p + \"]\", f = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, c.prototype.start = function () {\n return this.reset(), this.observer.observe(this.element, f);\n }, c.prototype.stop = function () {\n return this.observer.disconnect();\n }, c.prototype.didMutate = function (t) {\n var e, n;\n return (e = this.mutations).push.apply(e, this.findSignificantMutations(t)), this.mutations.length ? (null != (n = this.delegate) && \"function\" == typeof n.elementDidMutate && n.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0;\n }, c.prototype.reset = function () {\n return this.mutations = [];\n }, c.prototype.findSignificantMutations = function (t) {\n var e, n, i, o;\n\n for (o = [], e = 0, n = t.length; n > e; e++) {\n i = t[e], this.mutationIsSignificant(i) && o.push(i);\n }\n\n return o;\n }, c.prototype.mutationIsSignificant = function (t) {\n var e, n, i, o;\n if (this.nodeIsMutable(t.target)) return !1;\n\n for (o = this.nodesModifiedByMutation(t), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], this.nodeIsSignificant(i)) return !0;\n }\n\n return !1;\n }, c.prototype.nodeIsSignificant = function (t) {\n return t !== this.element && !this.nodeIsMutable(t) && !i(t);\n }, c.prototype.nodeIsMutable = function (e) {\n return t(e, {\n matchingSelector: d\n });\n }, c.prototype.nodesModifiedByMutation = function (t) {\n var e;\n\n switch (e = [], t.type) {\n case \"attributes\":\n t.attributeName !== p && e.push(t.target);\n break;\n\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n\n case \"childList\":\n e.push.apply(e, t.addedNodes), e.push.apply(e, t.removedNodes);\n }\n\n return e;\n }, c.prototype.getMutationSummary = function () {\n return this.getTextMutationSummary();\n }, c.prototype.getTextMutationSummary = function () {\n var t, e, n, i, o, r, s, a, u, c, h;\n\n for (a = this.getTextChangesFromCharacterData(), n = a.additions, o = a.deletions, h = this.getTextChangesFromChildList(), u = h.additions, r = 0, s = u.length; s > r; r++) {\n e = u[r], l.call(n, e) < 0 && n.push(e);\n }\n\n return o.push.apply(o, h.deletions), c = {}, (t = n.join(\"\")) && (c.textAdded = t), (i = o.join(\"\")) && (c.textDeleted = i), c;\n }, c.prototype.getMutationsByType = function (t) {\n var e, n, i, o, r;\n\n for (o = this.mutations, r = [], e = 0, n = o.length; n > e; e++) {\n i = o[e], i.type === t && r.push(i);\n }\n\n return r;\n }, c.prototype.getTextChangesFromChildList = function () {\n var t, e, i, r, s, a, u, c, l, p, d;\n\n for (t = [], u = [], a = this.getMutationsByType(\"childList\"), e = 0, r = a.length; r > e; e++) {\n s = a[e], t.push.apply(t, s.addedNodes), u.push.apply(u, s.removedNodes);\n }\n\n return c = 0 === t.length && 1 === u.length && n(u[0]), c ? (p = [], d = [\"\\n\"]) : (p = _h(t), d = _h(u)), {\n additions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = p.length; e > t; i = ++t) {\n l = p[i], l !== d[i] && n.push(o(l));\n }\n\n return n;\n }(),\n deletions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = d.length; e > t; i = ++t) {\n l = d[i], l !== p[i] && n.push(o(l));\n }\n\n return n;\n }()\n };\n }, c.prototype.getTextChangesFromCharacterData = function () {\n var t, e, n, i, s, a, u, c;\n return e = this.getMutationsByType(\"characterData\"), e.length && (c = e[0], n = e[e.length - 1], s = o(c.oldValue), i = o(n.target.data), a = r(s, i), t = a.added, u = a.removed), {\n additions: t ? [t] : [],\n deletions: u ? [u] : []\n };\n }, _h = function h(t) {\n var e, n, i, o;\n\n for (null == t && (t = []), o = [], e = 0, n = t.length; n > e; e++) {\n switch (i = t[e], i.nodeType) {\n case Node.TEXT_NODE:\n o.push(i.data);\n break;\n\n case Node.ELEMENT_NODE:\n \"br\" === s(i) ? o.push(\"\\n\") : o.push.apply(o, _h(i.childNodes));\n }\n }\n\n return o;\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t10, e) {\n function i() {\n this.constructor = _t10;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t10[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t10.prototype = new i(), _t10.__super__ = e.prototype, _t10;\n },\n n = {}.hasOwnProperty;\n\n e.FileVerificationOperation = function (e) {\n function n(t) {\n this.file = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new FileReader(), e.onerror = function () {\n return t(!1);\n }, e.onload = function (n) {\n return function () {\n e.onerror = null;\n\n try {\n e.abort();\n } catch (i) {}\n\n return t(!0, n.file);\n };\n }(this), e.readAsArrayBuffer(this.file);\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.handleEvent, n = e.innerElementIsActive, e.InputController = function (o) {\n function r(n) {\n var i;\n this.element = n, this.mutationObserver = new e.MutationObserver(this.element), this.mutationObserver.delegate = this;\n\n for (i in this.events) {\n t(i, {\n onElement: this.element,\n withCallback: this.handlerFor(i)\n });\n }\n }\n\n return i(r, o), r.prototype.events = {}, r.prototype.elementDidMutate = function () {}, r.prototype.editorWillSyncDocumentView = function () {\n return this.mutationObserver.stop();\n }, r.prototype.editorDidSyncDocumentView = function () {\n return this.mutationObserver.start();\n }, r.prototype.requestRender = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestRender ? t.inputControllerDidRequestRender() : void 0;\n }, r.prototype.requestReparse = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestReparse && t.inputControllerDidRequestReparse(), this.requestRender();\n }, r.prototype.attachFiles = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(new e.FileVerificationOperation(n));\n }\n\n return r;\n }(), Promise.all(i).then(function (t) {\n return function (e) {\n return t.handleInput(function () {\n var t, n;\n return null != (t = this.delegate) && t.inputControllerWillAttachFiles(), null != (n = this.responder) && n.insertFiles(e), this.requestRender();\n });\n };\n }(this));\n }, r.prototype.handlerFor = function (t) {\n return function (e) {\n return function (i) {\n return i.defaultPrevented ? void 0 : e.handleInput(function () {\n return n(this.element) ? void 0 : (this.eventName = t, this.events[t].call(this, i));\n });\n };\n }(this);\n }, r.prototype.handleInput = function (t) {\n var e, n;\n\n try {\n return null != (e = this.delegate) && e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n null != (n = this.delegate) && n.inputControllerDidHandleInput();\n }\n }, r;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p,\n d,\n f = function f(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n g.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n g = {}.hasOwnProperty,\n m = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n c = e.makeElement, l = e.objectsAreEqual, d = e.tagName, n = e.browser, a = e.keyEventIsKeyboardCommand, o = e.dataTransferIsWritable, i = e.dataTransferIsPlainText, u = e.config.keyNames, e.Level0InputController = function (n) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.resetInputSummary();\n }\n\n var d;\n return f(s, n), d = 0, s.prototype.setInputSummary = function (t) {\n var e, n;\n null == t && (t = {}), this.inputSummary.eventName = this.eventName;\n\n for (e in t) {\n n = t[e], this.inputSummary[e] = n;\n }\n\n return this.inputSummary;\n }, s.prototype.resetInputSummary = function () {\n return this.inputSummary = {};\n }, s.prototype.reset = function () {\n return this.resetInputSummary(), e.selectionChangeObserver.reset();\n }, s.prototype.elementDidMutate = function (t) {\n var e;\n return this.isComposing() ? null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidAllowUnhandledInput ? e.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }, s.prototype.mutationIsExpected = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return a = t.textAdded, u = t.textDeleted, this.inputSummary.preferDocument ? !0 : (e = null != a ? a === this.inputSummary.textAdded : !this.inputSummary.textAdded, n = null != u ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c = (\"\\n\" === a || \" \\n\" === a) && !e, l = \"\\n\" === u && !n, s = c && !l || l && !c, s && (o = this.getSelectedRange()) && (i = c ? a.replace(/\\n$/, \"\").length || -1 : (null != a ? a.length : void 0) || 1, null != (r = this.responder) ? r.positionIsBlockBreak(o[1] + i) : void 0) ? !0 : e && n);\n }, s.prototype.mutationIsSignificant = function (t) {\n var e, n, i;\n return i = Object.keys(t).length > 0, e = \"\" === (null != (n = this.compositionInput) ? n.getEndData() : void 0), i || !e;\n }, s.prototype.events = {\n keydown: function keydown(t) {\n var n, i, o, r, s, c, l, h, p;\n\n if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0, r = u[t.keyCode]) {\n for (i = this.keys, h = [\"ctrl\", \"alt\", \"shift\", \"meta\"], o = 0, c = h.length; c > o; o++) {\n l = h[o], t[l + \"Key\"] && (\"ctrl\" === l && (l = \"control\"), i = null != i ? i[l] : void 0);\n }\n\n null != (null != i ? i[r] : void 0) && (this.setInputSummary({\n keyName: r\n }), e.selectionChangeObserver.reset(), i[r].call(this, t));\n }\n\n return a(t) && (n = String.fromCharCode(t.keyCode).toLowerCase()) && (s = function () {\n var e, n, i, o;\n\n for (i = [\"alt\", \"shift\"], o = [], e = 0, n = i.length; n > e; e++) {\n l = i[e], t[l + \"Key\"] && o.push(l);\n }\n\n return o;\n }(), s.push(n), null != (p = this.delegate) ? p.inputControllerDidReceiveKeyboardCommand(s) : void 0) ? t.preventDefault() : void 0;\n },\n keypress: function keypress(t) {\n var e, n, i;\n if (null == this.inputSummary.eventName && !t.metaKey && (!t.ctrlKey || t.altKey)) return (i = p(t)) ? (null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(i), this.setInputSummary({\n textAdded: i,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput: function textInput(t) {\n var e, n, i, o;\n return e = t.data, o = this.inputSummary.textAdded, o && o !== e && o.toUpperCase() === e ? (n = this.getSelectedRange(), this.setSelectedRange([n[0], n[1] + o.length]), null != (i = this.responder) && i.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(n)) : void 0;\n },\n dragenter: function dragenter(t) {\n return t.preventDefault();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return n = t.target, this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidStartDrag ? e.inputControllerDidStartDrag() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return !this.draggedRange && !this.canAcceptDataTransfer(t.dataTransfer) || (t.preventDefault(), e = {\n x: t.clientX,\n y: t.clientY\n }, l(e, this.draggingPoint)) ? void 0 : (this.draggingPoint = e, null != (n = this.delegate) && \"function\" == typeof n.inputControllerDidReceiveDragOverPoint ? n.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0);\n },\n dragend: function dragend() {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidCancelDrag && t.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null;\n },\n drop: function drop(t) {\n var n, i, o, r, s, a, u, c, l;\n return t.preventDefault(), o = null != (s = t.dataTransfer) ? s.files : void 0, r = {\n x: t.clientX,\n y: t.clientY\n }, null != (a = this.responder) && a.setLocationRangeFromPointRange(r), (null != o ? o.length : void 0) ? this.attachFiles(o) : this.draggedRange ? (null != (u = this.delegate) && u.inputControllerWillMoveText(), null != (c = this.responder) && c.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i = t.dataTransfer.getData(\"application/x-trix-document\")) && (n = e.Document.fromJSONString(i), null != (l = this.responder) && l.insertDocument(n), this.requestRender()), this.draggedRange = null, this.draggingPoint = null;\n },\n cut: function cut(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented) ? this.requestRender() : void 0;\n },\n copy: function copy(t) {\n var e;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t.clipboardData) ? t.preventDefault() : void 0;\n },\n paste: function paste(t) {\n var n, o, s, a, u, c, l, p, f, g, v, y, b, A, C, x, w, E, S, R, k, D;\n return n = null != (p = t.clipboardData) ? p : t.testClipboardData, l = {\n clipboard: n\n }, null == n || h(t) ? void this.getPastedHTMLUsingHiddenElement(function (t) {\n return function (e) {\n var n, i, o;\n return l.type = \"text/html\", l.html = e, null != (n = t.delegate) && n.inputControllerWillPaste(l), null != (i = t.responder) && i.insertHTML(l.html), t.requestRender(), null != (o = t.delegate) ? o.inputControllerDidPaste(l) : void 0;\n };\n }(this)) : ((a = n.getData(\"URL\")) ? (l.type = \"URL\", l.href = a, l.string = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertText(e.Text.textForStringWithAttributes(l.string, {\n href: l.href\n })), this.requestRender(), null != (x = this.delegate) && x.inputControllerDidPaste(l)) : i(n) ? (l.type = \"text/plain\", l.string = n.getData(\"text/plain\"), null != (w = this.delegate) && w.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (E = this.responder) && E.insertString(l.string), this.requestRender(), null != (S = this.delegate) && S.inputControllerDidPaste(l)) : (u = n.getData(\"text/html\")) ? (l.type = \"text/html\", l.html = u, null != (R = this.delegate) && R.inputControllerWillPaste(l), null != (k = this.responder) && k.insertHTML(l.html), this.requestRender(), null != (D = this.delegate) && D.inputControllerDidPaste(l)) : m.call(n.types, \"Files\") >= 0 && (s = null != (g = n.items) && null != (v = g[0]) && \"function\" == typeof v.getAsFile ? v.getAsFile() : void 0) && (!s.name && (o = r(s)) && (s.name = \"pasted-file-\" + ++d + \".\" + o), l.type = \"File\", l.file = s, null != (y = this.delegate) && y.inputControllerWillAttachFiles(), null != (b = this.responder) && b.insertFile(l.file), this.requestRender(), null != (A = this.delegate) && A.inputControllerDidPaste(l)), t.preventDefault());\n },\n compositionstart: function compositionstart(t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate: function compositionupdate(t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend: function compositionend(t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput: function beforeinput() {\n return this.inputSummary.didInput = !0;\n },\n input: function input(t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n }, s.prototype.keys = {\n backspace: function backspace(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n \"delete\": function _delete(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n \"return\": function _return() {\n var t, e;\n return this.setInputSummary({\n preferDocument: !0\n }), null != (t = this.delegate) && t.inputControllerWillPerformTyping(), null != (e = this.responder) ? e.insertLineBreak() : void 0;\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canIncreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.increaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n right: function right(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n control: {\n d: function d(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h: function h(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o: function o(t) {\n var e, n;\n return t.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n \"return\": function _return(t) {\n var e, n;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canDecreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.decreaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"backward\")) : void 0;\n },\n right: function right(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"forward\")) : void 0;\n }\n },\n alt: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n },\n meta: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n }\n }, s.prototype.getCompositionInput = function () {\n return this.isComposing() ? this.compositionInput : this.compositionInput = new t(this);\n }, s.prototype.isComposing = function () {\n return null != this.compositionInput && !this.compositionInput.isEnded();\n }, s.prototype.deleteInDirection = function (t, e) {\n var n;\n return (null != (n = this.responder) ? n.deleteInDirection(t) : void 0) !== !1 ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }, s.prototype.serializeSelectionToDataTransfer = function (t) {\n var n, i;\n if (o(t)) return n = null != (i = this.responder) ? i.getSelectedDocument().toSerializableDocument() : void 0, t.setData(\"application/x-trix-document\", JSON.stringify(n)), t.setData(\"text/html\", e.DocumentView.render(n).innerHTML), t.setData(\"text/plain\", n.toString().replace(/\\n$/, \"\")), !0;\n }, s.prototype.canAcceptDataTransfer = function (t) {\n var e, n, i, o, r, s;\n\n for (s = {}, o = null != (i = null != t ? t.types : void 0) ? i : [], e = 0, n = o.length; n > e; e++) {\n r = o[e], s[r] = !0;\n }\n\n return s.Files || s[\"application/x-trix-document\"] || s[\"text/html\"] || s[\"text/plain\"];\n }, s.prototype.getPastedHTMLUsingHiddenElement = function (t) {\n var n, i, o;\n return i = this.getSelectedRange(), o = {\n position: \"absolute\",\n left: window.pageXOffset + \"px\",\n top: window.pageYOffset + \"px\",\n opacity: 0\n }, n = c({\n style: o,\n tagName: \"div\",\n editable: !0\n }), document.body.appendChild(n), n.focus(), requestAnimationFrame(function (o) {\n return function () {\n var r;\n return r = n.innerHTML, e.removeNode(n), o.setSelectedRange(i), t(r);\n };\n }(this));\n }, s.proxyMethod(\"responder?.getSelectedRange\"), s.proxyMethod(\"responder?.setSelectedRange\"), s.proxyMethod(\"responder?.expandSelectionInDirection\"), s.proxyMethod(\"responder?.selectionIsInCursorTarget\"), s.proxyMethod(\"responder?.selectionIsExpanded\"), s;\n }(e.InputController), r = function r(t) {\n var e, n;\n return null != (e = t.type) && null != (n = e.match(/\\/(\\w+)$/)) ? n[1] : void 0;\n }, s = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), p = function p(t) {\n var n;\n return t.key && s && t.key.codePointAt(0) === t.keyCode ? t.key : (null === t.which ? n = t.keyCode : 0 !== t.which && 0 !== t.charCode && (n = t.charCode), null != n && \"escape\" !== u[n] ? e.UTF16String.fromCodepoints([n]).toString() : void 0);\n }, h = function h(t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n if (u = t.clipboardData) {\n if (m.call(u.types, \"text/html\") >= 0) {\n for (c = u.types, i = 0, s = c.length; s > i; i++) {\n if (l = c[i], e = /^CorePasteboardFlavorType/.test(l), n = /^dyn\\./.test(l) && u.getData(l), a = e || n) return !0;\n }\n\n return !1;\n }\n\n return o = m.call(u.types, \"com.apple.webarchive\") >= 0, r = m.call(u.types, \"com.apple.flat-rtfd\") >= 0, o || r;\n }\n }, t = function (t) {\n function e(t) {\n var e;\n this.inputController = t, e = this.inputController, this.responder = e.responder, this.delegate = e.delegate, this.inputSummary = e.inputSummary, this.data = {};\n }\n\n return f(e, t), e.prototype.start = function (t) {\n var e, n;\n return this.data.start = t, this.isSignificant() ? (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded && null != (e = this.responder) && e.deleteInDirection(\"left\"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null != (n = this.responder) ? n.getSelectedRange() : void 0) : void 0;\n }, e.prototype.update = function (t) {\n var e;\n return this.data.update = t, this.isSignificant() && (e = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e) : void 0;\n }, e.prototype.end = function (t) {\n var e, n, i, o;\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.setSelectedRange(this.range), null != (i = this.responder) && i.insertString(this.data.end), null != (o = this.responder) ? o.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n }, e.prototype.getEndData = function () {\n return this.data.end;\n }, e.prototype.isEnded = function () {\n return null != this.getEndData();\n }, e.prototype.isSignificant = function () {\n return n.composesExistingText ? this.inputSummary.didInput : !0;\n }, e.prototype.canApplyToDocument = function () {\n var t, e;\n return 0 === (null != (t = this.data.start) ? t.length : void 0) && (null != (e = this.data.end) ? e.length : void 0) > 0 && null != this.range;\n }, e.proxyMethod(\"inputController.setInputSummary\"), e.proxyMethod(\"inputController.requestRender\"), e.proxyMethod(\"inputController.requestReparse\"), e.proxyMethod(\"responder?.selectionIsExpanded\"), e.proxyMethod(\"responder?.insertPlaceholder\"), e.proxyMethod(\"responder?.selectPlaceholder\"), e.proxyMethod(\"responder?.forgetPlaceholder\"), e;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.dataTransferIsPlainText, n = e.keyEventIsKeyboardCommand, i = e.objectsAreEqual, e.Level2InputController = function (s) {\n function u() {\n return this.render = o(this.render, this), u.__super__.constructor.apply(this, arguments);\n }\n\n var c, l, h, p, d, f;\n return r(u, s), u.prototype.elementDidMutate = function () {\n var t;\n return this.scheduledRender ? this.composing && null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidAllowUnhandledInput ? t.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse();\n }, u.prototype.scheduleRender = function () {\n return null != this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }, u.prototype.render = function () {\n var t;\n return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || null != (t = this.delegate) && t.render(), \"function\" == typeof this.afterRender && this.afterRender(), this.afterRender = null;\n }, u.prototype.reparse = function () {\n var t;\n return null != (t = this.delegate) ? t.reparse() : void 0;\n }, u.prototype.events = {\n keydown: function keydown(t) {\n var e, i, o, r;\n\n if (n(t)) {\n if (e = l(t), null != (r = this.delegate) ? r.inputControllerDidReceiveKeyboardCommand(e) : void 0) return t.preventDefault();\n } else if (o = t.key, t.altKey && (o += \"+Alt\"), t.shiftKey && (o += \"+Shift\"), i = this.keys[o]) return this.withEvent(t, i);\n },\n paste: function paste(t) {\n var n, i, o, r, s, a, u, c, l;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), i = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (o = this.delegate) && o.inputControllerWillPaste(i), null != (r = this.responder) && r.insertString(i.string), this.render(), null != (s = this.delegate) ? s.inputControllerDidPaste(i) : void 0) : (n = null != (a = t.clipboardData) ? a.getData(\"URL\") : void 0) ? (t.preventDefault(), i = {\n type: \"URL\",\n href: n,\n string: n\n }, null != (u = this.delegate) && u.inputControllerWillPaste(i), null != (c = this.responder) && c.insertText(e.Text.textForStringWithAttributes(i.string, {\n href: i.href\n })), this.render(), null != (l = this.delegate) ? l.inputControllerDidPaste(i) : void 0) : void 0;\n },\n beforeinput: function beforeinput(t) {\n var e;\n return (e = this.inputTypes[t.inputType]) ? (this.withEvent(t, e), this.scheduleRender()) : void 0;\n },\n input: function input() {\n return e.selectionChangeObserver.reset();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionContainsAttachments() : void 0) ? (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null != (n = this.responder) ? n.getSelectedRange() : void 0,\n point: d(t)\n }) : void 0;\n },\n dragenter: function dragenter(t) {\n return c(t) ? t.preventDefault() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return this.dragging && (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) ? (this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0) : void 0;\n },\n drop: function drop(t) {\n var e, n, i, o;\n return this.dragging ? (t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillMoveText(), null != (i = this.responder) && i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c(t) ? (t.preventDefault(), e = d(t), null != (o = this.responder) && o.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files)) : void 0;\n },\n dragend: function dragend() {\n var t;\n return this.dragging ? (null != (t = this.responder) && t.setSelectedRange(this.dragging.range), this.dragging = null) : void 0;\n },\n compositionend: function compositionend() {\n return this.composing ? (this.composing = !1, this.scheduleRender()) : void 0;\n }\n }, u.prototype.keys = {\n ArrowLeft: function ArrowLeft() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n ArrowRight: function ArrowRight() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"forward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n Backspace: function Backspace() {\n var t, e, n;\n return (null != (t = this.responder) ? t.shouldManageDeletingInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.deleteInDirection(\"backward\"), this.render()) : void 0;\n },\n Tab: function Tab() {\n var t, e;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.increaseNestingLevel(), this.render()) : void 0;\n },\n \"Tab+Shift\": function TabShift() {\n var t, e;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.decreaseNestingLevel(), this.render()) : void 0;\n }\n }, u.prototype.inputTypes = {\n deleteByComposition: function deleteByComposition() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut: function deleteByCut() {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag: function deleteByDrag() {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n return this.deleteByDragRange = null != (t = this.responder) ? t.getSelectedRange() : void 0;\n });\n },\n deleteCompositionText: function deleteCompositionText() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent: function deleteContent() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward: function deleteContentBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward: function deleteContentForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine: function deleteEntireSoftLine() {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward: function deleteHardLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward: function deleteHardLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward: function deleteSoftLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward: function deleteSoftLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward: function deleteWordBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward: function deleteWordForward() {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor: function formatBackColor() {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold: function formatBold() {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor: function formatFontColor() {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName: function formatFontName() {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent: function formatIndent() {\n var t;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.increaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatItalic: function formatItalic() {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter: function formatJustifyCenter() {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull: function formatJustifyFull() {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft: function formatJustifyLeft() {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight: function formatJustifyRight() {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent: function formatOutdent() {\n var t;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.decreaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatRemove: function formatRemove() {\n return this.withTargetDOMRange(function () {\n var t, e, n, i;\n i = [];\n\n for (t in null != (e = this.responder) ? e.getCurrentAttributes() : void 0) {\n i.push(null != (n = this.responder) ? n.removeCurrentAttribute(t) : void 0);\n }\n\n return i;\n });\n },\n formatSetBlockTextDirection: function formatSetBlockTextDirection() {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection: function formatSetInlineTextDirection() {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough: function formatStrikeThrough() {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript: function formatSubscript() {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript: function formatSuperscript() {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline: function formatUnderline() {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo: function historyRedo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformRedo() : void 0;\n },\n historyUndo: function historyUndo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformUndo() : void 0;\n },\n insertCompositionText: function insertCompositionText() {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition: function insertFromComposition() {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop: function insertFromDrop() {\n var t, e;\n return (t = this.deleteByDragRange) ? (this.deleteByDragRange = null, null != (e = this.delegate) && e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.moveTextFromRange(t) : void 0;\n })) : void 0;\n },\n insertFromPaste: function insertFromPaste() {\n var n, i, o, r, s, a, u, c, l, h;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (s.type = \"URL\", s.href = i, s.string = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, null != (a = this.delegate) && a.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertText(e.Text.textForStringWithAttributes(s.string, {\n href: s.href\n })) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : t(n) ? (s.type = \"text/plain\", s.string = n.getData(\"text/plain\"), null != (u = this.delegate) && u.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertString(s.string) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (o = n.getData(\"text/html\")) ? (s.type = \"text/html\", s.html = o, null != (c = this.delegate) && c.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (null != (l = n.files) ? l.length : void 0) ? (s.type = \"File\", s.file = n.files[0], null != (h = this.delegate) && h.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertFile(s.file) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : void 0;\n },\n insertFromYank: function insertFromYank() {\n return this.insertString(this.event.data);\n },\n insertLineBreak: function insertLineBreak() {\n return this.insertString(\"\\n\");\n },\n insertLink: function insertLink() {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList: function insertOrderedList() {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph: function insertParagraph() {\n var t;\n return null != (t = this.delegate) && t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertLineBreak() : void 0;\n });\n },\n insertReplacementText: function insertReplacementText() {\n return this.insertString(this.event.dataTransfer.getData(\"text/plain\"), {\n updatePosition: !1\n });\n },\n insertText: function insertText() {\n var t, e;\n return this.insertString(null != (t = this.event.data) ? t : null != (e = this.event.dataTransfer) ? e.getData(\"text/plain\") : void 0);\n },\n insertTranspose: function insertTranspose() {\n return this.insertString(this.event.data);\n },\n insertUnorderedList: function insertUnorderedList() {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n }, u.prototype.insertString = function (t, e) {\n var n;\n return null == t && (t = \"\"), null != (n = this.delegate) && n.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var n;\n return null != (n = this.responder) ? n.insertString(t, e) : void 0;\n });\n }, u.prototype.toggleAttributeIfSupported = function (t) {\n var n;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (n = this.delegate) && n.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.toggleCurrentAttribute(t) : void 0;\n })) : void 0;\n }, u.prototype.activateAttributeIfSupported = function (t, n) {\n var i;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (i = this.delegate) && i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.setCurrentAttribute(t, n) : void 0;\n })) : void 0;\n }, u.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r;\n return o = (null != e ? e : {\n recordUndoEntry: !0\n }).recordUndoEntry, o && null != (r = this.delegate) && r.inputControllerWillPerformTyping(), i = function (e) {\n return function () {\n var n;\n return null != (n = e.responder) ? n.deleteInDirection(t) : void 0;\n };\n }(this), (n = this.getTargetDOMRange({\n minLength: 2\n })) ? this.withTargetDOMRange(n, i) : i();\n }, u.prototype.withTargetDOMRange = function (t, n) {\n var i;\n return \"function\" == typeof t && (n = t, t = this.getTargetDOMRange()), t ? null != (i = this.responder) ? i.withTargetDOMRange(t, n.bind(this)) : void 0 : (e.selectionChangeObserver.reset(), n.call(this));\n }, u.prototype.getTargetDOMRange = function (t) {\n var e, n, i, o;\n return i = (null != t ? t : {\n minLength: 0\n }).minLength, (o = \"function\" == typeof (e = this.event).getTargetRanges ? e.getTargetRanges() : void 0) && o.length && (n = f(o[0]), 0 === i || n.toString().length >= i) ? n : void 0;\n }, f = function f(t) {\n var e;\n return e = document.createRange(), e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n }, u.prototype.withEvent = function (t, e) {\n var n;\n this.event = t;\n\n try {\n n = e.call(this);\n } finally {\n this.event = null;\n }\n\n return n;\n }, c = function c(t) {\n var e, n;\n return a.call(null != (e = null != (n = t.dataTransfer) ? n.types : void 0) ? e : [], \"Files\") >= 0;\n }, h = function h(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"Files\") >= 0 && 1 === e.types.length && e.files.length >= 1 : void 0;\n }, p = function p(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"text/plain\") >= 0 && 1 === e.types.length : void 0;\n }, l = function l(t) {\n var e;\n return e = [], t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n }, d = function d(t) {\n return {\n x: t.clientX,\n y: t.clientY\n };\n }, u;\n }(e.InputController);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l = function l(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n n = e.defer, i = e.escapeHTML, o = e.handleEvent, a = e.makeElement, c = e.tagName, u = e.config, s = u.lang, t = u.css, r = u.keyNames, e.AttachmentEditorController = function (u) {\n function p(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = l(this.didBlurCaption, this), this.didChangeCaption = l(this.didChangeCaption, this), this.didInputCaption = l(this.didInputCaption, this), this.didKeyDownCaption = l(this.didKeyDownCaption, this), this.didClickActionButton = l(this.didClickActionButton, this), this.didClickToolbar = l(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === c(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var d;\n return h(p, u), d = function d(t) {\n return function () {\n var e;\n return e = t.apply(this, arguments), e[\"do\"](), null == this.undos && (this.undos = []), this.undos.push(e.undo);\n };\n }, p.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, p.prototype.uninstall = function () {\n var t, e;\n\n for (this.savePendingCaption(); e = this.undos.pop();) {\n e();\n }\n\n return null != (t = this.delegate) ? t.didUninstallAttachmentEditor(this) : void 0;\n }, p.prototype.savePendingCaption = function () {\n var t, e, n;\n return null != this.pendingCaption ? (t = this.pendingCaption, this.pendingCaption = null, t ? null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment ? e.attachmentEditorDidRequestUpdatingAttributesForAttachment({\n caption: t\n }, this.attachment) : void 0 : null != (n = this.delegate) && \"function\" == typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment ? n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\", this.attachment) : void 0) : void 0;\n }, p.prototype.makeElementMutable = d(function () {\n return {\n \"do\": function (t) {\n return function () {\n return t.element.dataset.trixMutable = !0;\n };\n }(this),\n undo: function (t) {\n return function () {\n return delete t.element.dataset.trixMutable;\n };\n }(this)\n };\n }), p.prototype.addToolbar = d(function () {\n var n, r, u;\n return n = a({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n }\n }), n.innerHTML = '
\\n \\n \\n \\n
\", this.attachment.isPreviewable() && (r = i(this.attachment.getFilename()), u = i(this.attachment.getFormattedFilesize()), n.innerHTML += '
\\n \\n ' + r + '\\n ' + u + \"\\n \\n
\"), o(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), o(\"click\", {\n onElement: n,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), {\n \"do\": function (t) {\n return function () {\n return t.element.appendChild(n);\n };\n }(this),\n undo: function () {\n return function () {\n return e.removeNode(n);\n };\n }(this)\n };\n }), p.prototype.installCaptionEditor = d(function () {\n var i, r, u, c, l;\n return c = a({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: s.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n }), c.value = this.attachmentPiece.getCaption(), l = c.cloneNode(), l.classList.add(\"trix-autoresize-clone\"), l.tabIndex = -1, i = function i() {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, o(\"input\", {\n onElement: c,\n withCallback: i\n }), o(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), o(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), o(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), o(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), r = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", r.appendChild(c), r.appendChild(l), r.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(r, u), i(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function undo() {\n return e.removeNode(r), u.style.display = null;\n }\n };\n }), p.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, p.prototype.didClickActionButton = function (t) {\n var e, n;\n\n switch (e = t.target.getAttribute(\"data-trix-action\")) {\n case \"remove\":\n return null != (n = this.delegate) ? n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0;\n }\n }, p.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === r[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, p.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, p.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, p.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, p;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.config.css, e.AttachmentView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n\n var a;\n return o(s, r), s.attachmentSelector = \"[data-trix-attachment]\", s.prototype.createContentNodes = function () {\n return [];\n }, s.prototype.createNodes = function () {\n var e, n, o, r, s, u, c;\n if (e = r = i({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }), (n = this.getHref()) && (r = i({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: n,\n tabindex: -1\n }\n }), e.appendChild(r)), this.attachment.hasContent()) r.innerHTML = this.attachment.getContent();else for (c = this.createContentNodes(), o = 0, s = c.length; s > o; o++) {\n u = c[o], r.appendChild(u);\n }\n return r.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({\n tagName: \"progress\",\n attributes: {\n \"class\": t.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [a(\"left\"), e, a(\"right\")];\n }, s.prototype.createCaptionElement = function () {\n var e, n, o, r, s, a, u;\n return o = i({\n tagName: \"figcaption\",\n className: t.attachmentCaption\n }), (e = this.attachmentPiece.getCaption()) ? (o.classList.add(t.attachmentCaption + \"--edited\"), o.textContent = e) : (n = this.getCaptionConfig(), n.name && (r = this.attachment.getFilename()), n.size && (a = this.attachment.getFormattedFilesize()), r && (s = i({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: r\n }), o.appendChild(s)), a && (r && o.appendChild(document.createTextNode(\" \")), u = i({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: a\n }), o.appendChild(u))), o;\n }, s.prototype.getClassName = function () {\n var e, n;\n return n = [t.attachment, t.attachment + \"--\" + this.attachment.getType()], (e = this.attachment.getExtension()) && n.push(t.attachment + \"--\" + e), n.join(\" \");\n }, s.prototype.getData = function () {\n var t, e;\n return e = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n }, t = this.attachmentPiece.attributes, t.isEmpty() || (e.trixAttributes = JSON.stringify(t)), this.attachment.isPending() && (e.trixSerialize = !1), e;\n }, s.prototype.getHref = function () {\n return n(this.attachment.getContent(), \"a\") ? void 0 : this.attachment.getHref();\n }, s.prototype.getCaptionConfig = function () {\n var t, n, i;\n return i = this.attachment.getType(), t = e.copyObject(null != (n = e.config.attachments[i]) ? n.caption : void 0), \"file\" === i && (t.name = !0), t;\n }, s.prototype.findProgressElement = function () {\n var t;\n return null != (t = this.findElement()) ? t.querySelector(\"progress\") : void 0;\n }, a = function a(t) {\n return i({\n tagName: \"span\",\n textContent: e.ZERO_WIDTH_SPACE,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n });\n }, s.prototype.attachmentDidChangeUploadProgress = function () {\n var t, e;\n return e = this.attachment.getUploadProgress(), null != (t = this.findProgressElement()) ? t.value = e : void 0;\n }, s;\n }(e.ObjectView), n = function n(t, e) {\n var n;\n return n = i(\"div\"), n.innerHTML = null != t ? t : \"\", n.querySelector(e);\n };\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.makeElement, e.PreviewableAttachmentView = function (i) {\n function o() {\n o.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this;\n }\n\n return n(o, i), o.prototype.createContentNodes = function () {\n return this.image = t({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }, o.prototype.createCaptionElement = function () {\n var t;\n return t = o.__super__.createCaptionElement.apply(this, arguments), t.textContent || t.setAttribute(\"data-trix-placeholder\", e.config.lang.captionPlaceholder), t;\n }, o.prototype.refresh = function (t) {\n var e;\n return null == t && (t = null != (e = this.findElement()) ? e.querySelector(\"img\") : void 0), t ? this.updateAttributesForImage(t) : void 0;\n }, o.prototype.updateAttributesForImage = function (t) {\n var e, n, i, o, r, s;\n return r = this.attachment.getURL(), n = this.attachment.getPreviewURL(), t.src = n || r, n === r ? t.removeAttribute(\"data-trix-serialized-attributes\") : (i = JSON.stringify({\n src: r\n }), t.setAttribute(\"data-trix-serialized-attributes\", i)), s = this.attachment.getWidth(), e = this.attachment.getHeight(), null != s && (t.width = s), null != e && (t.height = e), o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\"), t.dataset.trixStoreKey = o;\n }, o.prototype.attachmentDidChangeAttributes = function () {\n return this.refresh(this.image), this.refresh();\n }, o;\n }(e.AttachmentView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.findInnerElement, n = e.getTextConfig, e.PieceView = function (r) {\n function s() {\n var t;\n s.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t = this.options, this.textConfig = t.textConfig, this.context = t.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n\n var a;\n return o(s, r), s.prototype.createNodes = function () {\n var e, n, i, o, r, s;\n\n if (s = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e = this.createElement()) {\n for (i = t(e), n = 0, o = s.length; o > n; n++) {\n r = s[n], i.appendChild(r);\n }\n\n s = [e];\n }\n\n return s;\n }, s.prototype.createAttachmentNodes = function () {\n var t, n;\n return t = this.attachment.isPreviewable() ? e.PreviewableAttachmentView : e.AttachmentView, n = this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }), n.getNodes();\n }, s.prototype.createStringNodes = function () {\n var t, e, n, o, r, s, a, u, c, l;\n if (null != (u = this.textConfig) ? u.plaintext : void 0) return [document.createTextNode(this.string)];\n\n for (a = [], c = this.string.split(\"\\n\"), n = e = 0, o = c.length; o > e; n = ++e) {\n l = c[n], n > 0 && (t = i(\"br\"), a.push(t)), (r = l.length) && (s = document.createTextNode(this.preserveSpaces(l)), a.push(s));\n }\n\n return a;\n }, s.prototype.createElement = function () {\n var t, e, o, r, s, a, u, c, l;\n c = {}, a = this.attributes;\n\n for (r in a) {\n if (l = a[r], (t = n(r)) && (t.tagName && (s = i(t.tagName), o ? (o.appendChild(s), o = s) : e = o = s), t.styleProperty && (c[t.styleProperty] = l), t.style)) {\n u = t.style;\n\n for (r in u) {\n l = u[r], c[r] = l;\n }\n }\n }\n\n if (Object.keys(c).length) {\n null == e && (e = i(\"span\"));\n\n for (r in c) {\n l = c[r], e.style[r] = l;\n }\n }\n\n return e;\n }, s.prototype.createContainerElement = function () {\n var t, e, o, r, s;\n r = this.attributes;\n\n for (o in r) {\n if (s = r[o], (e = n(o)) && e.groupTagName) return t = {}, t[o] = s, i(e.groupTagName, t);\n }\n }, a = e.NON_BREAKING_SPACE, s.prototype.preserveSpaces = function (t) {\n return this.context.isLast && (t = t.replace(/\\ $/, a)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \" + a + \" $2\").replace(/\\ {2}/g, a + \" \").replace(/\\ {2}/g, \" \" + a), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, a)), t;\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t11, e) {\n function i() {\n this.constructor = _t11;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t11[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t11.prototype = new i(), _t11.__super__ = e.prototype, _t11;\n },\n n = {}.hasOwnProperty;\n\n e.TextView = function (n) {\n function i() {\n i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n\n var o;\n return t(i, n), i.prototype.createNodes = function () {\n var t, n, i, r, s, a, u, c, l, h;\n\n for (a = [], c = e.ObjectGroup.groupObjects(this.getPieces()), r = c.length - 1, i = n = 0, s = c.length; s > n; i = ++n) {\n u = c[i], t = {}, 0 === i && (t.isFirst = !0), i === r && (t.isLast = !0), o(l) && (t.followsWhitespace = !0), h = this.findOrCreateCachedChildView(e.PieceView, u, {\n textConfig: this.textConfig,\n context: t\n }), a.push.apply(a, h.getNodes()), l = u;\n }\n\n return a;\n }, i.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.text.getPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], n.hasAttribute(\"blockBreak\") || o.push(n);\n }\n\n return o;\n }, o = function o(t) {\n return /\\s$/.test(null != t ? t.toString() : void 0);\n }, i;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, n = e.getBlockConfig, t = e.config.css, e.BlockView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n\n return o(s, r), s.prototype.createNodes = function () {\n var t, o, r, s, a, u, c, l, h;\n if (t = document.createComment(\"block\"), u = [t], this.block.isEmpty() ? u.push(i(\"br\")) : (l = null != (c = n(this.block.getLastAttribute())) ? c.text : void 0, h = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: l\n }), u.push.apply(u, h.getNodes()), this.shouldAddExtraNewlineElement() && u.push(i(\"br\"))), this.attributes.length) return u;\n\n for (o = i(e.config.blockAttributes[\"default\"].tagName), r = 0, s = u.length; s > r; r++) {\n a = u[r], o.appendChild(a);\n }\n\n return [o];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a;\n return o = this.attributes[e], a = n(o).tagName, r = {\n tagName: a\n }, \"attachmentGallery\" === o && (s = this.block.getBlockBreakPosition(), r.className = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + s), i(r);\n }, s.prototype.shouldAddExtraNewlineElement = function () {\n return /\\n\\n$/.test(this.block.toString());\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.defer, n = e.makeElement, e.DocumentView = function (o) {\n function r() {\n r.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e.ElementStore(), this.setDocument(this.object);\n }\n\n var s, a, u;\n return i(r, o), r.render = function (t) {\n var e, i;\n return e = n(\"div\"), i = new this(t, {\n element: e\n }), i.render(), i.sync(), e;\n }, r.prototype.setDocument = function (t) {\n return t.isEqualTo(this.document) ? void 0 : this.document = this.object = t;\n }, r.prototype.render = function () {\n var t, i, o, r, s, a, u;\n\n if (this.childViews = [], this.shadowElement = n(\"div\"), !this.document.isEmpty()) {\n for (s = e.ObjectGroup.groupObjects(this.document.getBlocks(), {\n asTree: !0\n }), a = [], t = 0, i = s.length; i > t; t++) {\n r = s[t], u = this.findOrCreateCachedChildView(e.BlockView, r), a.push(function () {\n var t, e, n, i;\n\n for (n = u.getNodes(), i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(this.shadowElement.appendChild(o));\n }\n\n return i;\n }.call(this));\n }\n\n return a;\n }\n }, r.prototype.isSynced = function () {\n return s(this.shadowElement, this.element);\n }, r.prototype.sync = function () {\n var t;\n\n for (t = this.createDocumentFragmentForSync(); this.element.lastChild;) {\n this.element.removeChild(this.element.lastChild);\n }\n\n return this.element.appendChild(t), this.didSync();\n }, r.prototype.didSync = function () {\n return this.elementStore.reset(a(this.element)), t(function (t) {\n return function () {\n return t.garbageCollectCachedViews();\n };\n }(this));\n }, r.prototype.createDocumentFragmentForSync = function () {\n var t, e, n, i, o, r, s, u, c, l;\n\n for (e = document.createDocumentFragment(), u = this.shadowElement.childNodes, n = 0, o = u.length; o > n; n++) {\n s = u[n], e.appendChild(s.cloneNode(!0));\n }\n\n for (c = a(e), i = 0, r = c.length; r > i; i++) {\n t = c[i], (l = this.elementStore.remove(t)) && t.parentNode.replaceChild(l, t);\n }\n\n return e;\n }, a = function a(t) {\n return t.querySelectorAll(\"[data-trix-store-key]\");\n }, s = function s(t, e) {\n return u(t.innerHTML) === u(e.innerHTML);\n }, u = function u(t) {\n return t.replace(/ /g, \" \");\n }, r;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n a = function a(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n u.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n u = {}.hasOwnProperty;\n\n i = e.findClosestElementFromNode, o = e.handleEvent, r = e.innerElementIsActive, n = e.defer, t = e.AttachmentView.attachmentSelector, e.CompositionController = function (u) {\n function c(n, i) {\n this.element = n, this.composition = i, this.didClickAttachment = s(this.didClickAttachment, this), this.didBlur = s(this.didBlur, this), this.didFocus = s(this.didFocus, this), this.documentView = new e.DocumentView(this.composition.document, {\n element: this.element\n }), o(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), o(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), o(\"mousedown\", {\n onElement: this.element,\n matchingSelector: t,\n withCallback: this.didClickAttachment\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\" + t,\n preventDefault: !0\n });\n }\n\n return a(c, u), c.prototype.didFocus = function () {\n var t, e, n;\n return t = function (t) {\n return function () {\n var e;\n return t.focused ? void 0 : (t.focused = !0, null != (e = t.delegate) && \"function\" == typeof e.compositionControllerDidFocus ? e.compositionControllerDidFocus() : void 0);\n };\n }(this), null != (e = null != (n = this.blurPromise) ? n.then(t) : void 0) ? e : t();\n }, c.prototype.didBlur = function () {\n return this.blurPromise = new Promise(function (t) {\n return function (e) {\n return n(function () {\n var n;\n return r(t.element) || (t.focused = null, null != (n = t.delegate) && \"function\" == typeof n.compositionControllerDidBlur && n.compositionControllerDidBlur()), t.blurPromise = null, e();\n });\n };\n }(this));\n }, c.prototype.didClickAttachment = function (t, e) {\n var n, o, r;\n return n = this.findAttachmentForElement(e), o = null != i(t.target, {\n matchingSelector: \"figcaption\"\n }), null != (r = this.delegate) && \"function\" == typeof r.compositionControllerDidSelectAttachment ? r.compositionControllerDidSelectAttachment(n, {\n editCaption: o\n }) : void 0;\n }, c.prototype.getSerializableElement = function () {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }, c.prototype.render = function () {\n var t, e, n;\n return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && (null != (t = this.delegate) && \"function\" == typeof t.compositionControllerWillSyncDocumentView && t.compositionControllerWillSyncDocumentView(), this.documentView.sync(), null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidSyncDocumentView && e.compositionControllerDidSyncDocumentView()), null != (n = this.delegate) && \"function\" == typeof n.compositionControllerDidRender ? n.compositionControllerDidRender() : void 0;\n }, c.prototype.rerenderViewForObject = function (t) {\n return this.invalidateViewForObject(t), this.render();\n }, c.prototype.invalidateViewForObject = function (t) {\n return this.documentView.invalidateViewForObject(t);\n }, c.prototype.isViewCachingEnabled = function () {\n return this.documentView.isViewCachingEnabled();\n }, c.prototype.enableViewCaching = function () {\n return this.documentView.enableViewCaching();\n }, c.prototype.disableViewCaching = function () {\n return this.documentView.disableViewCaching();\n }, c.prototype.refreshViewCache = function () {\n return this.documentView.garbageCollectCachedViews();\n }, c.prototype.isEditingAttachment = function () {\n return null != this.attachmentEditor;\n }, c.prototype.installAttachmentEditorForAttachment = function (t, n) {\n var i, o, r;\n if ((null != (r = this.attachmentEditor) ? r.attachment : void 0) !== t && (o = this.documentView.findElementForObject(t))) return this.uninstallAttachmentEditor(), i = this.composition.document.getAttachmentPieceForAttachment(t), this.attachmentEditor = new e.AttachmentEditorController(i, o, this.element, n), this.attachmentEditor.delegate = this;\n }, c.prototype.uninstallAttachmentEditor = function () {\n var t;\n return null != (t = this.attachmentEditor) ? t.uninstall() : void 0;\n }, c.prototype.didUninstallAttachmentEditor = function () {\n return this.attachmentEditor = null, this.render();\n }, c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.updateAttributesForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.removeAttributeForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovalOfAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestRemovalOfAttachment ? e.compositionControllerDidRequestRemovalOfAttachment(t) : void 0;\n }, c.prototype.attachmentEditorDidRequestDeselectingAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestDeselectingAttachment ? e.compositionControllerDidRequestDeselectingAttachment(t) : void 0;\n }, c.prototype.canSyncDocumentView = function () {\n return !this.isEditingAttachment();\n }, c.prototype.findAttachmentForElement = function (t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty;\n\n n = e.handleEvent, i = e.triggerEvent, t = e.findClosestElementFromNode, e.ToolbarController = function (e) {\n function s(t) {\n this.element = t, this.didKeyDownDialogInput = o(this.didKeyDownDialogInput, this), this.didClickDialogButton = o(this.didClickDialogButton, this), this.didClickAttributeButton = o(this.didClickAttributeButton, this), this.didClickActionButton = o(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: a,\n withCallback: this.didClickActionButton\n }), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: c,\n withCallback: this.didClickAttributeButton\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: v,\n preventDefault: !0\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: l,\n withCallback: this.didClickDialogButton\n }), n(\"keydown\", {\n onElement: this.element,\n matchingSelector: h,\n withCallback: this.didKeyDownDialogInput\n });\n }\n\n var a, u, c, l, h, p, d, f, g, m, v;\n return r(s, e), c = \"[data-trix-attribute]\", a = \"[data-trix-action]\", v = c + \", \" + a, p = \"[data-trix-dialog]\", u = p + \"[data-trix-active]\", l = p + \" [data-trix-method]\", h = p + \" [data-trix-input]\", s.prototype.didClickActionButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = d(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) ? o.toolbarDidInvokeAction(n) : void 0;\n }, s.prototype.didClickAttributeButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = f(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) && o.toolbarDidToggleAttribute(n), this.refreshAttributeButtons();\n }, s.prototype.didClickDialogButton = function (e, n) {\n var i, o;\n return i = t(n, {\n matchingSelector: p\n }), o = n.getAttribute(\"data-trix-method\"), this[o].call(this, i);\n }, s.prototype.didKeyDownDialogInput = function (t, e) {\n var n, i;\n return 13 === t.keyCode && (t.preventDefault(), n = e.getAttribute(\"name\"), i = this.getDialog(n), this.setAttribute(i)), 27 === t.keyCode ? (t.preventDefault(), this.hideDialog()) : void 0;\n }, s.prototype.updateActions = function (t) {\n return this.actions = t, this.refreshActionButtons();\n }, s.prototype.refreshActionButtons = function () {\n return this.eachActionButton(function (t) {\n return function (e, n) {\n return e.disabled = t.actions[n] === !1;\n };\n }(this));\n }, s.prototype.eachActionButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(a), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, d(e)));\n }\n\n return r;\n }, s.prototype.updateAttributes = function (t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }, s.prototype.refreshAttributeButtons = function () {\n return this.eachAttributeButton(function (t) {\n return function (e, n) {\n return e.disabled = t.attributes[n] === !1, t.attributes[n] || t.dialogIsVisible(n) ? (e.setAttribute(\"data-trix-active\", \"\"), e.classList.add(\"trix-active\")) : (e.removeAttribute(\"data-trix-active\"), e.classList.remove(\"trix-active\"));\n };\n }(this));\n }, s.prototype.eachAttributeButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(c), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, f(e)));\n }\n\n return r;\n }, s.prototype.applyKeyboardCommand = function (t) {\n var e, n, o, r, s, a, u;\n\n for (s = JSON.stringify(t.sort()), u = this.element.querySelectorAll(\"[data-trix-key]\"), r = 0, a = u.length; a > r; r++) {\n if (e = u[r], o = e.getAttribute(\"data-trix-key\").split(\"+\"), n = JSON.stringify(o.sort()), n === s) return i(\"mousedown\", {\n onElement: e\n }), !0;\n }\n\n return !1;\n }, s.prototype.dialogIsVisible = function (t) {\n var e;\n return (e = this.getDialog(t)) ? e.hasAttribute(\"data-trix-active\") : void 0;\n }, s.prototype.toggleDialog = function (t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }, s.prototype.showDialog = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n for (this.hideDialog(), null != (a = this.delegate) && a.toolbarWillShowDialog(), i = this.getDialog(t), i.setAttribute(\"data-trix-active\", \"\"), i.classList.add(\"trix-active\"), u = i.querySelectorAll(\"input[disabled]\"), o = 0, s = u.length; s > o; o++) {\n n = u[o], n.removeAttribute(\"disabled\");\n }\n\n return (e = f(i)) && (r = m(i, t)) && (r.value = null != (c = this.attributes[e]) ? c : \"\", r.select()), null != (l = this.delegate) ? l.toolbarDidShowDialog(t) : void 0;\n }, s.prototype.setAttribute = function (t) {\n var e, n, i;\n return e = f(t), n = m(t, e), n.willValidate && !n.checkValidity() ? (n.setAttribute(\"data-trix-validate\", \"\"), n.classList.add(\"trix-validate\"), n.focus()) : (null != (i = this.delegate) && i.toolbarDidUpdateAttribute(e, n.value), this.hideDialog());\n }, s.prototype.removeAttribute = function (t) {\n var e, n;\n return e = f(t), null != (n = this.delegate) && n.toolbarDidRemoveAttribute(e), this.hideDialog();\n }, s.prototype.hideDialog = function () {\n var t, e;\n return (t = this.element.querySelector(u)) ? (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null != (e = this.delegate) ? e.toolbarDidHideDialog(g(t)) : void 0) : void 0;\n }, s.prototype.resetDialogInputs = function () {\n var t, e, n, i, o;\n\n for (i = this.element.querySelectorAll(h), o = [], t = 0, n = i.length; n > t; t++) {\n e = i[t], e.setAttribute(\"disabled\", \"disabled\"), e.removeAttribute(\"data-trix-validate\"), o.push(e.classList.remove(\"trix-validate\"));\n }\n\n return o;\n }, s.prototype.getDialog = function (t) {\n return this.element.querySelector(\"[data-trix-dialog=\" + t + \"]\");\n }, m = function m(t, e) {\n return null == e && (e = f(t)), t.querySelector(\"[data-trix-input][name='\" + e + \"']\");\n }, d = function d(t) {\n return t.getAttribute(\"data-trix-action\");\n }, f = function f(t) {\n var e;\n return null != (e = t.getAttribute(\"data-trix-attribute\")) ? e : t.getAttribute(\"data-trix-dialog-attribute\");\n }, g = function g(t) {\n return t.getAttribute(\"data-trix-dialog\");\n }, s;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t12, e) {\n function i() {\n this.constructor = _t12;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t12[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t12.prototype = new i(), _t12.__super__ = e.prototype, _t12;\n },\n n = {}.hasOwnProperty;\n\n e.ImagePreloadOperation = function (e) {\n function n(t) {\n this.url = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new Image(), e.onload = function (n) {\n return function () {\n return e.width = n.width = e.naturalWidth, e.height = n.height = e.naturalHeight, t(!0, e);\n };\n }(this), e.onerror = function () {\n return t(!1);\n }, e.src = this.url;\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t = function t(_t13, e) {\n return function () {\n return _t13.apply(e, arguments);\n };\n },\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n e.Attachment = function (i) {\n function o(n) {\n null == n && (n = {}), this.releaseFile = t(this.releaseFile, this), o.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n), this.didChangeAttributes();\n }\n\n return n(o, i), o.previewablePattern = /^image(\\/(gif|png|jpe?g)|$)/, o.attachmentForFile = function (t) {\n var e, n;\n return n = this.attributesForFile(t), e = new this(n), e.setFile(t), e;\n }, o.attributesForFile = function (t) {\n return new e.Hash({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }, o.fromJSON = function (t) {\n return new this(t);\n }, o.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, o.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, o.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, o.prototype.setAttributes = function (t) {\n var e, n, i;\n return null == t && (t = {}), e = this.attributes.merge(t), this.attributes.isEqualTo(e) ? void 0 : (this.attributes = e, this.didChangeAttributes(), null != (n = this.previewDelegate) && \"function\" == typeof n.attachmentDidChangeAttributes && n.attachmentDidChangeAttributes(this), null != (i = this.delegate) && \"function\" == typeof i.attachmentDidChangeAttributes ? i.attachmentDidChangeAttributes(this) : void 0);\n }, o.prototype.didChangeAttributes = function () {\n return this.isPreviewable() ? this.preloadURL() : void 0;\n }, o.prototype.isPending = function () {\n return null != this.file && !(this.getURL() || this.getHref());\n }, o.prototype.isPreviewable = function () {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : this.constructor.previewablePattern.test(this.getContentType());\n }, o.prototype.getType = function () {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }, o.prototype.getURL = function () {\n return this.attributes.get(\"url\");\n }, o.prototype.getHref = function () {\n return this.attributes.get(\"href\");\n }, o.prototype.getFilename = function () {\n var t;\n return null != (t = this.attributes.get(\"filename\")) ? t : \"\";\n }, o.prototype.getFilesize = function () {\n return this.attributes.get(\"filesize\");\n }, o.prototype.getFormattedFilesize = function () {\n var t;\n return t = this.attributes.get(\"filesize\"), \"number\" == typeof t ? e.config.fileSize.formatter(t) : \"\";\n }, o.prototype.getExtension = function () {\n var t;\n return null != (t = this.getFilename().match(/\\.(\\w+)$/)) ? t[1].toLowerCase() : void 0;\n }, o.prototype.getContentType = function () {\n return this.attributes.get(\"contentType\");\n }, o.prototype.hasContent = function () {\n return this.attributes.has(\"content\");\n }, o.prototype.getContent = function () {\n return this.attributes.get(\"content\");\n }, o.prototype.getWidth = function () {\n return this.attributes.get(\"width\");\n }, o.prototype.getHeight = function () {\n return this.attributes.get(\"height\");\n }, o.prototype.getFile = function () {\n return this.file;\n }, o.prototype.setFile = function (t) {\n return this.file = t, this.isPreviewable() ? this.preloadFile() : void 0;\n }, o.prototype.releaseFile = function () {\n return this.releasePreloadedFile(), this.file = null;\n }, o.prototype.getUploadProgress = function () {\n var t;\n return null != (t = this.uploadProgress) ? t : 0;\n }, o.prototype.setUploadProgress = function (t) {\n var e;\n return this.uploadProgress !== t ? (this.uploadProgress = t, null != (e = this.uploadProgressDelegate) && \"function\" == typeof e.attachmentDidChangeUploadProgress ? e.attachmentDidChangeUploadProgress(this) : void 0) : void 0;\n }, o.prototype.toJSON = function () {\n return this.getAttributes();\n }, o.prototype.getCacheKey = function () {\n return [o.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }, o.prototype.getPreviewURL = function () {\n return this.previewURL || this.preloadingURL;\n }, o.prototype.setPreviewURL = function (t) {\n var e, n;\n return t !== this.getPreviewURL() ? (this.previewURL = t, null != (e = this.previewDelegate) && \"function\" == typeof e.attachmentDidChangeAttributes && e.attachmentDidChangeAttributes(this), null != (n = this.delegate) && \"function\" == typeof n.attachmentDidChangePreviewURL ? n.attachmentDidChangePreviewURL(this) : void 0) : void 0;\n }, o.prototype.preloadURL = function () {\n return this.preload(this.getURL(), this.releaseFile);\n }, o.prototype.preloadFile = function () {\n return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0;\n }, o.prototype.releasePreloadedFile = function () {\n return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0;\n }, o.prototype.preload = function (t, n) {\n var i;\n return t && t !== this.getPreviewURL() ? (this.preloadingURL = t, i = new e.ImagePreloadOperation(t), i.then(function (e) {\n return function (i) {\n var o, r;\n return r = i.width, o = i.height, e.getWidth() && e.getHeight() || e.setAttributes({\n width: r,\n height: o\n }), e.preloadingURL = null, e.setPreviewURL(t), \"function\" == typeof n ? n() : void 0;\n };\n }(this))[\"catch\"](function (t) {\n return function () {\n return t.preloadingURL = null, \"function\" == typeof n ? n() : void 0;\n };\n }(this))) : void 0;\n }, o;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t14, e) {\n function i() {\n this.constructor = _t14;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t14[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t14.prototype = new i(), _t14.__super__ = e.prototype, _t14;\n },\n n = {}.hasOwnProperty;\n\n e.Piece = function (n) {\n function i(t, n) {\n null == n && (n = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n);\n }\n\n return t(i, n), i.types = {}, i.registerType = function (t, e) {\n return e.type = t, this.types[t] = e;\n }, i.fromJSON = function (t) {\n var e;\n return (e = this.types[t.type]) ? e.fromJSON(t) : void 0;\n }, i.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.getValue(), t);\n }, i.prototype.copyWithAdditionalAttributes = function (t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }, i.prototype.copyWithoutAttribute = function (t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }, i.prototype.copy = function () {\n return this.copyWithAttributes(this.attributes);\n }, i.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, i.prototype.getAttributesHash = function () {\n return this.attributes;\n }, i.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, i.prototype.getCommonAttributes = function () {\n var t, e, n;\n return (n = pieceList.getPieceAtIndex(0)) ? (t = n.attributes, e = t.getKeys(), pieceList.eachPiece(function (n) {\n return e = t.getKeysCommonToHash(n.attributes), t = t.slice(e);\n }), t.toObject()) : {};\n }, i.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, i.prototype.hasSameStringValueAsPiece = function (t) {\n return null != t && this.toString() === t.toString();\n }, i.prototype.hasSameAttributesAsPiece = function (t) {\n return null != t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }, i.prototype.isBlockBreak = function () {\n return !1;\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.isEmpty = function () {\n return 0 === this.length;\n }, i.prototype.isSerializable = function () {\n return !0;\n }, i.prototype.toJSON = function () {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }, i.prototype.contentsForInspection = function () {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }, i.prototype.canBeGrouped = function () {\n return this.hasAttribute(\"href\");\n }, i.prototype.canBeGroupedWith = function (t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }, i.prototype.getLength = function () {\n return this.length;\n }, i.prototype.canBeConsolidatedWith = function () {\n return !1;\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t15, e) {\n function i() {\n this.constructor = _t15;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t15[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t15.prototype = new i(), _t15.__super__ = e.prototype, _t15;\n },\n n = {}.hasOwnProperty;\n\n e.Piece.registerType(\"attachment\", e.AttachmentPiece = function (n) {\n function i(t) {\n this.attachment = t, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n\n return t(i, n), i.fromJSON = function (t) {\n return new this(e.Attachment.fromJSON(t.attachment), t.attributes);\n }, i.permittedAttributes = [\"caption\", \"presentation\"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function (t) {\n return this.hasAttribute(t) ? (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice(t)), this.attributes = this.attributes.remove(t)) : void 0;\n }, i.prototype.removeProhibitedAttributes = function () {\n var t;\n return t = this.attributes.slice(this.constructor.permittedAttributes), t.isEqualTo(this.attributes) ? void 0 : this.attributes = t;\n }, i.prototype.getValue = function () {\n return this.attachment;\n }, i.prototype.isSerializable = function () {\n return !this.attachment.isPending();\n }, i.prototype.getCaption = function () {\n var t;\n return null != (t = this.attributes.get(\"caption\")) ? t : \"\";\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (null != t && null != (e = t.attachment) ? e.id : void 0);\n }, i.prototype.toString = function () {\n return e.OBJECT_REPLACEMENT_CHARACTER;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.attachment = this.attachment, t;\n }, i.prototype.getCacheKey = function () {\n return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join(\"/\");\n }, i.prototype.toConsole = function () {\n return JSON.stringify(this.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.normalizeNewlines, e.Piece.registerType(\"string\", e.StringPiece = function (e) {\n function i(e) {\n i.__super__.constructor.apply(this, arguments), this.string = t(e), this.length = this.string.length;\n }\n\n return n(i, e), i.fromJSON = function (t) {\n return new this(t.string, t.attributes);\n }, i.prototype.getValue = function () {\n return this.string;\n }, i.prototype.toString = function () {\n return this.string.toString();\n }, i.prototype.isBlockBreak = function () {\n return \"\\n\" === this.toString() && this.getAttribute(\"blockBreak\") === !0;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.string = this.string, t;\n }, i.prototype.canBeConsolidatedWith = function (t) {\n return null != t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.consolidateWith = function (t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }, i.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.length ? (e = this, n = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), n = new this.constructor(this.string.slice(t), this.attributes)), [e, n];\n }, i.prototype.toConsole = function () {\n var t;\n return t = this.string, t.length > 15 && (t = t.slice(0, 14) + \"\\u2026\"), JSON.stringify(t.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty,\n o = [].slice;\n\n t = e.spliceArray, e.SplittableList = function (e) {\n function i(t) {\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n\n var r, s, a;\n return n(i, e), i.box = function (t) {\n return t instanceof this ? t : new this(t);\n }, i.prototype.indexOf = function (t) {\n return this.objects.indexOf(t);\n }, i.prototype.splice = function () {\n var e;\n return e = 1 <= arguments.length ? o.call(arguments, 0) : [], new this.constructor(t.apply(null, [this.objects].concat(o.call(e))));\n }, i.prototype.eachObject = function (t) {\n var e, n, i, o, r, s;\n\n for (r = this.objects, s = [], n = e = 0, i = r.length; i > e; n = ++e) {\n o = r[n], s.push(t(o, n));\n }\n\n return s;\n }, i.prototype.insertObjectAtIndex = function (t, e) {\n return this.splice(e, 0, t);\n }, i.prototype.insertSplittableListAtIndex = function (t, e) {\n return this.splice.apply(this, [e, 0].concat(o.call(t.objects)));\n }, i.prototype.insertSplittableListAtPosition = function (t, e) {\n var n, i, o;\n return o = this.splitObjectAtPosition(e), i = o[0], n = o[1], new this.constructor(i).insertSplittableListAtIndex(t, n);\n }, i.prototype.editObjectAtIndex = function (t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }, i.prototype.replaceObjectAtIndex = function (t, e) {\n return this.splice(e, 1, t);\n }, i.prototype.removeObjectAtIndex = function (t) {\n return this.splice(t, 1);\n }, i.prototype.getObjectAtIndex = function (t) {\n return this.objects[t];\n }, i.prototype.getSplittableListInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n.slice(e, o + 1));\n }, i.prototype.selectSplittableList = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r;\n\n for (o = this.objects, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], t(e) && r.push(e);\n }\n\n return r;\n }.call(this), new this.constructor(n);\n }, i.prototype.removeObjectsInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n).splice(e, o - e + 1);\n }, i.prototype.transformObjectsInRange = function (t, e) {\n var n, i, o, r, s, a, u;\n return s = this.splitObjectsAtRange(t), r = s[0], i = s[1], a = s[2], u = function () {\n var t, s, u;\n\n for (u = [], n = t = 0, s = r.length; s > t; n = ++t) {\n o = r[n], u.push(n >= i && a >= n ? e(o) : o);\n }\n\n return u;\n }(), new this.constructor(u);\n }, i.prototype.splitObjectsAtRange = function (t) {\n var e, n, i, o, s, u;\n return o = this.splitObjectAtPosition(a(t)), n = o[0], e = o[1], i = o[2], s = new this.constructor(n).splitObjectAtPosition(r(t) + i), n = s[0], u = s[1], [n, e, u - 1];\n }, i.prototype.getObjectAtPosition = function (t) {\n var e, n, i;\n return i = this.findIndexAndOffsetAtPosition(t), e = i.index, n = i.offset, this.objects[e];\n }, i.prototype.splitObjectAtPosition = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return s = this.findIndexAndOffsetAtPosition(t), e = s.index, r = s.offset, o = this.objects.slice(0), null != e ? 0 === r ? (c = e, l = 0) : (i = this.getObjectAtIndex(e), a = i.splitAtOffset(r), n = a[0], u = a[1], o.splice(e, 1, n, u), c = e + 1, l = n.getLength() - r) : (c = o.length, l = 0), [o, c, l];\n }, i.prototype.consolidate = function () {\n var t, e, n, i, o, r;\n\n for (i = [], o = this.objects[0], r = this.objects.slice(1), t = 0, e = r.length; e > t; t++) {\n n = r[t], (\"function\" == typeof o.canBeConsolidatedWith ? o.canBeConsolidatedWith(n) : void 0) ? o = o.consolidateWith(n) : (i.push(o), o = n);\n }\n\n return null != o && i.push(o), new this.constructor(i);\n }, i.prototype.consolidateFromIndexToIndex = function (t, e) {\n var n, i, r;\n return i = this.objects.slice(0), r = i.slice(t, e + 1), n = new this.constructor(r).consolidate().toArray(), this.splice.apply(this, [t, r.length].concat(o.call(n)));\n }, i.prototype.findIndexAndOffsetAtPosition = function (t) {\n var e, n, i, o, r, s, a;\n\n for (e = 0, a = this.objects, i = n = 0, o = a.length; o > n; i = ++n) {\n if (s = a[i], r = e + s.getLength(), t >= e && r > t) return {\n index: i,\n offset: t - e\n };\n e = r;\n }\n\n return {\n index: null,\n offset: null\n };\n }, i.prototype.findPositionAtIndexAndOffset = function (t, e) {\n var n, i, o, r, s, a;\n\n for (s = 0, a = this.objects, n = i = 0, o = a.length; o > i; n = ++i) {\n if (r = a[n], t > n) s += r.getLength();else if (n === t) {\n s += e;\n break;\n }\n }\n\n return s;\n }, i.prototype.getEndPosition = function () {\n var t, e;\n return null != this.endPosition ? this.endPosition : this.endPosition = function () {\n var n, i, o;\n\n for (e = 0, o = this.objects, n = 0, i = o.length; i > n; n++) {\n t = o[n], e += t.getLength();\n }\n\n return e;\n }.call(this);\n }, i.prototype.toString = function () {\n return this.objects.join(\"\");\n }, i.prototype.toArray = function () {\n return this.objects.slice(0);\n }, i.prototype.toJSON = function () {\n return this.toArray();\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || s(this.objects, null != t ? t.objects : void 0);\n }, s = function s(t, e) {\n var n, i, o, r, s;\n if (null == e && (e = []), t.length !== e.length) return !1;\n\n for (s = !0, i = n = 0, o = t.length; o > n; i = ++n) {\n r = t[i], s && !r.isEqualTo(e[i]) && (s = !1);\n }\n\n return s;\n }, i.prototype.contentsForInspection = function () {\n var t;\n return {\n objects: \"[\" + function () {\n var e, n, i, o;\n\n for (i = this.objects, o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.inspect());\n }\n\n return o;\n }.call(this).join(\", \") + \"]\"\n };\n }, a = function a(t) {\n return t[0];\n }, r = function r(t) {\n return t[1];\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t16, e) {\n function i() {\n this.constructor = _t16;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t16[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t16.prototype = new i(), _t16.__super__ = e.prototype, _t16;\n },\n n = {}.hasOwnProperty;\n\n e.Text = function (n) {\n function i(t) {\n var n;\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e.SplittableList(function () {\n var e, i, o;\n\n for (o = [], e = 0, i = t.length; i > e; e++) {\n n = t[e], n.isEmpty() || o.push(n);\n }\n\n return o;\n }());\n }\n\n return t(i, n), i.textForAttachmentWithAttributes = function (t, n) {\n var i;\n return i = new e.AttachmentPiece(t, n), new this([i]);\n }, i.textForStringWithAttributes = function (t, n) {\n var i;\n return i = new e.StringPiece(t, n), new this([i]);\n }, i.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Piece.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, i.prototype.copy = function () {\n return this.copyWithPieceList(this.pieceList);\n }, i.prototype.copyWithPieceList = function (t) {\n return new this.constructor(t.consolidate().toArray());\n }, i.prototype.copyUsingObjectMap = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r, s;\n\n for (o = this.getPieces(), s = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], s.push(null != (r = t.find(e)) ? r : e);\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, i.prototype.appendText = function (t) {\n return this.insertTextAtPosition(t, this.getLength());\n }, i.prototype.insertTextAtPosition = function (t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }, i.prototype.removeTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }, i.prototype.replaceTextAtRange = function (t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }, i.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, i;\n if (!(t[0] <= e && e <= t[1])) return i = this.getTextAtRange(t), n = i.getLength(), t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }, i.prototype.addAttributeAtRange = function (t, e, n) {\n var i;\n return i = {}, i[t] = e, this.addAttributesAtRange(i, n);\n }, i.prototype.addAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAdditionalAttributes(t);\n }));\n }, i.prototype.removeAttributeAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithoutAttribute(t);\n }));\n }, i.prototype.setAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAttributes(t);\n }));\n }, i.prototype.getAttributesAtPosition = function (t) {\n var e, n;\n return null != (e = null != (n = this.pieceList.getObjectAtPosition(t)) ? n.getAttributes() : void 0) ? e : {};\n }, i.prototype.getCommonAttributes = function () {\n var t, n;\n return t = function () {\n var t, e, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.getAttributes());\n }\n\n return o;\n }.call(this), e.Hash.fromCommonAttributesOfObjects(t).toObject();\n }, i.prototype.getCommonAttributesAtRange = function (t) {\n var e;\n return null != (e = this.getTextAtRange(t).getCommonAttributes()) ? e : {};\n }, i.prototype.getExpandedRangeForAttributeAtOffset = function (t, e) {\n var n, i, o;\n\n for (n = o = e, i = this.getLength(); n > 0 && this.getCommonAttributesAtRange([n - 1, o])[t];) {\n n--;\n }\n\n for (; i > o && this.getCommonAttributesAtRange([e, o + 1])[t];) {\n o++;\n }\n\n return [n, o];\n }, i.prototype.getTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }, i.prototype.getStringAtRange = function (t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }, i.prototype.getStringAtPosition = function (t) {\n return this.getStringAtRange([t, t + 1]);\n }, i.prototype.startsWithString = function (t) {\n return this.getStringAtRange([0, t.length]) === t;\n }, i.prototype.endsWithString = function (t) {\n var e;\n return e = this.getLength(), this.getStringAtRange([e - t.length, e]) === t;\n }, i.prototype.getAttachmentPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], null != n.attachment && o.push(n);\n }\n\n return o;\n }, i.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, i.prototype.getAttachmentAndPositionById = function (t) {\n var e, n, i, o, r, s;\n\n for (o = 0, r = this.pieceList.toArray(), e = 0, n = r.length; n > e; e++) {\n if (i = r[e], (null != (s = i.attachment) ? s.id : void 0) === t) return {\n attachment: i.attachment,\n position: o\n };\n o += i.length;\n }\n\n return {\n attachment: null,\n position: null\n };\n }, i.prototype.getAttachmentById = function (t) {\n var e, n, i;\n return i = this.getAttachmentAndPositionById(t), e = i.attachment, n = i.position, e;\n }, i.prototype.getRangeOfAttachment = function (t) {\n var e, n;\n return n = this.getAttachmentAndPositionById(t.id), t = n.attachment, e = n.position, null != t ? [e, e + 1] : void 0;\n }, i.prototype.updateAttributesForAttachment = function (t, e) {\n var n;\n return (n = this.getRangeOfAttachment(e)) ? this.addAttributesAtRange(t, n) : this;\n }, i.prototype.getLength = function () {\n return this.pieceList.getEndPosition();\n }, i.prototype.isEmpty = function () {\n return 0 === this.getLength();\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) || (null != t && null != (e = t.pieceList) ? e.isEqualTo(this.pieceList) : void 0);\n }, i.prototype.isBlockBreak = function () {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }, i.prototype.eachPiece = function (t) {\n return this.pieceList.eachObject(t);\n }, i.prototype.getPieces = function () {\n return this.pieceList.toArray();\n }, i.prototype.getPieceAtPosition = function (t) {\n return this.pieceList.getObjectAtPosition(t);\n }, i.prototype.contentsForInspection = function () {\n return {\n pieceList: this.pieceList.inspect()\n };\n }, i.prototype.toSerializableText = function () {\n var t;\n return t = this.pieceList.selectSplittableList(function (t) {\n return t.isSerializable();\n }), this.copyWithPieceList(t);\n }, i.prototype.toString = function () {\n return this.pieceList.toString();\n }, i.prototype.toJSON = function () {\n return this.pieceList.toJSON();\n }, i.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.toConsole()));\n }\n\n return o;\n }.call(this));\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n c = [].slice;\n\n t = e.arraysAreEqual, r = e.spliceArray, i = e.getBlockConfig, n = e.getBlockAttributeNames, o = e.getListAttributeNames, e.Block = function (n) {\n function a(t, n) {\n null == t && (t = new e.Text()), null == n && (n = []), a.__super__.constructor.apply(this, arguments), this.text = h(t), this.attributes = n;\n }\n\n var l, h, p, d, f, g, m, v, y;\n return s(a, n), a.fromJSON = function (t) {\n var n;\n return n = e.Text.fromJSON(t.text), new this(n, t.attributes);\n }, a.prototype.isEmpty = function () {\n return this.text.isBlockBreak();\n }, a.prototype.isEqualTo = function (e) {\n return a.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(null != e ? e.text : void 0) && t(this.attributes, null != e ? e.attributes : void 0);\n }, a.prototype.copyWithText = function (t) {\n return new this.constructor(t, this.attributes);\n }, a.prototype.copyWithoutText = function () {\n return this.copyWithText(null);\n }, a.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.text, t);\n }, a.prototype.copyWithoutAttributes = function () {\n return this.copyWithAttributes(null);\n }, a.prototype.copyUsingObjectMap = function (t) {\n var e;\n return this.copyWithText((e = t.find(this.text)) ? e : this.text.copyUsingObjectMap(t));\n }, a.prototype.addAttribute = function (t) {\n var e;\n return e = this.attributes.concat(d(t)), this.copyWithAttributes(e);\n }, a.prototype.removeAttribute = function (t) {\n var e, n;\n return n = i(t).listAttribute, e = g(g(this.attributes, t), n), this.copyWithAttributes(e);\n }, a.prototype.removeLastAttribute = function () {\n return this.removeAttribute(this.getLastAttribute());\n }, a.prototype.getLastAttribute = function () {\n return f(this.attributes);\n }, a.prototype.getAttributes = function () {\n return this.attributes.slice(0);\n }, a.prototype.getAttributeLevel = function () {\n return this.attributes.length;\n }, a.prototype.getAttributeAtLevel = function (t) {\n return this.attributes[t - 1];\n }, a.prototype.hasAttribute = function (t) {\n return u.call(this.attributes, t) >= 0;\n }, a.prototype.hasAttributes = function () {\n return this.getAttributeLevel() > 0;\n }, a.prototype.getLastNestableAttribute = function () {\n return f(this.getNestableAttributes());\n }, a.prototype.getNestableAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).nestable && r.push(t);\n }\n\n return r;\n }, a.prototype.getNestingLevel = function () {\n return this.getNestableAttributes().length;\n }, a.prototype.decreaseNestingLevel = function () {\n var t;\n return (t = this.getLastNestableAttribute()) ? this.removeAttribute(t) : this;\n }, a.prototype.increaseNestingLevel = function () {\n var t, e, n;\n return (t = this.getLastNestableAttribute()) ? (n = this.attributes.lastIndexOf(t), e = r.apply(null, [this.attributes, n + 1, 0].concat(c.call(d(t)))), this.copyWithAttributes(e)) : this;\n }, a.prototype.getListItemAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).listAttribute && r.push(t);\n }\n\n return r;\n }, a.prototype.isListItem = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.listAttribute : void 0;\n }, a.prototype.isTerminalBlock = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.terminal : void 0;\n }, a.prototype.breaksOnReturn = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.breakOnReturn : void 0;\n }, a.prototype.findLineBreakInDirectionFromPosition = function (t, e) {\n var n, i;\n return i = this.toString(), n = function () {\n switch (t) {\n case \"forward\":\n return i.indexOf(\"\\n\", e);\n\n case \"backward\":\n return i.slice(0, e).lastIndexOf(\"\\n\");\n }\n }(), -1 !== n ? n : void 0;\n }, a.prototype.contentsForInspection = function () {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }, a.prototype.toString = function () {\n return this.text.toString();\n }, a.prototype.toJSON = function () {\n return {\n text: this.text,\n attributes: this.attributes\n };\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes();\n }, a.prototype.consolidateWith = function (t) {\n var n, i;\n return n = e.Text.textForStringWithAttributes(\"\\n\"), i = this.getTextWithoutBlockBreak().appendText(n), this.copyWithText(i.appendText(t.text));\n }, a.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.getLength() ? (e = this, n = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), n = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, n];\n }, a.prototype.getBlockBreakPosition = function () {\n return this.text.getLength() - 1;\n }, a.prototype.getTextWithoutBlockBreak = function () {\n return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }, a.prototype.canBeGrouped = function (t) {\n return this.attributes[t];\n }, a.prototype.canBeGroupedWith = function (t, e) {\n var n, r, s, a;\n return s = t.getAttributes(), r = s[e], n = this.attributes[e], n === r && !(i(n).group === !1 && (a = s[e + 1], u.call(o(), a) < 0));\n }, h = function h(t) {\n return t = y(t), t = l(t);\n }, y = function y(t) {\n var n, i, o, r, s, a;\n return r = !1, a = t.getPieces(), i = 2 <= a.length ? c.call(a, 0, n = a.length - 1) : (n = 0, []), o = a[n++], null == o ? t : (i = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = i.length; e > t; t++) {\n s = i[t], s.isBlockBreak() ? (r = !0, n.push(v(s))) : n.push(s);\n }\n\n return n;\n }(), r ? new e.Text(c.call(i).concat([o])) : t);\n }, p = e.Text.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }), l = function l(t) {\n return m(t) ? t : t.appendText(p);\n }, m = function m(t) {\n var e, n;\n return n = t.getLength(), 0 === n ? !1 : (e = t.getTextAtRange([n - 1, n]), e.isBlockBreak());\n }, v = function v(t) {\n return t.copyWithoutAttribute(\"blockBreak\");\n }, d = function d(t) {\n var e;\n return e = i(t).listAttribute, null != e ? [e, t] : [t];\n }, f = function f(t) {\n return t.slice(-1)[0];\n }, g = function g(t, e) {\n var n;\n return n = t.lastIndexOf(e), -1 === n ? t : r(t, n, 1);\n }, a;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n a = [].slice;\n\n n = e.tagName, i = e.walkTree, t = e.nodeIsAttachmentElement, e.HTMLSanitizer = function (r) {\n function u(t, e) {\n var n;\n n = null != e ? e : {}, this.allowedAttributes = n.allowedAttributes, this.forbiddenProtocols = n.forbiddenProtocols, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = l), this.body = h(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), l = \"javascript:\".split(\" \"), u.sanitize = function (t, e) {\n var n;\n return n = new this(t, e), n.sanitize(), n;\n }, u.prototype.sanitize = function () {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }, u.prototype.getHTML = function () {\n return this.body.innerHTML;\n }, u.prototype.getBody = function () {\n return this.body;\n }, u.prototype.sanitizeElements = function () {\n var t, n, o, r, s;\n\n for (s = i(this.body), r = []; s.nextNode();) {\n switch (o = s.currentNode, o.nodeType) {\n case Node.ELEMENT_NODE:\n p(o) ? r.push(o) : this.sanitizeElement(o);\n break;\n\n case Node.COMMENT_NODE:\n r.push(o);\n }\n }\n\n for (t = 0, n = r.length; n > t; t++) {\n o = r[t], e.removeNode(o);\n }\n\n return this.body;\n }, u.prototype.sanitizeElement = function (t) {\n var e, n, i, o, r;\n\n for (t.hasAttribute(\"href\") && (o = t.protocol, s.call(this.forbiddenProtocols, o) >= 0 && t.removeAttribute(\"href\")), r = a.call(t.attributes), e = 0, n = r.length; n > e; e++) {\n i = r[e].name, s.call(this.allowedAttributes, i) >= 0 || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n }\n\n return t;\n }, u.prototype.normalizeListElementNesting = function () {\n var t, e, i, o, r;\n\n for (r = a.call(this.body.querySelectorAll(\"ul,ol\")), t = 0, e = r.length; e > t; t++) {\n i = r[t], (o = i.previousElementSibling) && \"li\" === n(o) && o.appendChild(i);\n }\n\n return this.body;\n }, p = function p(e) {\n return (null != e ? e.nodeType : void 0) !== Node.ELEMENT_NODE || t(e) ? void 0 : \"script\" === n(e) || \"false\" === e.getAttribute(\"data-trix-serialize\");\n }, h = function h(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = \"\"), t = t.replace(/<\\/html[^>]*>[^]*$/i, \"\"), e = document.implementation.createHTMLDocument(\"\"), e.documentElement.innerHTML = t, r = e.head.querySelectorAll(\"style\"), i = 0, o = r.length; o > i; i++) {\n n = r[i], e.body.appendChild(n);\n }\n\n return e.body;\n }, u;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty,\n f = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, s = e.makeElement, l = e.tagName, r = e.getBlockTagNames, h = e.walkTree, o = e.findClosestElementFromNode, i = e.elementContainsNode, a = e.nodeIsAttachmentElement, u = e.normalizeSpaces, n = e.breakableWhitespacePattern, c = e.squishBreakableWhitespace, e.HTMLParser = function (d) {\n function g(t, e) {\n this.html = t, this.referenceElement = (null != e ? e : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n\n var m, v, y, b, A, C, x, w, E, S, R, k;\n return p(g, d), g.parse = function (t, e) {\n var n;\n return n = new this(t, e), n.parse(), n;\n }, g.prototype.getDocument = function () {\n return e.Document.fromJSON(this.blocks);\n }, g.prototype.parse = function () {\n var t, n;\n\n try {\n for (this.createHiddenContainer(), t = e.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t, n = h(this.containerElement, {\n usingFilter: w\n }); n.nextNode();) {\n this.processNode(n.currentNode);\n }\n\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }, g.prototype.createHiddenContainer = function () {\n return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(!1), this.containerElement.removeAttribute(\"id\"), this.containerElement.setAttribute(\"data-trix-internal\", \"\"), this.containerElement.style.display = \"none\", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }, g.prototype.removeHiddenContainer = function () {\n return e.removeNode(this.containerElement);\n }, w = function w(t) {\n return \"style\" === l(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, g.prototype.processNode = function (t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }, g.prototype.appendBlockForTextNode = function (e) {\n var n, i, o;\n return i = e.parentNode, i === this.currentBlockElement || i !== this.containerElement && !this.isBlockElement(i) ? void 0 : (n = this.getBlockAttributes(i), t(n, null != (o = this.currentBlock) ? o.attributes : void 0) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n, i), this.currentBlockElement = i));\n }, g.prototype.appendBlockForElement = function (e) {\n var n, o, r, s;\n\n if (r = this.isBlockElement(e), o = i(this.currentBlockElement, e), r && !this.isBlockElement(e.firstChild)) {\n if (!(this.isInsignificantTextNode(e.firstChild) && this.isBlockElement(e.firstElementChild) || (n = this.getBlockAttributes(e), o && t(n, this.currentBlock.attributes)))) return this.currentBlock = this.appendBlockForAttributesWithElement(n, e), this.currentBlockElement = e;\n } else if (this.currentBlockElement && !o && !r) return (s = this.findParentBlockElement(e)) ? this.appendBlockForElement(s) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null);\n }, g.prototype.findParentBlockElement = function (t) {\n var e;\n\n for (e = t.parentElement; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && f.call(this.blockElements, e) >= 0) return e;\n e = e.parentElement;\n }\n\n return null;\n }, g.prototype.processTextNode = function (t) {\n var e, n;\n return n = t.data, v(t.parentNode) || (n = c(n), R(null != (e = t.previousSibling) ? e.textContent : void 0) && (n = C(n))), this.appendStringWithAttributes(n, this.getTextAttributes(t.parentNode));\n }, g.prototype.processElement = function (t) {\n var e, n, i, o, r;\n if (a(t)) return e = y(t), Object.keys(e).length && (o = this.getTextAttributes(t), this.appendAttachmentWithAttributes(e, o), t.innerHTML = \"\"), this.processedElements.push(t);\n\n switch (l(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n }, i = A(t);\n\n for (n in i) {\n r = i[n], e[n] = r;\n }\n\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"tr\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\"\\n\");\n break;\n\n case \"td\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\" | \");\n }\n }, g.prototype.appendBlockForAttributesWithElement = function (t, e) {\n var n;\n return this.blockElements.push(e), n = m(t), this.blocks.push(n), n;\n }, g.prototype.appendEmptyBlock = function () {\n return this.appendBlockForAttributesWithElement([], null);\n }, g.prototype.appendStringWithAttributes = function (t, e) {\n return this.appendPiece(S(t, e));\n }, g.prototype.appendAttachmentWithAttributes = function (t, e) {\n return this.appendPiece(E(t, e));\n }, g.prototype.appendPiece = function (t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }, g.prototype.appendStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[i.length - 1], \"string\" === (null != n ? n.type : void 0) ? n.string += t : i.push(S(t));\n }, g.prototype.prependStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[0], \"string\" === (null != n ? n.type : void 0) ? n.string = t + n.string : i.unshift(S(t));\n }, S = function S(t, e) {\n var n;\n return null == e && (e = {}), n = \"string\", t = u(t), {\n string: t,\n attributes: e,\n type: n\n };\n }, E = function E(t, e) {\n var n;\n return null == e && (e = {}), n = \"attachment\", {\n attachment: t,\n attributes: e,\n type: n\n };\n }, m = function m(t) {\n var e;\n return null == t && (t = {}), e = [], {\n text: e,\n attributes: t\n };\n }, g.prototype.getTextAttributes = function (t) {\n var n, i, r, s, u, c, l, h, p, d, f, g, m;\n r = {}, d = e.config.textAttributes;\n\n for (n in d) {\n if (u = d[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (m = u.parser(t)) {\n for (i = !1, f = this.findBlockElementAncestors(t), c = 0, p = f.length; p > c; c++) {\n if (s = f[c], u.parser(s) === m) {\n i = !0;\n break;\n }\n }\n\n i || (r[n] = m);\n }\n } else u.styleProperty && (m = t.style[u.styleProperty]) && (r[n] = m);\n }\n\n if (a(t) && (l = t.getAttribute(\"data-trix-attributes\"))) {\n g = JSON.parse(l);\n\n for (h in g) {\n m = g[h], r[h] = m;\n }\n }\n\n return r;\n }, g.prototype.getBlockAttributes = function (t) {\n var n, i, o, r;\n\n for (i = []; t && t !== this.containerElement;) {\n r = e.config.blockAttributes;\n\n for (n in r) {\n o = r[n], o.parse !== !1 && l(t) === o.tagName && ((\"function\" == typeof o.test ? o.test(t) : void 0) || !o.test) && (i.push(n), o.listAttribute && i.push(o.listAttribute));\n }\n\n t = t.parentNode;\n }\n\n return i.reverse();\n }, g.prototype.findBlockElementAncestors = function (t) {\n var e, n;\n\n for (e = []; t && t !== this.containerElement;) {\n n = l(t), f.call(r(), n) >= 0 && e.push(t), t = t.parentNode;\n }\n\n return e;\n }, y = function y(t) {\n return JSON.parse(t.getAttribute(\"data-trix-attachment\"));\n }, A = function A(t) {\n var e, n, i;\n return i = t.getAttribute(\"width\"), n = t.getAttribute(\"height\"), e = {}, i && (e.width = parseInt(i, 10)), n && (e.height = parseInt(n, 10)), e;\n }, g.prototype.isBlockElement = function (t) {\n var e;\n if ((null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE && !a(t) && !o(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return e = l(t), f.call(r(), e) >= 0 || \"block\" === window.getComputedStyle(t).display;\n }, g.prototype.isInsignificantTextNode = function (t) {\n var e, n, i;\n if ((null != t ? t.nodeType : void 0) === Node.TEXT_NODE && k(t.data) && (n = t.parentNode, i = t.previousSibling, e = t.nextSibling, (!x(n.previousSibling) || this.isBlockElement(n.previousSibling)) && !v(n))) return !i || this.isBlockElement(i) || !e || this.isBlockElement(e);\n }, g.prototype.isExtraBR = function (t) {\n return \"br\" === l(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }, v = function v(t) {\n var e;\n return e = window.getComputedStyle(t).whiteSpace, \"pre\" === e || \"pre-wrap\" === e || \"pre-line\" === e;\n }, x = function x(t) {\n return t && !R(t.textContent);\n }, g.prototype.translateBlockElementMarginsToNewlines = function () {\n var t, e, n, i, o, r, s, a;\n\n for (e = this.getMarginOfDefaultBlockElement(), s = this.blocks, a = [], i = n = 0, o = s.length; o > n; i = ++n) {\n t = s[i], (r = this.getMarginOfBlockElementAtIndex(i)) && (r.top > 2 * e.top && this.prependStringToTextAtIndex(\"\\n\", i), a.push(r.bottom > 2 * e.bottom ? this.appendStringToTextAtIndex(\"\\n\", i) : void 0));\n }\n\n return a;\n }, g.prototype.getMarginOfBlockElementAtIndex = function (t) {\n var e, n;\n return !(e = this.blockElements[t]) || !e.textContent || (n = l(e), f.call(r(), n) >= 0 || f.call(this.processedElements, e) >= 0) ? void 0 : b(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), b(t);\n }, b = function b(t) {\n var e;\n return e = window.getComputedStyle(t), \"block\" === e.display ? {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n } : void 0;\n }, C = function C(t) {\n return t.replace(RegExp(\"^\" + n.source + \"+\"), \"\");\n }, k = function k(t) {\n return RegExp(\"^\" + n.source + \"*$\").test(t);\n }, R = function R(t) {\n return /\\s$/.test(t);\n }, g;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, i = e.normalizeRange, o = e.rangeIsCollapsed, n = e.getBlockConfig, e.Document = function (s) {\n function c(t) {\n null == t && (t = []), c.__super__.constructor.apply(this, arguments), 0 === t.length && (t = [new e.Block()]), this.blockList = e.SplittableList.box(t);\n }\n\n var l;\n return r(c, s), c.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Block.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, c.fromHTML = function (t, n) {\n return e.HTMLParser.parse(t, n).getDocument();\n }, c.fromString = function (t, n) {\n var i;\n return i = e.Text.textForStringWithAttributes(t, n), new this([new e.Block(i)]);\n }, c.prototype.isEmpty = function () {\n var t;\n return 1 === this.blockList.length && (t = this.getBlockAtIndex(0), t.isEmpty() && !t.hasAttributes());\n }, c.prototype.copy = function (t) {\n var e;\n return null == t && (t = {}), e = t.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e);\n }, c.prototype.copyUsingObjectsFromDocument = function (t) {\n var n;\n return n = new e.ObjectMap(t.getObjects()), this.copyUsingObjectMap(n);\n }, c.prototype.copyUsingObjectMap = function (t) {\n var e, n, i;\n return n = function () {\n var n, o, r, s;\n\n for (r = this.getBlocks(), s = [], n = 0, o = r.length; o > n; n++) {\n e = r[n], s.push((i = t.find(e)) ? i : e.copyUsingObjectMap(t));\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, c.prototype.copyWithBaseBlockAttributes = function (t) {\n var e, n, i;\n return null == t && (t = []), i = function () {\n var i, o, r, s;\n\n for (r = this.getBlocks(), s = [], i = 0, o = r.length; o > i; i++) {\n n = r[i], e = t.concat(n.getAttributes()), s.push(n.copyWithAttributes(e));\n }\n\n return s;\n }.call(this), new this.constructor(i);\n }, c.prototype.replaceBlock = function (t, e) {\n var n;\n return n = this.blockList.indexOf(t), -1 === n ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, n));\n }, c.prototype.insertDocumentAtRange = function (t, e) {\n var n, r, s, a, u, c, l;\n return r = t.blockList, u = (e = i(e))[0], c = this.locationFromPosition(u), s = c.index, a = c.offset, l = this, n = this.getBlockAtPosition(u), o(e) && n.isEmpty() && !n.hasAttributes() ? l = new this.constructor(l.blockList.removeObjectAtIndex(s)) : n.getBlockBreakPosition() === a && u++, l = l.removeTextAtRange(e), new this.constructor(l.blockList.insertSplittableListAtPosition(r, u));\n }, c.prototype.mergeDocumentAtRange = function (e, n) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return f = (n = i(n))[0], d = this.locationFromPosition(f), r = this.getBlockAtIndex(d.index).getAttributes(), o = e.getBaseBlockAttributes(), g = r.slice(-o.length), t(o, g) ? (l = r.slice(0, -o.length), c = e.copyWithBaseBlockAttributes(l)) : c = e.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(r), s = c.getBlockCount(), a = c.getBlockAtIndex(0), t(r, a.getAttributes()) ? (u = a.getTextWithoutBlockBreak(), p = this.insertTextAtRange(u, n), s > 1 && (c = new this.constructor(c.getBlocks().slice(1)), h = f + u.getLength(), p = p.insertDocumentAtRange(c, h))) : p = this.insertDocumentAtRange(c, n), p;\n }, c.prototype.insertTextAtRange = function (t, e) {\n var n, o, r, s, a;\n return a = (e = i(e))[0], s = this.locationFromPosition(a), o = s.index, r = s.offset, n = this.removeTextAtRange(e), new this.constructor(n.blockList.editObjectAtIndex(o, function (e) {\n return e.copyWithText(e.text.insertTextAtPosition(t, r));\n }));\n }, c.prototype.removeTextAtRange = function (t) {\n var e, n, r, s, a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n return p = t = i(t), l = p[0], A = p[1], o(t) ? this : (d = this.locationRangeFromRange(t), u = d[0], y = d[1], a = u.index, c = u.offset, s = this.getBlockAtIndex(a), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l === 1 && s.getBlockBreakPosition() === c && m.getBlockBreakPosition() !== b && \"\\n\" === m.text.getStringAtPosition(b), f ? r = this.blockList.editObjectAtIndex(v, function (t) {\n return t.copyWithText(t.text.removeTextAtRange([b, b + 1]));\n }) : (h = s.text.getTextAtRange([0, c]), C = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C), g = a !== v && 0 === c, w = g && s.getAttributeLevel() >= m.getAttributeLevel(), n = w ? m.copyWithText(x) : s.copyWithText(x), e = v + 1 - a, r = this.blockList.splice(a, e, n)), new this.constructor(r));\n }, c.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, o, r, s, u, c, l, h, p, d;\n return c = t = i(t), p = c[0], r = c[1], e >= p && r >= e ? this : (o = this.getDocumentAtRange(t), h = this.removeTextAtRange(t), u = e > p, u && (e -= o.getLength()), l = o.getBlocks(), s = l[0], n = 2 <= l.length ? a.call(l, 1) : [], 0 === n.length ? (d = s.getTextWithoutBlockBreak(), u && (e += 1)) : d = s.text, h = h.insertTextAtRange(d, e), 0 === n.length ? h : (o = new this.constructor(n), e += d.getLength(), h.insertDocumentAtRange(o, e)));\n }, c.prototype.addAttributeAtRange = function (t, e, i) {\n var o;\n return o = this.blockList, this.eachBlockAtRange(i, function (i, r, s) {\n return o = o.editObjectAtIndex(s, function () {\n return n(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n });\n }), new this.constructor(o);\n }, c.prototype.addAttribute = function (t, e) {\n var n;\n return n = this.blockList, this.eachBlock(function (i, o) {\n return n = n.editObjectAtIndex(o, function () {\n return i.addAttribute(t, e);\n });\n }), new this.constructor(n);\n }, c.prototype.removeAttributeAtRange = function (t, e) {\n var i;\n return i = this.blockList, this.eachBlockAtRange(e, function (e, o, r) {\n return n(t) ? i = i.editObjectAtIndex(r, function () {\n return e.removeAttribute(t);\n }) : o[0] !== o[1] ? i = i.editObjectAtIndex(r, function () {\n return e.copyWithText(e.text.removeAttributeAtRange(t, o));\n }) : void 0;\n }), new this.constructor(i);\n }, c.prototype.updateAttributesForAttachment = function (t, e) {\n var n, i, o, r;\n return o = (i = this.getRangeOfAttachment(e))[0], n = this.locationFromPosition(o).index, r = this.getTextAtIndex(n), new this.constructor(this.blockList.editObjectAtIndex(n, function (n) {\n return n.copyWithText(r.updateAttributesForAttachment(t, e));\n }));\n }, c.prototype.removeAttributeForAttachment = function (t, e) {\n var n;\n return n = this.getRangeOfAttachment(e), this.removeAttributeAtRange(t, n);\n }, c.prototype.insertBlockBreakAtRange = function (t) {\n var n, o, r, s;\n return s = (t = i(t))[0], r = this.locationFromPosition(s).offset, o = this.removeTextAtRange(t), 0 === r && (n = [new e.Block()]), new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n), s));\n }, c.prototype.applyBlockAttributeAtRange = function (t, e, i) {\n var o, r, s, a;\n return s = this.expandRangeToLineBreaksAndSplitBlocks(i), r = s.document, i = s.range, o = n(t), o.listAttribute ? (r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n }), a = r.convertLineBreaksToBlockBreaksInRange(i), r = a.document, i = a.range) : r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i), r.addAttributeAtRange(t, e, i);\n }, c.prototype.removeLastListAttributeAtRange = function (t, e) {\n var i;\n return null == e && (e = {}), i = this.blockList, this.eachBlockAtRange(t, function (t, o, r) {\n var s;\n if ((s = t.getLastAttribute()) && n(s).listAttribute && s !== e.exceptAttributeName) return i = i.editObjectAtIndex(r, function () {\n return t.removeAttribute(s);\n });\n }), new this.constructor(i);\n }, c.prototype.removeLastTerminalAttributeAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, i, o) {\n var r;\n if ((r = t.getLastAttribute()) && n(r).terminal) return e = e.editObjectAtIndex(o, function () {\n return t.removeAttribute(r);\n });\n }), new this.constructor(e);\n }, c.prototype.removeBlockAttributesAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, n, i) {\n return t.hasAttributes() ? e = e.editObjectAtIndex(i, function () {\n return t.copyWithoutAttributes();\n }) : void 0;\n }), new this.constructor(e);\n }, c.prototype.expandRangeToLineBreaksAndSplitBlocks = function (t) {\n var e, n, o, r, s, a, u, c, l;\n return a = t = i(t), l = a[0], r = a[1], c = this.locationFromPosition(l), o = this.locationFromPosition(r), e = this, u = e.getBlockAtIndex(c.index), null != (c.offset = u.findLineBreakInDirectionFromPosition(\"backward\", c.offset)) && (s = e.positionFromLocation(c), e = e.insertBlockBreakAtRange([s, s + 1]), o.index += 1, o.offset -= e.getBlockAtIndex(c.index).getLength(), c.index += 1), c.offset = 0, 0 === o.offset && o.index > c.index ? (o.index -= 1, o.offset = e.getBlockAtIndex(o.index).getBlockBreakPosition()) : (n = e.getBlockAtIndex(o.index), \"\\n\" === n.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = n.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== n.getBlockBreakPosition() && (s = e.positionFromLocation(o), e = e.insertBlockBreakAtRange([s, s + 1]))), l = e.positionFromLocation(c), r = e.positionFromLocation(o), t = i([l, r]), {\n document: e,\n range: t\n };\n }, c.prototype.convertLineBreaksToBlockBreaksInRange = function (t) {\n var e, n, o;\n return n = (t = i(t))[0], o = this.getStringAtRange(t).slice(0, -1), e = this, o.replace(/.*?\\n/g, function (t) {\n return n += t.length, e = e.insertBlockBreakAtRange([n - 1, n]);\n }), {\n document: e,\n range: t\n };\n }, c.prototype.consolidateBlocksAtRange = function (t) {\n var e, n, o, r, s;\n return o = t = i(t), s = o[0], n = o[1], r = this.locationFromPosition(s).index, e = this.locationFromPosition(n).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r, e));\n }, c.prototype.getDocumentAtRange = function (t) {\n var e;\n return t = i(t), e = this.blockList.getSplittableListInRange(t).toArray(), new this.constructor(e);\n }, c.prototype.getStringAtRange = function (t) {\n var e, n, o;\n return o = t = i(t), n = o[o.length - 1], n !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }, c.prototype.getBlockAtIndex = function (t) {\n return this.blockList.getObjectAtIndex(t);\n }, c.prototype.getBlockAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getBlockAtIndex(e);\n }, c.prototype.getTextAtIndex = function (t) {\n var e;\n return null != (e = this.getBlockAtIndex(t)) ? e.text : void 0;\n }, c.prototype.getTextAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getTextAtIndex(e);\n }, c.prototype.getPieceAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getPieceAtPosition(n);\n }, c.prototype.getCharacterAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getStringAtRange([n, n + 1]);\n }, c.prototype.getLength = function () {\n return this.blockList.getEndPosition();\n }, c.prototype.getBlocks = function () {\n return this.blockList.toArray();\n }, c.prototype.getBlockCount = function () {\n return this.blockList.length;\n }, c.prototype.getEditCount = function () {\n return this.editCount;\n }, c.prototype.eachBlock = function (t) {\n return this.blockList.eachObject(t);\n }, c.prototype.eachBlockAtRange = function (t, e) {\n var n, o, r, s, a, u, c, l, h, p, d, f;\n if (u = t = i(t), d = u[0], r = u[1], p = this.locationFromPosition(d), o = this.locationFromPosition(r), p.index === o.index) return n = this.getBlockAtIndex(p.index), f = [p.offset, o.offset], e(n, f, p.index);\n\n for (h = [], a = s = c = p.index, l = o.index; l >= c ? l >= s : s >= l; a = l >= c ? ++s : --s) {\n (n = this.getBlockAtIndex(a)) ? (f = function () {\n switch (a) {\n case p.index:\n return [p.offset, n.text.getLength()];\n\n case o.index:\n return [0, o.offset];\n\n default:\n return [0, n.text.getLength()];\n }\n }(), h.push(e(n, f, a))) : h.push(void 0);\n }\n\n return h;\n }, c.prototype.getCommonAttributesAtRange = function (t) {\n var n, r, s;\n return r = (t = i(t))[0], o(t) ? this.getCommonAttributesAtPosition(r) : (s = [], n = [], this.eachBlockAtRange(t, function (t, e) {\n return e[0] !== e[1] ? (s.push(t.text.getCommonAttributesAtRange(e)), n.push(l(t))) : void 0;\n }), e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject());\n }, c.prototype.getCommonAttributesAtPosition = function (t) {\n var n, i, o, r, s, a, c, h, p, d;\n if (p = this.locationFromPosition(t), s = p.index, h = p.offset, o = this.getBlockAtIndex(s), !o) return {};\n r = l(o), n = o.text.getAttributesAtPosition(h), i = o.text.getAttributesAtPosition(h - 1), a = function () {\n var t, n;\n t = e.config.textAttributes, n = [];\n\n for (c in t) {\n d = t[c], d.inheritable && n.push(c);\n }\n\n return n;\n }();\n\n for (c in i) {\n d = i[c], (d === n[c] || u.call(a, c) >= 0) && (r[c] = d);\n }\n\n return r;\n }, c.prototype.getRangeOfCommonAttributeAtPosition = function (t, e) {\n var n, o, r, s, a, u, c, l, h;\n return a = this.locationFromPosition(e), r = a.index, s = a.offset, h = this.getTextAtIndex(r), u = h.getExpandedRangeForAttributeAtOffset(t, s), l = u[0], o = u[1], c = this.positionFromLocation({\n index: r,\n offset: l\n }), n = this.positionFromLocation({\n index: r,\n offset: o\n }), i([c, n]);\n }, c.prototype.getBaseBlockAttributes = function () {\n var t, e, n, i, o, r, s;\n\n for (t = this.getBlockAtIndex(0).getAttributes(), n = i = 1, s = this.getBlockCount(); s >= 1 ? s > i : i > s; n = s >= 1 ? ++i : --i) {\n e = this.getBlockAtIndex(n).getAttributes(), r = Math.min(t.length, e.length), t = function () {\n var n, i, s;\n\n for (s = [], o = n = 0, i = r; (i >= 0 ? i > n : n > i) && e[o] === t[o]; o = i >= 0 ? ++n : --n) {\n s.push(e[o]);\n }\n\n return s;\n }();\n }\n\n return t;\n }, l = function l(t) {\n var e, n;\n return n = {}, (e = t.getLastAttribute()) && (n[e] = !0), n;\n }, c.prototype.getAttachmentById = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (e = o[n], e.id === t) return e;\n }\n }, c.prototype.getAttachmentPieces = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n var n;\n return n = e.text, t = t.concat(n.getAttachmentPieces());\n }), t;\n }, c.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, c.prototype.getRangeOfAttachment = function (t) {\n var e, n, o, r, s, a, u;\n\n for (r = 0, s = this.blockList.toArray(), n = e = 0, o = s.length; o > e; n = ++e) {\n if (a = s[n].text, u = a.getRangeOfAttachment(t)) return i([r + u[0], r + u[1]]);\n r += a.getLength();\n }\n }, c.prototype.getLocationRangeOfAttachment = function (t) {\n var e;\n return e = this.getRangeOfAttachment(t), this.locationRangeFromRange(e);\n }, c.prototype.getAttachmentPieceForAttachment = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachmentPieces(), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], i.attachment === t) return i;\n }\n }, c.prototype.findRangesForBlockAttribute = function (t) {\n var e, n, i, o, r, s, a;\n\n for (r = 0, s = [], a = this.getBlocks(), n = 0, i = a.length; i > n; n++) {\n e = a[n], o = e.getLength(), e.hasAttribute(t) && s.push([r, r + o]), r += o;\n }\n\n return s;\n }, c.prototype.findRangesForTextAttribute = function (t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n for (h = (null != e ? e : {}).withValue, a = 0, u = [], c = [], r = function r(e) {\n return null != h ? e.getAttribute(t) === h : e.hasAttribute(t);\n }, l = this.getPieces(), n = 0, i = l.length; i > n; n++) {\n s = l[n], o = s.getLength(), r(s) && (u[1] === a ? u[1] = a + o : c.push(u = [a, a + o])), a += o;\n }\n\n return c;\n }, c.prototype.locationFromPosition = function (t) {\n var e, n;\n return n = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t)), null != n.index ? n : (e = this.getBlocks(), {\n index: e.length - 1,\n offset: e[e.length - 1].getLength()\n });\n }, c.prototype.positionFromLocation = function (t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }, c.prototype.locationRangeFromPosition = function (t) {\n return i(this.locationFromPosition(t));\n }, c.prototype.locationRangeFromRange = function (t) {\n var e, n, o, r;\n if (t = i(t)) return r = t[0], n = t[1], o = this.locationFromPosition(r), e = this.locationFromPosition(n), i([o, e]);\n }, c.prototype.rangeFromLocationRange = function (t) {\n var e, n;\n return t = i(t), e = this.positionFromLocation(t[0]), o(t) || (n = this.positionFromLocation(t[1])), i([e, n]);\n }, c.prototype.isEqualTo = function (t) {\n return this.blockList.isEqualTo(null != t ? t.blockList : void 0);\n }, c.prototype.getTexts = function () {\n var t, e, n, i, o;\n\n for (i = this.getBlocks(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.text);\n }\n\n return o;\n }, c.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (n = [], i = this.getTexts(), t = 0, e = i.length; e > t; t++) {\n o = i[t], n.push.apply(n, o.getPieces());\n }\n\n return n;\n }, c.prototype.getObjects = function () {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }, c.prototype.toSerializableDocument = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n return t.push(e.copyWithText(e.text.toSerializableText()));\n }), new this.constructor(t);\n }, c.prototype.toString = function () {\n return this.blockList.toString();\n }, c.prototype.toJSON = function () {\n return this.blockList.toJSON();\n }, c.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.blockList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.text.toConsole()));\n }\n\n return o;\n }.call(this));\n }, c;\n }(e.Object);\n }.call(this), function () {\n e.LineBreakInsertion = function () {\n function t(t) {\n var e;\n this.composition = t, this.document = this.composition.document, e = this.composition.getSelectedRange(), this.startPosition = e[0], this.endPosition = e[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset);\n }\n\n return t.prototype.shouldInsertBlockBreak = function () {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }, t.prototype.shouldBreakFormattedBlock = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }, t.prototype.shouldDecreaseListLevel = function () {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }, t.prototype.shouldPrependListItem = function () {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }, t.prototype.shouldRemoveLastBlockAttribute = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }, t;\n }();\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n s = e.normalizeRange, c = e.rangesAreEqual, u = e.rangeIsCollapsed, a = e.objectsAreEqual, t = e.arrayStartsWith, l = e.summarizeArrayChange, i = e.getAllAttributeNames, o = e.getBlockConfig, r = e.getTextConfig, n = e.extend, e.Composition = function (p) {\n function d() {\n this.document = new e.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n\n var f;\n return h(d, p), d.prototype.setDocument = function (t) {\n var e;\n return t.isEqualTo(this.document) ? void 0 : (this.document = t, this.refreshAttachments(), this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeDocument ? e.compositionDidChangeDocument(t) : void 0);\n }, d.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }, d.prototype.loadSnapshot = function (t) {\n var n, i, o, r;\n return n = t.document, r = t.selectedRange, null != (i = this.delegate) && \"function\" == typeof i.compositionWillLoadSnapshot && i.compositionWillLoadSnapshot(), this.setDocument(null != n ? n : new e.Document()), this.setSelection(null != r ? r : [0, 0]), null != (o = this.delegate) && \"function\" == typeof o.compositionDidLoadSnapshot ? o.compositionDidLoadSnapshot() : void 0;\n }, d.prototype.insertText = function (t, e) {\n var n, i, o, r;\n return r = (null != e ? e : {\n updatePosition: !0\n }).updatePosition, i = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t, i)), o = i[0], n = o + t.getLength(), r && this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertBlock = function (t) {\n var n;\n return null == t && (t = new e.Block()), n = new e.Document([t]), this.insertDocument(n);\n }, d.prototype.insertDocument = function (t) {\n var n, i, o;\n return null == t && (t = new e.Document()), i = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t, i)), o = i[0], n = o + t.getLength(), this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertString = function (t, n) {\n var i, o;\n return i = this.getCurrentTextAttributes(), o = e.Text.textForStringWithAttributes(t, i), this.insertText(o, n);\n }, d.prototype.insertBlockBreak = function () {\n var t, e, n;\n return e = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e)), n = e[0], t = n + 1, this.setSelection(t), this.notifyDelegateOfInsertionAtRange([n, t]);\n }, d.prototype.insertLineBreak = function () {\n var t, n;\n return n = new e.LineBreakInsertion(this), n.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n.startPosition)) : n.shouldPrependListItem() ? (t = new e.Document([n.block.copyWithoutText()]), this.insertDocument(t)) : n.shouldInsertBlockBreak() ? this.insertBlockBreak() : n.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n) : this.insertString(\"\\n\");\n }, d.prototype.insertHTML = function (t) {\n var n, i, o, r;\n return n = e.Document.fromHTML(t), o = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n, o)), r = o[0], i = r + n.getLength() - 1, this.setSelection(i), this.notifyDelegateOfInsertionAtRange([r, i]);\n }, d.prototype.replaceHTML = function (t) {\n var n, i, o;\n return n = e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document), i = this.getLocationRange({\n strict: !1\n }), o = this.document.rangeFromLocationRange(i), this.setDocument(n), this.setSelection(o);\n }, d.prototype.insertFile = function (t) {\n return this.insertFiles([t]);\n }, d.prototype.insertFiles = function (t) {\n var n, i, o, r, s, a;\n\n for (i = [], r = 0, s = t.length; s > r; r++) {\n o = t[r], (null != (a = this.delegate) ? a.compositionShouldAcceptFile(o) : void 0) && (n = e.Attachment.attachmentForFile(o), i.push(n));\n }\n\n return this.insertAttachments(i);\n }, d.prototype.insertAttachment = function (t) {\n return this.insertAttachments([t]);\n }, d.prototype.insertAttachments = function (t) {\n var n, i, o, r, s, a, u, c, l;\n\n for (c = new e.Text(), r = 0, s = t.length; s > r; r++) {\n n = t[r], l = n.getType(), a = null != (u = e.config.attachments[l]) ? u.presentation : void 0, o = this.getCurrentTextAttributes(), a && (o.presentation = a), i = e.Text.textForAttachmentWithAttributes(n, o), c = c.appendText(i);\n }\n\n return this.insertText(c);\n }, d.prototype.shouldManageDeletingInDirection = function (t) {\n var e;\n\n if (e = this.getLocationRange(), u(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n\n return !1;\n }, d.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r, s, a, c, l;\n return r = (null != e ? e : {}).length, s = this.getLocationRange(), a = this.getSelectedRange(), c = u(a), c ? o = \"backward\" === t && 0 === s[0].offset : l = s[0].index !== s[1].index, o && this.canDecreaseBlockAttributeLevel() && (i = this.getBlock(), i.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a[0]), i.isEmpty()) ? !1 : (c && (a = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (n = this.getAttachmentAtRange(a))), n ? (this.editAttachment(n), !1) : (this.setDocument(this.document.removeTextAtRange(a)), this.setSelection(a[0]), o || l ? !1 : void 0));\n }, d.prototype.moveTextFromRange = function (t) {\n var e;\n return e = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }, d.prototype.removeAttachment = function (t) {\n var e;\n return (e = this.document.getRangeOfAttachment(t)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0])) : void 0;\n }, d.prototype.removeLastBlockAttribute = function () {\n var t, e, n, i;\n return n = this.getSelectedRange(), i = n[0], e = n[1], t = this.document.getBlockAtPosition(e), this.removeCurrentAttribute(t.getLastAttribute()), this.setSelection(i);\n }, f = \" \", d.prototype.insertPlaceholder = function () {\n return this.placeholderPosition = this.getPosition(), this.insertString(f);\n }, d.prototype.selectPlaceholder = function () {\n return null != this.placeholderPosition ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0;\n }, d.prototype.forgetPlaceholder = function () {\n return this.placeholderPosition = null;\n }, d.prototype.hasCurrentAttribute = function (t) {\n var e;\n return e = this.currentAttributes[t], null != e && e !== !1;\n }, d.prototype.toggleCurrentAttribute = function (t) {\n var e;\n return (e = !this.currentAttributes[t]) ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }, d.prototype.canSetCurrentAttribute = function (t) {\n return o(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }, d.prototype.canSetCurrentTextAttribute = function () {\n var t, e, n, i, o;\n\n if (e = this.getSelectedDocument()) {\n for (o = e.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (t = o[n], !t.hasContent()) return !1;\n }\n\n return !0;\n }\n }, d.prototype.canSetCurrentBlockAttribute = function () {\n var t;\n if (t = this.getBlock()) return !t.isTerminalBlock();\n }, d.prototype.setCurrentAttribute = function (t, e) {\n return o(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.setTextAttribute = function (t, n) {\n var i, o, r, s;\n if (o = this.getSelectedRange()) return r = o[0], i = o[1], r !== i ? this.setDocument(this.document.addAttributeAtRange(t, n, o)) : \"href\" === t ? (s = e.Text.textForStringWithAttributes(n, {\n href: n\n }), this.insertText(s)) : void 0;\n }, d.prototype.setBlockAttribute = function (t, e) {\n var n, i;\n if (i = this.getSelectedRange()) return this.canSetCurrentAttribute(t) ? (n = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i)) : void 0;\n }, d.prototype.removeCurrentAttribute = function (t) {\n return o(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.removeTextAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.removeBlockAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.canDecreaseNestingLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getNestingLevel() : void 0) > 0;\n }, d.prototype.canIncreaseNestingLevel = function () {\n var e, n, i;\n if (e = this.getBlock()) return (null != (i = o(e.getLastNestableAttribute())) ? i.listAttribute : 0) ? (n = this.getPreviousBlock()) ? t(n.getListItemAttributes(), e.getListItemAttributes()) : void 0 : e.getNestingLevel() > 0;\n }, d.prototype.decreaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }, d.prototype.increaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }, d.prototype.canDecreaseBlockAttributeLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getAttributeLevel() : void 0) > 0;\n }, d.prototype.decreaseBlockAttributeLevel = function () {\n var t, e;\n return (t = null != (e = this.getBlock()) ? e.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t) : void 0;\n }, d.prototype.decreaseListLevel = function () {\n var t, e, n, i, o, r;\n\n for (r = this.getSelectedRange()[0], o = this.document.locationFromPosition(r).index, n = o, t = this.getBlock().getAttributeLevel(); (e = this.document.getBlockAtIndex(n + 1)) && e.isListItem() && e.getAttributeLevel() > t;) {\n n++;\n }\n\n return r = this.document.positionFromLocation({\n index: o,\n offset: 0\n }), i = this.document.positionFromLocation({\n index: n,\n offset: 0\n }), this.setDocument(this.document.removeLastListAttributeAtRange([r, i]));\n }, d.prototype.updateCurrentAttributes = function () {\n var t, e, n, o, r, s;\n\n if (s = this.getSelectedRange({\n ignoreLock: !0\n })) {\n for (e = this.document.getCommonAttributesAtRange(s), r = i(), n = 0, o = r.length; o > n; n++) {\n t = r[n], e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n }\n\n if (!a(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }, d.prototype.getCurrentAttributes = function () {\n return n.call({}, this.currentAttributes);\n }, d.prototype.getCurrentTextAttributes = function () {\n var t, e, n, i;\n t = {}, n = this.currentAttributes;\n\n for (e in n) {\n i = n[e], i !== !1 && r(e) && (t[e] = i);\n }\n\n return t;\n }, d.prototype.freezeSelection = function () {\n return this.setCurrentAttribute(\"frozen\", !0);\n }, d.prototype.thawSelection = function () {\n return this.removeCurrentAttribute(\"frozen\");\n }, d.prototype.hasFrozenSelection = function () {\n return this.hasCurrentAttribute(\"frozen\");\n }, d.proxyMethod(\"getSelectionManager().getPointRange\"), d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), d.proxyMethod(\"delegate?.getSelectionManager\"), d.prototype.setSelection = function (t) {\n var e, n;\n return e = this.document.locationRangeFromRange(t), null != (n = this.delegate) ? n.compositionDidRequestChangingSelectionToLocationRange(e) : void 0;\n }, d.prototype.getSelectedRange = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.rangeFromLocationRange(t) : void 0;\n }, d.prototype.setSelectedRange = function (t) {\n var e;\n return e = this.document.locationRangeFromRange(t), this.getSelectionManager().setLocationRange(e);\n }, d.prototype.getPosition = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.positionFromLocation(t[0]) : void 0;\n }, d.prototype.getLocationRange = function (t) {\n var e, n;\n return null != (e = null != (n = this.targetLocationRange) ? n : this.getSelectionManager().getLocationRange(t)) ? e : s({\n index: 0,\n offset: 0\n });\n }, d.prototype.withTargetLocationRange = function (t, e) {\n var n;\n this.targetLocationRange = t;\n\n try {\n n = e();\n } finally {\n this.targetLocationRange = null;\n }\n\n return n;\n }, d.prototype.withTargetRange = function (t, e) {\n var n;\n return n = this.document.locationRangeFromRange(t), this.withTargetLocationRange(n, e);\n }, d.prototype.withTargetDOMRange = function (t, e) {\n var n;\n return n = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n }), this.withTargetLocationRange(n, e);\n }, d.prototype.getExpandedRangeInDirection = function (t, e) {\n var n, i, o, r;\n return i = (null != e ? e : {}).length, o = this.getSelectedRange(), r = o[0], n = o[1], \"backward\" === t ? i ? r -= i : r = this.translateUTF16PositionFromOffset(r, -1) : i ? n += i : n = this.translateUTF16PositionFromOffset(n, 1), s([r, n]);\n }, d.prototype.shouldManageMovingCursorInDirection = function (t) {\n var e;\n return this.editingAttachment ? !0 : (e = this.getExpandedRangeInDirection(t), null != this.getAttachmentAtRange(e));\n }, d.prototype.moveCursorInDirection = function (t) {\n var e, n, i, o;\n return this.editingAttachment ? i = this.document.getRangeOfAttachment(this.editingAttachment) : (o = this.getSelectedRange(), i = this.getExpandedRangeInDirection(t), n = !c(o, i)), this.setSelectedRange(\"backward\" === t ? i[0] : i[1]), n && (e = this.getAttachmentAtRange(i)) ? this.editAttachment(e) : void 0;\n }, d.prototype.expandSelectionInDirection = function (t, e) {\n var n, i;\n return n = (null != e ? e : {}).length, i = this.getExpandedRangeInDirection(t, {\n length: n\n }), this.setSelectedRange(i);\n }, d.prototype.expandSelectionForEditing = function () {\n return this.hasCurrentAttribute(\"href\") ? this.expandSelectionAroundCommonAttribute(\"href\") : void 0;\n }, d.prototype.expandSelectionAroundCommonAttribute = function (t) {\n var e, n;\n return e = this.getPosition(), n = this.document.getRangeOfCommonAttributeAtPosition(t, e), this.setSelectedRange(n);\n }, d.prototype.selectionContainsAttachments = function () {\n var t;\n return (null != (t = this.getSelectedAttachments()) ? t.length : void 0) > 0;\n }, d.prototype.selectionIsInCursorTarget = function () {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }, d.prototype.positionIsCursorTarget = function (t) {\n var e;\n return (e = this.document.locationFromPosition(t)) ? this.locationIsCursorTarget(e) : void 0;\n }, d.prototype.positionIsBlockBreak = function (t) {\n var e;\n return null != (e = this.document.getPieceAtPosition(t)) ? e.isBlockBreak() : void 0;\n }, d.prototype.getSelectedDocument = function () {\n var t;\n return (t = this.getSelectedRange()) ? this.document.getDocumentAtRange(t) : void 0;\n }, d.prototype.getSelectedAttachments = function () {\n var t;\n return null != (t = this.getSelectedDocument()) ? t.getAttachments() : void 0;\n }, d.prototype.getAttachments = function () {\n return this.attachments.slice(0);\n }, d.prototype.refreshAttachments = function () {\n var t, e, n, i, o, r, s, a, u, c, h, p;\n\n for (n = this.document.getAttachments(), a = l(this.attachments, n), t = a.added, h = a.removed, this.attachments = n, i = 0, r = h.length; r > i; i++) {\n e = h[i], e.delegate = null, null != (u = this.delegate) && \"function\" == typeof u.compositionDidRemoveAttachment && u.compositionDidRemoveAttachment(e);\n }\n\n for (p = [], o = 0, s = t.length; s > o; o++) {\n e = t[o], e.delegate = this, p.push(null != (c = this.delegate) && \"function\" == typeof c.compositionDidAddAttachment ? c.compositionDidAddAttachment(e) : void 0);\n }\n\n return p;\n }, d.prototype.attachmentDidChangeAttributes = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidEditAttachment ? e.compositionDidEditAttachment(t) : void 0;\n }, d.prototype.attachmentDidChangePreviewURL = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeAttachmentPreviewURL ? e.compositionDidChangeAttachmentPreviewURL(t) : void 0;\n }, d.prototype.editAttachment = function (t, e) {\n var n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null != (n = this.delegate) && \"function\" == typeof n.compositionDidStartEditingAttachment ? n.compositionDidStartEditingAttachment(this.editingAttachment, e) : void 0;\n }, d.prototype.stopEditingAttachment = function () {\n var t;\n if (this.editingAttachment) return null != (t = this.delegate) && \"function\" == typeof t.compositionDidStopEditingAttachment && t.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null;\n }, d.prototype.updateAttributesForAttachment = function (t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }, d.prototype.removeAttributeForAttachment = function (t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }, d.prototype.breakFormattedBlock = function (t) {\n var n, i, o, r, s;\n return i = t.document, n = t.block, r = t.startPosition, s = [r - 1, r], n.getBlockBreakPosition() === t.startLocation.offset ? (n.breaksOnReturn() && \"\\n\" === t.nextCharacter ? r += 1 : i = i.removeTextAtRange(s), s = [r, r]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? s = [r - 1, r + 1] : (s = [r, r + 1], r += 1) : t.startLocation.offset - 1 !== 0 && (r += 1), o = new e.Document([n.removeLastAttribute().copyWithoutText()]), this.setDocument(i.insertDocumentAtRange(o, s)), this.setSelection(r);\n }, d.prototype.getPreviousBlock = function () {\n var t, e;\n return (e = this.getLocationRange()) && (t = e[0].index, t > 0) ? this.document.getBlockAtIndex(t - 1) : void 0;\n }, d.prototype.getBlock = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.getBlockAtIndex(t[0].index) : void 0;\n }, d.prototype.getAttachmentAtRange = function (t) {\n var n;\n return n = this.document.getDocumentAtRange(t), n.toString() === e.OBJECT_REPLACEMENT_CHARACTER + \"\\n\" ? n.getAttachments()[0] : void 0;\n }, d.prototype.notifyDelegateOfCurrentAttributesChange = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.compositionDidChangeCurrentAttributes ? t.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0;\n }, d.prototype.notifyDelegateOfInsertionAtRange = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionDidPerformInsertionAtRange ? e.compositionDidPerformInsertionAtRange(t) : void 0;\n }, d.prototype.translateUTF16PositionFromOffset = function (t, e) {\n var n, i;\n return i = this.document.toUTF16String(), n = i.offsetFromUCS2Offset(t), i.offsetToUCS2Offset(n + e);\n }, d;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t17, e) {\n function i() {\n this.constructor = _t17;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t17[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t17.prototype = new i(), _t17.__super__ = e.prototype, _t17;\n },\n n = {}.hasOwnProperty;\n\n e.UndoManager = function (e) {\n function n(t) {\n this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n\n var i;\n return t(n, e), n.prototype.recordUndoEntry = function (t, e) {\n var n, o, r, s, a;\n return s = null != e ? e : {}, o = s.context, n = s.consolidatable, r = this.undoEntries.slice(-1)[0], n && i(r, t, o) ? void 0 : (a = this.createEntry({\n description: t,\n context: o\n }), this.undoEntries.push(a), this.redoEntries = []);\n }, n.prototype.undo = function () {\n var t, e;\n return (e = this.undoEntries.pop()) ? (t = this.createEntry(e), this.redoEntries.push(t), this.composition.loadSnapshot(e.snapshot)) : void 0;\n }, n.prototype.redo = function () {\n var t, e;\n return (t = this.redoEntries.pop()) ? (e = this.createEntry(t), this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot)) : void 0;\n }, n.prototype.canUndo = function () {\n return this.undoEntries.length > 0;\n }, n.prototype.canRedo = function () {\n return this.redoEntries.length > 0;\n }, n.prototype.createEntry = function (t) {\n var e, n, i;\n return i = null != t ? t : {}, n = i.description, e = i.context, {\n description: null != n ? n.toString() : void 0,\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }, i = function i(t, e, n) {\n return (null != t ? t.description : void 0) === (null != e ? e.toString() : void 0) && (null != t ? t.context : void 0) === JSON.stringify(n);\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n var t;\n e.attachmentGalleryFilter = function (e) {\n var n;\n return n = new t(e), n.perform(), n.getSnapshot();\n }, t = function () {\n function t(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n\n var e, n, i;\n return e = \"attachmentGallery\", n = \"presentation\", i = \"gallery\", t.prototype.perform = function () {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }, t.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }, t.prototype.removeBlockAttribute = function () {\n var t, n, i, o, r;\n\n for (o = this.findRangesOfBlocks(), r = [], t = 0, n = o.length; n > t; t++) {\n i = o[t], r.push(this.document = this.document.removeAttributeAtRange(e, i));\n }\n\n return r;\n }, t.prototype.applyBlockAttribute = function () {\n var t, n, i, o, r, s;\n\n for (i = 0, r = this.findRangesOfPieces(), s = [], t = 0, n = r.length; n > t; t++) {\n o = r[t], o[1] - o[0] > 1 && (o[0] += i, o[1] += i, \"\\n\" !== this.document.getCharacterAtPosition(o[1]) && (this.document = this.document.insertBlockBreakAtRange(o[1]), o[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o[1]++, i++), 0 !== o[0] && \"\\n\" !== this.document.getCharacterAtPosition(o[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(o[0]), o[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o[0]++, i++), s.push(this.document = this.document.applyBlockAttributeAtRange(e, !0, o)));\n }\n\n return s;\n }, t.prototype.findRangesOfBlocks = function () {\n return this.document.findRangesForBlockAttribute(e);\n }, t.prototype.findRangesOfPieces = function () {\n return this.document.findRangesForTextAttribute(n, {\n withValue: i\n });\n }, t.prototype.moveSelectedRangeForward = function () {\n return this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t18, e) {\n return function () {\n return _t18.apply(e, arguments);\n };\n };\n\n e.Editor = function () {\n function n(n, o, r) {\n this.composition = n, this.selectionManager = o, this.element = r, this.insertFiles = t(this.insertFiles, this), this.undoManager = new e.UndoManager(this.composition), this.filters = i.slice(0);\n }\n\n var i;\n return i = [e.attachmentGalleryFilter], n.prototype.loadDocument = function (t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }, n.prototype.loadHTML = function (t) {\n return null == t && (t = \"\"), this.loadDocument(e.Document.fromHTML(t, {\n referenceElement: this.element\n }));\n }, n.prototype.loadJSON = function (t) {\n var n, i;\n return n = t.document, i = t.selectedRange, n = e.Document.fromJSON(n), this.loadSnapshot({\n document: n,\n selectedRange: i\n });\n }, n.prototype.loadSnapshot = function (t) {\n return this.undoManager = new e.UndoManager(this.composition), this.composition.loadSnapshot(t);\n }, n.prototype.getDocument = function () {\n return this.composition.document;\n }, n.prototype.getSelectedDocument = function () {\n return this.composition.getSelectedDocument();\n }, n.prototype.getSnapshot = function () {\n return this.composition.getSnapshot();\n }, n.prototype.toJSON = function () {\n return this.getSnapshot();\n }, n.prototype.deleteInDirection = function (t) {\n return this.composition.deleteInDirection(t);\n }, n.prototype.insertAttachment = function (t) {\n return this.composition.insertAttachment(t);\n }, n.prototype.insertAttachments = function (t) {\n return this.composition.insertAttachments(t);\n }, n.prototype.insertDocument = function (t) {\n return this.composition.insertDocument(t);\n }, n.prototype.insertFile = function (t) {\n return this.composition.insertFile(t);\n }, n.prototype.insertFiles = function (t) {\n return this.composition.insertFiles(t);\n }, n.prototype.insertHTML = function (t) {\n return this.composition.insertHTML(t);\n }, n.prototype.insertString = function (t) {\n return this.composition.insertString(t);\n }, n.prototype.insertText = function (t) {\n return this.composition.insertText(t);\n }, n.prototype.insertLineBreak = function () {\n return this.composition.insertLineBreak();\n }, n.prototype.getSelectedRange = function () {\n return this.composition.getSelectedRange();\n }, n.prototype.getPosition = function () {\n return this.composition.getPosition();\n }, n.prototype.getClientRectAtPosition = function (t) {\n var e;\n return e = this.getDocument().locationRangeFromRange([t, t + 1]), this.selectionManager.getClientRectAtLocationRange(e);\n }, n.prototype.expandSelectionInDirection = function (t) {\n return this.composition.expandSelectionInDirection(t);\n }, n.prototype.moveCursorInDirection = function (t) {\n return this.composition.moveCursorInDirection(t);\n }, n.prototype.setSelectedRange = function (t) {\n return this.composition.setSelectedRange(t);\n }, n.prototype.activateAttribute = function (t, e) {\n return null == e && (e = !0), this.composition.setCurrentAttribute(t, e);\n }, n.prototype.attributeIsActive = function (t) {\n return this.composition.hasCurrentAttribute(t);\n }, n.prototype.canActivateAttribute = function (t) {\n return this.composition.canSetCurrentAttribute(t);\n }, n.prototype.deactivateAttribute = function (t) {\n return this.composition.removeCurrentAttribute(t);\n }, n.prototype.canDecreaseNestingLevel = function () {\n return this.composition.canDecreaseNestingLevel();\n }, n.prototype.canIncreaseNestingLevel = function () {\n return this.composition.canIncreaseNestingLevel();\n }, n.prototype.decreaseNestingLevel = function () {\n return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0;\n }, n.prototype.increaseNestingLevel = function () {\n return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0;\n }, n.prototype.canRedo = function () {\n return this.undoManager.canRedo();\n }, n.prototype.canUndo = function () {\n return this.undoManager.canUndo();\n }, n.prototype.recordUndoEntry = function (t, e) {\n var n, i, o;\n return o = null != e ? e : {}, i = o.context, n = o.consolidatable, this.undoManager.recordUndoEntry(t, {\n context: i,\n consolidatable: n\n });\n }, n.prototype.redo = function () {\n return this.canRedo() ? this.undoManager.redo() : void 0;\n }, n.prototype.undo = function () {\n return this.canUndo() ? this.undoManager.undo() : void 0;\n }, n;\n }();\n }.call(this), function () {\n var t = function t(_t19, e) {\n function i() {\n this.constructor = _t19;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t19[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t19.prototype = new i(), _t19.__super__ = e.prototype, _t19;\n },\n n = {}.hasOwnProperty;\n\n e.ManagedAttachment = function (e) {\n function n(t, e) {\n var n;\n this.attachmentManager = t, this.attachment = e, n = this.attachment, this.id = n.id, this.file = n.file;\n }\n\n return t(n, e), n.prototype.remove = function () {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }, n.proxyMethod(\"attachment.getAttribute\"), n.proxyMethod(\"attachment.hasAttribute\"), n.proxyMethod(\"attachment.setAttribute\"), n.proxyMethod(\"attachment.getAttributes\"), n.proxyMethod(\"attachment.setAttributes\"), n.proxyMethod(\"attachment.isPending\"), n.proxyMethod(\"attachment.isPreviewable\"), n.proxyMethod(\"attachment.getURL\"), n.proxyMethod(\"attachment.getHref\"), n.proxyMethod(\"attachment.getFilename\"), n.proxyMethod(\"attachment.getFilesize\"), n.proxyMethod(\"attachment.getFormattedFilesize\"), n.proxyMethod(\"attachment.getExtension\"), n.proxyMethod(\"attachment.getContentType\"), n.proxyMethod(\"attachment.getFile\"), n.proxyMethod(\"attachment.setFile\"), n.proxyMethod(\"attachment.releaseFile\"), n.proxyMethod(\"attachment.getUploadProgress\"), n.proxyMethod(\"attachment.setUploadProgress\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t20, e) {\n function i() {\n this.constructor = _t20;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t20[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t20.prototype = new i(), _t20.__super__ = e.prototype, _t20;\n },\n n = {}.hasOwnProperty;\n\n e.AttachmentManager = function (n) {\n function i(t) {\n var e, n, i;\n\n for (null == t && (t = []), this.managedAttachments = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.manageAttachment(e);\n }\n }\n\n return t(i, n), i.prototype.getAttachments = function () {\n var t, e, n, i;\n n = this.managedAttachments, i = [];\n\n for (e in n) {\n t = n[e], i.push(t);\n }\n\n return i;\n }, i.prototype.manageAttachment = function (t) {\n var n, i;\n return null != (n = this.managedAttachments)[i = t.id] ? n[i] : n[i] = new e.ManagedAttachment(this, t);\n }, i.prototype.attachmentIsManaged = function (t) {\n return t.id in this.managedAttachments;\n }, i.prototype.requestRemovalOfAttachment = function (t) {\n var e;\n return this.attachmentIsManaged(t) && null != (e = this.delegate) && \"function\" == typeof e.attachmentManagerDidRequestRemovalOfAttachment ? e.attachmentManagerDidRequestRemovalOfAttachment(t) : void 0;\n }, i.prototype.unmanageAttachment = function (t) {\n var e;\n return e = this.managedAttachments[t.id], delete this.managedAttachments[t.id], e;\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n var t, n, i, o, r, s, a, u, c, l, h;\n t = e.elementContainsNode, n = e.findChildIndexOfNode, r = e.nodeIsBlockStart, s = e.nodeIsBlockStartComment, o = e.nodeIsBlockContainer, a = e.nodeIsCursorTarget, u = e.nodeIsEmptyTextNode, c = e.nodeIsTextNode, i = e.nodeIsAttachmentElement, l = e.tagName, h = e.walkTree, e.LocationMapper = function () {\n function e(t) {\n this.element = t;\n }\n\n var p, d, f, g;\n return e.prototype.findLocationFromContainerAndOffset = function (e, i, o) {\n var s, u, l, p, g, m, v;\n\n for (m = (null != o ? o : {\n strict: !0\n }).strict, u = 0, l = !1, p = {\n index: 0,\n offset: 0\n }, (s = this.findAttachmentElementParentForNode(e)) && (e = s.parentNode, i = n(s)), v = h(this.element, {\n usingFilter: f\n }); v.nextNode();) {\n if (g = v.currentNode, g === e && c(e)) {\n a(g) || (p.offset += i);\n break;\n }\n\n if (g.parentNode === e) {\n if (u++ === i) break;\n } else if (!t(e, g) && u > 0) break;\n\n r(g, {\n strict: m\n }) ? (l && p.index++, p.offset = 0, l = !0) : p.offset += d(g);\n }\n\n return p;\n }, e.prototype.findContainerAndOffsetFromLocation = function (t) {\n var e, i, s, u, l;\n\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, u = 0; e.firstChild;) {\n if (e = e.firstChild, o(e)) {\n u = 1;\n break;\n }\n }\n\n return [e, u];\n }\n\n if (l = this.findNodeAndOffsetFromLocation(t), i = l[0], s = l[1], i) {\n if (c(i)) 0 === d(i) ? (e = i.parentNode.parentNode, u = n(i.parentNode), a(i, {\n name: \"right\"\n }) && u++) : (e = i, u = t.offset - s);else {\n if (e = i.parentNode, !r(i.previousSibling) && !o(e)) for (; i === e.lastChild && (i = e, e = e.parentNode, !o(e));) {\n ;\n }\n u = n(i), 0 !== t.offset && u++;\n }\n return [e, u];\n }\n }, e.prototype.findNodeAndOffsetFromLocation = function (t) {\n var e, n, i, o, r, s, u, l;\n\n for (u = 0, l = this.getSignificantNodesForIndex(t.index), n = 0, i = l.length; i > n; n++) {\n if (e = l[n], o = d(e), t.offset <= u + o) if (c(e)) {\n if (r = e, s = u, t.offset === s && a(r)) break;\n } else r || (r = e, s = u);\n if (u += o, u > t.offset) break;\n }\n\n return [r, s];\n }, e.prototype.findAttachmentElementParentForNode = function (t) {\n for (; t && t !== this.element;) {\n if (i(t)) return t;\n t = t.parentNode;\n }\n }, e.prototype.getSignificantNodesForIndex = function (t) {\n var e, n, i, o, r;\n\n for (i = [], r = h(this.element, {\n usingFilter: p\n }), o = !1; r.nextNode();) {\n if (n = r.currentNode, s(n)) {\n if (\"undefined\" != typeof e && null !== e ? e++ : e = 0, e === t) o = !0;else if (o) break;\n } else o && i.push(n);\n }\n\n return i;\n }, d = function d(t) {\n var e;\n return t.nodeType === Node.TEXT_NODE ? a(t) ? 0 : (e = t.textContent, e.length) : \"br\" === l(t) || i(t) ? 1 : 0;\n }, p = function p(t) {\n return g(t) === NodeFilter.FILTER_ACCEPT ? f(t) : NodeFilter.FILTER_REJECT;\n }, g = function g(t) {\n return u(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, f = function f(t) {\n return i(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, e;\n }();\n }.call(this), function () {\n var t,\n n,\n i = [].slice;\n t = e.getDOMRange, n = e.setDOMRange, e.PointMapper = function () {\n function e() {}\n\n return e.prototype.createDOMRangeFromPoint = function (e) {\n var i, o, r, s, a, u, c, l;\n if (c = e.x, l = e.y, document.caretPositionFromPoint) return a = document.caretPositionFromPoint(c, l), r = a.offsetNode, o = a.offset, i = document.createRange(), i.setStart(r, o), i;\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(c, l);\n\n if (document.body.createTextRange) {\n s = t();\n\n try {\n u = document.body.createTextRange(), u.moveToPoint(c, l), u.select();\n } catch (h) {}\n\n return i = t(), n(s), i;\n }\n }, e.prototype.getClientRectsForDOMRange = function (t) {\n var e, n, o;\n return n = i.call(t.getClientRects()), o = n[0], e = n[n.length - 1], [o, e];\n }, e;\n }();\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty,\n r = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.getDOMRange, e.SelectionChangeObserver = function (e) {\n function o() {\n this.run = n(this.run, this), this.update = n(this.update, this), this.selectionManagers = [];\n }\n\n var s;\n return i(o, e), o.prototype.start = function () {\n return this.started ? void 0 : (this.started = !0, \"onselectionchange\" in document ? document.addEventListener(\"selectionchange\", this.update, !0) : this.run());\n }, o.prototype.stop = function () {\n return this.started ? (this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0)) : void 0;\n }, o.prototype.registerSelectionManager = function (t) {\n return r.call(this.selectionManagers, t) < 0 ? (this.selectionManagers.push(t), this.start()) : void 0;\n }, o.prototype.unregisterSelectionManager = function (t) {\n var e;\n return this.selectionManagers = function () {\n var n, i, o, r;\n\n for (o = this.selectionManagers, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e !== t && r.push(e);\n }\n\n return r;\n }.call(this), 0 === this.selectionManagers.length ? this.stop() : void 0;\n }, o.prototype.notifySelectionManagersOfSelectionChange = function () {\n var t, e, n, i, o;\n\n for (n = this.selectionManagers, i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(o.selectionDidChange());\n }\n\n return i;\n }, o.prototype.update = function () {\n var e;\n return e = t(), s(e, this.domRange) ? void 0 : (this.domRange = e, this.notifySelectionManagersOfSelectionChange());\n }, o.prototype.reset = function () {\n return this.domRange = null, this.update();\n }, o.prototype.run = function () {\n return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0;\n }, s = function s(t, e) {\n return (null != t ? t.startContainer : void 0) === (null != e ? e.startContainer : void 0) && (null != t ? t.startOffset : void 0) === (null != e ? e.startOffset : void 0) && (null != t ? t.endContainer : void 0) === (null != e ? e.endContainer : void 0) && (null != t ? t.endOffset : void 0) === (null != e ? e.endOffset : void 0);\n }, o;\n }(e.BasicObject), null == e.selectionChangeObserver && (e.selectionChangeObserver = new e.SelectionChangeObserver());\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty;\n\n i = e.getDOMSelection, n = e.getDOMRange, l = e.setDOMRange, t = e.elementContainsNode, s = e.nodeIsCursorTarget, r = e.innerElementIsActive, o = e.handleEvent, a = e.normalizeRange, u = e.rangeIsCollapsed, c = e.rangesAreEqual, e.SelectionManager = function (d) {\n function f(t) {\n this.element = t, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e.LocationMapper(this.element), this.pointMapper = new e.PointMapper(), this.lockCount = 0, o(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n\n return p(f, d), f.prototype.getLocationRange = function (t) {\n var e, i;\n return null == t && (t = {}), e = t.strict === !1 ? this.createLocationRangeFromDOMRange(n(), {\n strict: !1\n }) : t.ignoreLock ? this.currentLocationRange : null != (i = this.lockedLocationRange) ? i : this.currentLocationRange;\n }, f.prototype.setLocationRange = function (t) {\n var e;\n if (!this.lockedLocationRange) return t = a(t), (e = this.createDOMRangeFromLocationRange(t)) ? (l(e), this.updateCurrentLocationRange(t)) : void 0;\n }, f.prototype.setLocationRangeFromPointRange = function (t) {\n var e, n;\n return t = a(t), n = this.getLocationAtPoint(t[0]), e = this.getLocationAtPoint(t[1]), this.setLocationRange([n, e]);\n }, f.prototype.getClientRectAtLocationRange = function (t) {\n var e;\n return (e = this.createDOMRangeFromLocationRange(t)) ? this.getClientRectsForDOMRange(e)[1] : void 0;\n }, f.prototype.locationIsCursorTarget = function (t) {\n var e, n, i;\n return i = this.findNodeAndOffsetFromLocation(t), e = i[0], n = i[1], s(e);\n }, f.prototype.lock = function () {\n return 0 === this.lockCount++ ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0;\n }, f.prototype.unlock = function () {\n var t;\n return 0 === --this.lockCount && (t = this.lockedLocationRange, this.lockedLocationRange = null, null != t) ? this.setLocationRange(t) : void 0;\n }, f.prototype.clearSelection = function () {\n var t;\n return null != (t = i()) ? t.removeAllRanges() : void 0;\n }, f.prototype.selectionIsCollapsed = function () {\n var t;\n return (null != (t = n()) ? t.collapsed : void 0) === !0;\n }, f.prototype.selectionIsExpanded = function () {\n return !this.selectionIsCollapsed();\n }, f.prototype.createLocationRangeFromDOMRange = function (t, e) {\n var n, i;\n if (null != t && this.domRangeWithinElement(t) && (i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e))) return t.collapsed || (n = this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e)), a([i, n]);\n }, f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"), f.prototype.didMouseDown = function () {\n return this.pauseTemporarily();\n }, f.prototype.pauseTemporarily = function () {\n var e, n, i, r;\n return this.paused = !0, n = function (e) {\n return function () {\n var n, o, s;\n\n for (e.paused = !1, clearTimeout(r), o = 0, s = i.length; s > o; o++) {\n n = i[o], n.destroy();\n }\n\n return t(document, e.element) ? e.selectionDidChange() : void 0;\n };\n }(this), r = setTimeout(n, 200), i = function () {\n var t, i, r, s;\n\n for (r = [\"mousemove\", \"keydown\"], s = [], t = 0, i = r.length; i > t; t++) {\n e = r[t], s.push(o(e, {\n onElement: document,\n withCallback: n\n }));\n }\n\n return s;\n }();\n }, f.prototype.selectionDidChange = function () {\n return this.paused || r(this.element) ? void 0 : this.updateCurrentLocationRange();\n }, f.prototype.updateCurrentLocationRange = function (t) {\n var e;\n return (null != t ? t : t = this.createLocationRangeFromDOMRange(n())) && !c(t, this.currentLocationRange) ? (this.currentLocationRange = t, null != (e = this.delegate) && \"function\" == typeof e.locationRangeDidChange ? e.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0;\n }, f.prototype.createDOMRangeFromLocationRange = function (t) {\n var e, n, i, o;\n return i = this.findContainerAndOffsetFromLocation(t[0]), n = u(t) ? i : null != (o = this.findContainerAndOffsetFromLocation(t[1])) ? o : i, null != i && null != n ? (e = document.createRange(), e.setStart.apply(e, i), e.setEnd.apply(e, n), e) : void 0;\n }, f.prototype.getLocationAtPoint = function (t) {\n var e, n;\n return (e = this.createDOMRangeFromPoint(t)) && null != (n = this.createLocationRangeFromDOMRange(e)) ? n[0] : void 0;\n }, f.prototype.domRangeWithinElement = function (e) {\n return e.collapsed ? t(this.element, e.startContainer) : t(this.element, e.startContainer) && t(this.element, e.endContainer);\n }, f;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice;\n\n i = e.rangeIsCollapsed, o = e.rangesAreEqual, n = e.objectsAreEqual, t = e.getBlockConfig, e.EditorController = function (s) {\n function u(t) {\n var n, i;\n this.editorElement = t.editorElement, n = t.document, i = t.html, this.selectionManager = new e.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e.Composition(), this.composition.delegate = this, this.attachmentManager = new e.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e[\"Level\" + e.config.input.getLevel() + \"InputController\"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e.Editor(this.composition, this.selectionManager, this.editorElement), null != n ? this.editor.loadDocument(n) : this.editor.loadHTML(i);\n }\n\n var c;\n return r(u, s), u.prototype.registerSelectionManager = function () {\n return e.selectionChangeObserver.registerSelectionManager(this.selectionManager);\n }, u.prototype.unregisterSelectionManager = function () {\n return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager);\n }, u.prototype.render = function () {\n return this.compositionController.render();\n }, u.prototype.reparse = function () {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }, u.prototype.compositionDidChangeDocument = function () {\n return this.notifyEditorElement(\"document-change\"), this.handlingInput ? void 0 : this.render();\n }, u.prototype.compositionDidChangeCurrentAttributes = function (t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }, u.prototype.compositionDidPerformInsertionAtRange = function (t) {\n return this.pasting ? this.pastedRange = t : void 0;\n }, u.prototype.compositionShouldAcceptFile = function (t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }, u.prototype.compositionDidAddAttachment = function (t) {\n var e;\n return e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }, u.prototype.compositionDidEditAttachment = function (t) {\n var e;\n return this.compositionController.rerenderViewForObject(t), e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidChangeAttachmentPreviewURL = function (t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidRemoveAttachment = function (t) {\n var e;\n return e = this.attachmentManager.unmanageAttachment(t), this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }, u.prototype.compositionDidStartEditingAttachment = function (t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }, u.prototype.compositionDidStopEditingAttachment = function () {\n return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function (t) {\n return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0;\n }, u.prototype.compositionWillLoadSnapshot = function () {\n return this.loadingSnapshot = !0;\n }, u.prototype.compositionDidLoadSnapshot = function () {\n return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }, u.prototype.getSelectionManager = function () {\n return this.selectionManager;\n }, u.proxyMethod(\"getSelectionManager().setLocationRange\"), u.proxyMethod(\"getSelectionManager().getLocationRange\"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.compositionControllerWillSyncDocumentView = function () {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }, u.prototype.compositionControllerDidSyncDocumentView = function () {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }, u.prototype.compositionControllerDidRender = function () {\n return null != this.requestedLocationRange && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement(\"render\")), this.renderedCompositionRevision = this.composition.revision;\n }, u.prototype.compositionControllerDidFocus = function () {\n return this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }, u.prototype.compositionControllerDidBlur = function () {\n return this.notifyEditorElement(\"blur\");\n }, u.prototype.compositionControllerDidSelectAttachment = function (t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function (t) {\n var e, n;\n return e = null != (n = this.attachmentLocationRange) ? n : this.composition.document.getLocationRangeOfAttachment(t), this.selectionManager.setLocationRange(e[1]);\n }, u.prototype.compositionControllerWillUpdateAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.inputControllerWillHandleInput = function () {\n return this.handlingInput = !0, this.requestedRender = !1;\n }, u.prototype.inputControllerDidRequestRender = function () {\n return this.requestedRender = !0;\n }, u.prototype.inputControllerDidHandleInput = function () {\n return this.handlingInput = !1, this.requestedRender ? (this.requestedRender = !1, this.render()) : void 0;\n }, u.prototype.inputControllerDidAllowUnhandledInput = function () {\n return this.notifyEditorElement(\"change\");\n }, u.prototype.inputControllerDidRequestReparse = function () {\n return this.reparse();\n }, u.prototype.inputControllerWillPerformTyping = function () {\n return this.recordTypingUndoEntry();\n }, u.prototype.inputControllerWillPerformFormatting = function (t) {\n return this.recordFormattingUndoEntry(t);\n }, u.prototype.inputControllerWillCutText = function () {\n return this.editor.recordUndoEntry(\"Cut\");\n }, u.prototype.inputControllerWillPaste = function (t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }, u.prototype.inputControllerDidPaste = function (t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }, u.prototype.inputControllerWillMoveText = function () {\n return this.editor.recordUndoEntry(\"Move\");\n }, u.prototype.inputControllerWillAttachFiles = function () {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }, u.prototype.inputControllerWillPerformUndo = function () {\n return this.editor.undo();\n }, u.prototype.inputControllerWillPerformRedo = function () {\n return this.editor.redo();\n }, u.prototype.inputControllerDidReceiveKeyboardCommand = function (t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }, u.prototype.inputControllerDidStartDrag = function () {\n return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }, u.prototype.inputControllerDidReceiveDragOverPoint = function (t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }, u.prototype.inputControllerDidCancelDrag = function () {\n return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }, u.prototype.locationRangeDidChange = function (t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }, u.prototype.toolbarDidClickButton = function () {\n return this.getLocationRange() ? void 0 : this.setLocationRange({\n index: 0,\n offset: 0\n });\n }, u.prototype.toolbarDidInvokeAction = function (t) {\n return this.invokeAction(t);\n }, u.prototype.toolbarDidToggleAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidUpdateAttribute = function (t, e) {\n return this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidRemoveAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarWillShowDialog = function () {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }, u.prototype.toolbarDidShowDialog = function (t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }, u.prototype.toolbarDidHideDialog = function (t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }, u.prototype.freezeSelection = function () {\n return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render());\n }, u.prototype.thawSelection = function () {\n return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render()) : void 0;\n }, u.prototype.actions = {\n undo: {\n test: function test() {\n return this.editor.canUndo();\n },\n perform: function perform() {\n return this.editor.undo();\n }\n },\n redo: {\n test: function test() {\n return this.editor.canRedo();\n },\n perform: function perform() {\n return this.editor.redo();\n }\n },\n link: {\n test: function test() {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test: function test() {\n return this.editor.canIncreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test: function test() {\n return this.editor.canDecreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: function test() {\n return !0;\n },\n perform: function perform() {\n return e.config.input.pickFiles(this.editor.insertFiles);\n }\n }\n }, u.prototype.canInvokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? !0 : !!(null != (e = this.actions[t]) && null != (n = e.test) ? n.call(this) : void 0);\n }, u.prototype.invokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t\n }) : null != (e = this.actions[t]) && null != (n = e.perform) ? n.call(this) : void 0;\n }, u.prototype.actionIsExternal = function (t) {\n return /^x-./.test(t);\n }, u.prototype.getCurrentActions = function () {\n var t, e;\n e = {};\n\n for (t in this.actions) {\n e[t] = this.canInvokeAction(t);\n }\n\n return e;\n }, u.prototype.updateCurrentActions = function () {\n var t;\n return t = this.getCurrentActions(), n(t, this.currentActions) ? void 0 : (this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n }));\n }, u.prototype.runEditorFilters = function () {\n var t, e, n, i, o, r, s, a;\n\n for (a = this.composition.getSnapshot(), o = this.editor.filters, n = 0, i = o.length; i > n; n++) {\n e = o[n], t = a.document, s = a.selectedRange, a = null != (r = e.call(this.editor, a)) ? r : {}, null == a.document && (a.document = t), null == a.selectedRange && (a.selectedRange = s);\n }\n\n return c(a, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a);\n }, c = function c(t, e) {\n return o(t.selectedRange, e.selectedRange) && t.document.isEqualTo(e.document);\n }, u.prototype.updateInputElement = function () {\n var t, n;\n return t = this.compositionController.getSerializableElement(), n = e.serializeToContentType(t, \"text/html\"), this.editorElement.setInputElementValue(n);\n }, u.prototype.notifyEditorElement = function (t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n\n return this.editorElement.notify(t, e);\n }, u.prototype.removeAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }, u.prototype.recordFormattingUndoEntry = function (e) {\n var n, o;\n return n = t(e), o = this.selectionManager.getLocationRange(), n || !i(o) ? this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n }) : void 0;\n }, u.prototype.recordTypingUndoEntry = function () {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }, u.prototype.getUndoContext = function () {\n var t;\n return t = 1 <= arguments.length ? a.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a.call(t));\n }, u.prototype.getLocationContext = function () {\n var t;\n return t = this.selectionManager.getLocationRange(), i(t) ? t[0].index : t;\n }, u.prototype.getTimeContext = function () {\n return e.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e.config.undoInterval) : 0;\n }, u.prototype.isFocused = function () {\n var t;\n return this.editorElement === (null != (t = this.editorElement.ownerDocument) ? t.activeElement : void 0);\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t, n, i, o, r, s;\n n = e.browser, r = e.makeElement, s = e.triggerEvent, i = e.handleEvent, o = e.handleEventOnce, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var a, u, c, l, h, p, d, f;\n return p = 0, u = function u(t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, d = function d(t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), o(\"focus\", {\n onElement: t,\n withCallback: function withCallback() {\n return c(t);\n }\n }));\n }, a = function a(t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, c = function c(t) {\n return h(t), f(t);\n }, h = function h(t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), i(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, f = function f() {\n var t;\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"DefaultParagraphSeparator\") : void 0) && (t = e.config.blockAttributes[\"default\"].tagName, \"div\" === t || \"p\" === t) ? document.execCommand(\"DefaultParagraphSeparator\", !1, t) : void 0;\n }, l = function () {\n return n.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\n }(), {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \" + t + \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \" + t + \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \" + t + \" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \" + l.display + \" !important;\\n width: \" + l.width + \" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\",\n trixId: {\n get: function get() {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++p), this.trixId);\n }\n },\n toolbarElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"toolbar\") ? null != (e = this.ownerDocument) ? e.getElementById(this.getAttribute(\"toolbar\")) : void 0 : this.parentNode ? (n = \"trix-toolbar-\" + this.trixId, this.setAttribute(\"toolbar\", n), t = r(\"trix-toolbar\", {\n id: n\n }), this.parentNode.insertBefore(t, this), t) : void 0;\n }\n },\n inputElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"input\") ? null != (n = this.ownerDocument) ? n.getElementById(this.getAttribute(\"input\")) : void 0 : this.parentNode ? (e = \"trix-input-\" + this.trixId, this.setAttribute(\"input\", e), t = r(\"input\", {\n type: \"hidden\",\n id: e\n }), this.parentNode.insertBefore(t, this.nextElementSibling), t) : void 0;\n }\n },\n editor: {\n get: function get() {\n var t;\n return null != (t = this.editorController) ? t.editor : void 0;\n }\n },\n name: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.name : void 0;\n }\n },\n value: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.value : void 0;\n },\n set: function set(t) {\n var e;\n return this.defaultValue = t, null != (e = this.editor) ? e.loadHTML(this.defaultValue) : void 0;\n }\n },\n notify: function notify(t, e) {\n return this.editorController ? s(\"trix-\" + t, {\n onElement: this,\n attributes: e\n }) : void 0;\n },\n setInputElementValue: function setInputElementValue(t) {\n var e;\n return null != (e = this.inputElement) ? e.value = t : void 0;\n },\n initialize: function initialize() {\n return d(this), a(this);\n },\n connect: function connect() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (s(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new e.EditorController({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(function (t) {\n return function () {\n return s(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), u(this));\n },\n disconnect: function disconnect() {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener();\n },\n registerResetListener: function registerResetListener() {\n return this.resetListener = this.resetBubbled.bind(this), window.addEventListener(\"reset\", this.resetListener, !1);\n },\n unregisterResetListener: function unregisterResetListener() {\n return window.removeEventListener(\"reset\", this.resetListener, !1);\n },\n resetBubbled: function resetBubbled(t) {\n var e;\n return t.target !== (null != (e = this.inputElement) ? e.form : void 0) || t.defaultPrevented ? void 0 : this.reset();\n },\n reset: function reset() {\n return this.value = this.defaultValue;\n }\n };\n }());\n }.call(this), function () {}.call(this);\n }).call(this), \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}.call(this);","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a