From: Paul Martin Date: Mon, 11 Jan 2016 12:25:06 +0000 (+0000) Subject: Document edit capability via ProseMirror submodule #974 X-Git-Tag: v1.8.0~17^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2754961708ff0eb6030faf6db2edf8fbdae227d5;p=gitblit.git Document edit capability via ProseMirror submodule #974 + New docEdit page with links from docPage and docList + Bespoke menu system with full screen edit mode + npm required for building client side scripts + Ant script added for BuildUI which performs npm commands + Update font-awesome to 4.5.0 + Factor out to JGitUtils common code in BranchTicketService for EditFilePage + getTreeEntries + commitIndex + Merge capability for document editing --- diff --git a/.gitmodules b/.gitmodules index 01eaa2c8..25cab4a1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "src/main/distrib/data/gitignore"] path = src/main/distrib/data/gitignore url = https://github.com/github/gitignore.git +[submodule "src/main/js/prosemirror"] + path = src/main/js/prosemirror + url = https://github.com/ProseMirror/prosemirror.git diff --git a/build.xml b/build.xml index 7205bf84..2edc853c 100644 --- a/build.xml +++ b/build.xml @@ -1056,4 +1056,21 @@ + + + + + + + + + + + + + diff --git a/src/main/java/com/gitblit/tickets/BranchTicketService.java b/src/main/java/com/gitblit/tickets/BranchTicketService.java index 83966939..7bef435a 100644 --- a/src/main/java/com/gitblit/tickets/BranchTicketService.java +++ b/src/main/java/com/gitblit/tickets/BranchTicketService.java @@ -19,7 +19,6 @@ import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -31,21 +30,17 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; -import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.dircache.DirCache; import org.eclipse.jgit.dircache.DirCacheBuilder; import org.eclipse.jgit.dircache.DirCacheEntry; import org.eclipse.jgit.events.RefsChangedEvent; import org.eclipse.jgit.events.RefsChangedListener; -import org.eclipse.jgit.internal.JGitText; -import org.eclipse.jgit.lib.CommitBuilder; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.RefRename; -import org.eclipse.jgit.lib.RefUpdate; import org.eclipse.jgit.lib.RefUpdate.Result; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; @@ -338,7 +333,7 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi Set ignorePaths = new HashSet(); ignorePaths.add(file); - for (DirCacheEntry entry : getTreeEntries(db, ignorePaths)) { + for (DirCacheEntry entry : JGitUtils.getTreeEntries(db, BRANCH, ignorePaths)) { builder.add(entry); } @@ -804,7 +799,7 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi } } - for (DirCacheEntry entry : getTreeEntries(db, ignorePaths)) { + for (DirCacheEntry entry : JGitUtils.getTreeEntries(db, BRANCH, ignorePaths)) { builder.add(entry); } @@ -816,108 +811,18 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi return newIndex; } - /** - * Returns all tree entries that do not match the ignore paths. - * - * @param db - * @param ignorePaths - * @param dcBuilder - * @throws IOException - */ - private List getTreeEntries(Repository db, Collection ignorePaths) throws IOException { - List list = new ArrayList(); - TreeWalk tw = null; - try { - ObjectId treeId = db.resolve(BRANCH + "^{tree}"); - if (treeId == null) { - // branch does not exist yet, could be migrating tickets - return list; - } - tw = new TreeWalk(db); - int hIdx = tw.addTree(treeId); - tw.setRecursive(true); - - while (tw.next()) { - String path = tw.getPathString(); - CanonicalTreeParser hTree = null; - if (hIdx != -1) { - hTree = tw.getTree(hIdx, CanonicalTreeParser.class); - } - if (!ignorePaths.contains(path)) { - // add all other tree entries - if (hTree != null) { - final DirCacheEntry entry = new DirCacheEntry(path); - entry.setObjectId(hTree.getEntryObjectId()); - entry.setFileMode(hTree.getEntryFileMode()); - list.add(entry); - } - } - } - } finally { - if (tw != null) { - tw.close(); - } - } - return list; - } - private boolean commitIndex(Repository db, DirCache index, String author, String message) throws IOException, ConcurrentRefUpdateException { + final boolean forceCommit = true; boolean success = false; - + ObjectId headId = db.resolve(BRANCH + "^{commit}"); if (headId == null) { // create the branch createTicketsBranch(db); - headId = db.resolve(BRANCH + "^{commit}"); - } - ObjectInserter odi = db.newObjectInserter(); - try { - // Create the in-memory index of the new/updated ticket - ObjectId indexTreeId = index.writeTree(odi); - - // Create a commit object - PersonIdent ident = new PersonIdent(author, "gitblit@localhost"); - CommitBuilder commit = new CommitBuilder(); - commit.setAuthor(ident); - commit.setCommitter(ident); - commit.setEncoding(Constants.ENCODING); - commit.setMessage(message); - commit.setParentId(headId); - commit.setTreeId(indexTreeId); - - // Insert the commit into the repository - ObjectId commitId = odi.insert(commit); - odi.flush(); - - RevWalk revWalk = new RevWalk(db); - try { - RevCommit revCommit = revWalk.parseCommit(commitId); - RefUpdate ru = db.updateRef(BRANCH); - ru.setNewObjectId(commitId); - ru.setExpectedOldObjectId(headId); - ru.setRefLogMessage("commit: " + revCommit.getShortMessage(), false); - Result rc = ru.forceUpdate(); - switch (rc) { - case NEW: - case FORCED: - case FAST_FORWARD: - success = true; - break; - case REJECTED: - case LOCK_FAILURE: - throw new ConcurrentRefUpdateException(JGitText.get().couldNotLockHEAD, - ru.getRef(), rc); - default: - throw new JGitInternalException(MessageFormat.format( - JGitText.get().updatingRefFailed, BRANCH, commitId.toString(), - rc)); - } - } finally { - revWalk.close(); - } - } finally { - odi.close(); } + + success = JGitUtils.commitIndex(db, BRANCH, index, headId, forceCommit, author, "gitblit@localhost", message); + return success; } diff --git a/src/main/java/com/gitblit/utils/JGitUtils.java b/src/main/java/com/gitblit/utils/JGitUtils.java index 7a008139..3aaad6d7 100644 --- a/src/main/java/com/gitblit/utils/JGitUtils.java +++ b/src/main/java/com/gitblit/utils/JGitUtils.java @@ -21,6 +21,7 @@ import java.text.DecimalFormat; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.HashMap; @@ -36,16 +37,21 @@ import org.eclipse.jgit.api.CloneCommand; import org.eclipse.jgit.api.FetchCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.TagCommand; +import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; import org.eclipse.jgit.api.errors.GitAPIException; +import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.diff.DiffEntry; import org.eclipse.jgit.diff.DiffEntry.ChangeType; import org.eclipse.jgit.diff.DiffFormatter; import org.eclipse.jgit.diff.RawTextComparator; +import org.eclipse.jgit.dircache.DirCache; +import org.eclipse.jgit.dircache.DirCacheEntry; import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.LargeObjectException; import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.errors.StopWalkException; +import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.lib.BlobBasedConfig; import org.eclipse.jgit.lib.CommitBuilder; import org.eclipse.jgit.lib.Constants; @@ -63,6 +69,7 @@ import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.lib.TreeFormatter; import org.eclipse.jgit.merge.MergeStrategy; import org.eclipse.jgit.merge.RecursiveMerger; +import org.eclipse.jgit.merge.ThreeWayMerger; import org.eclipse.jgit.revwalk.RevBlob; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevObject; @@ -75,6 +82,7 @@ import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.eclipse.jgit.transport.CredentialsProvider; import org.eclipse.jgit.transport.FetchResult; import org.eclipse.jgit.transport.RefSpec; +import org.eclipse.jgit.treewalk.CanonicalTreeParser; import org.eclipse.jgit.treewalk.TreeWalk; import org.eclipse.jgit.treewalk.filter.AndTreeFilter; import org.eclipse.jgit.treewalk.filter.OrTreeFilter; @@ -2597,4 +2605,127 @@ public class JGitUtils { + "objects/" + oid; } + + /** + * Returns all tree entries that do not match the ignore paths. + * + * @param db + * @param ignorePaths + * @param dcBuilder + * @throws IOException + */ + public static List getTreeEntries(Repository db, String branch, Collection ignorePaths) throws IOException { + List list = new ArrayList(); + TreeWalk tw = null; + try { + ObjectId treeId = db.resolve(branch + "^{tree}"); + if (treeId == null) { + // branch does not exist yet + return list; + } + tw = new TreeWalk(db); + int hIdx = tw.addTree(treeId); + tw.setRecursive(true); + + while (tw.next()) { + String path = tw.getPathString(); + CanonicalTreeParser hTree = null; + if (hIdx != -1) { + hTree = tw.getTree(hIdx, CanonicalTreeParser.class); + } + if (!ignorePaths.contains(path)) { + // add all other tree entries + if (hTree != null) { + final DirCacheEntry entry = new DirCacheEntry(path); + entry.setObjectId(hTree.getEntryObjectId()); + entry.setFileMode(hTree.getEntryFileMode()); + list.add(entry); + } + } + } + } finally { + if (tw != null) { + tw.close(); + } + } + return list; + } + + public static boolean commitIndex(Repository db, String branch, DirCache index, + ObjectId parentId, boolean forceCommit, + String author, String authorEmail, String message) throws IOException, ConcurrentRefUpdateException { + boolean success = false; + + ObjectId headId = db.resolve(branch + "^{commit}"); + ObjectId baseId = parentId; + if (baseId == null || headId == null) { return false; } + + ObjectInserter odi = db.newObjectInserter(); + try { + // Create the in-memory index of the new/updated ticket + ObjectId indexTreeId = index.writeTree(odi); + + // Create a commit object + PersonIdent ident = new PersonIdent(author, authorEmail); + + if (forceCommit == false) { + ThreeWayMerger merger = MergeStrategy.RECURSIVE.newMerger(db, true); + merger.setObjectInserter(odi); + merger.setBase(baseId); + boolean mergeSuccess = merger.merge(indexTreeId, headId); + + if (mergeSuccess) { + indexTreeId = merger.getResultTreeId(); + } else { + //Manual merge required + return false; + } + } + + CommitBuilder commit = new CommitBuilder(); + commit.setAuthor(ident); + commit.setCommitter(ident); + commit.setEncoding(com.gitblit.Constants.ENCODING); + commit.setMessage(message); + commit.setParentId(headId); + commit.setTreeId(indexTreeId); + + // Insert the commit into the repository + ObjectId commitId = odi.insert(commit); + odi.flush(); + + RevWalk revWalk = new RevWalk(db); + try { + RevCommit revCommit = revWalk.parseCommit(commitId); + RefUpdate ru = db.updateRef(branch); + ru.setForceUpdate(forceCommit); + ru.setNewObjectId(commitId); + ru.setExpectedOldObjectId(headId); + ru.setRefLogMessage("commit: " + revCommit.getShortMessage(), false); + Result rc = ru.update(); + + switch (rc) { + case NEW: + case FORCED: + case FAST_FORWARD: + success = true; + break; + case REJECTED: + case LOCK_FAILURE: + throw new ConcurrentRefUpdateException(JGitText.get().couldNotLockHEAD, + ru.getRef(), rc); + default: + throw new JGitInternalException(MessageFormat.format( + JGitText.get().updatingRefFailed, branch, commitId.toString(), + rc)); + } + } finally { + revWalk.close(); + } + } finally { + odi.close(); + } + return success; + } + } diff --git a/src/main/java/com/gitblit/wicket/pages/DocPage.html b/src/main/java/com/gitblit/wicket/pages/DocPage.html index 2bb7e1bc..6df6f3a9 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocPage.html +++ b/src/main/java/com/gitblit/wicket/pages/DocPage.html @@ -12,7 +12,7 @@
- | | + | | |
@@ -24,7 +24,7 @@
- | | + | | |
diff --git a/src/main/java/com/gitblit/wicket/pages/DocPage.java b/src/main/java/com/gitblit/wicket/pages/DocPage.java index 5ed9c400..fe05ada2 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocPage.java +++ b/src/main/java/com/gitblit/wicket/pages/DocPage.java @@ -85,6 +85,8 @@ public class DocPage extends RepositoryPage { } // document page links + fragment.add(new BookmarkablePageLink("editLink", EditFilePage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); fragment.add(new BookmarkablePageLink("blameLink", BlamePage.class, WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); fragment.add(new BookmarkablePageLink("historyLink", HistoryPage.class, diff --git a/src/main/java/com/gitblit/wicket/pages/DocsPage.html b/src/main/java/com/gitblit/wicket/pages/DocsPage.html index 2253205b..54306b1b 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocsPage.html +++ b/src/main/java/com/gitblit/wicket/pages/DocsPage.html @@ -20,7 +20,7 @@
- | | + | | |
@@ -43,7 +43,7 @@ [doc size] - | | | + | | | | diff --git a/src/main/java/com/gitblit/wicket/pages/DocsPage.java b/src/main/java/com/gitblit/wicket/pages/DocsPage.java index 8be9a573..93016920 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocsPage.java +++ b/src/main/java/com/gitblit/wicket/pages/DocsPage.java @@ -103,6 +103,8 @@ public class DocsPage extends RepositoryPage { public void populateItem(final Item item) { MarkupDocument doc = item.getModelObject(); // document page links + item.add(new BookmarkablePageLink("editLink", EditFilePage.class, + WicketUtils.newPathParameter(repositoryName, commitId, doc.documentPath))); item.add(new BookmarkablePageLink("blameLink", BlamePage.class, WicketUtils.newPathParameter(repositoryName, commitId, doc.documentPath))); item.add(new BookmarkablePageLink("historyLink", HistoryPage.class, @@ -148,6 +150,8 @@ public class DocsPage extends RepositoryPage { // links item.add(new BookmarkablePageLink("view", DocPage.class, WicketUtils .newPathParameter(repositoryName, commitId, entry.path))); + item.add(new BookmarkablePageLink("edit", EditFilePage.class, WicketUtils + .newPathParameter(repositoryName, commitId, entry.path))); String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, commitId, entry.path); item.add(new ExternalLink("raw", rawUrl)); item.add(new BookmarkablePageLink("blame", BlamePage.class, WicketUtils diff --git a/src/main/java/com/gitblit/wicket/pages/EditFilePage.html b/src/main/java/com/gitblit/wicket/pages/EditFilePage.html new file mode 100644 index 00000000..602149b7 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EditFilePage.html @@ -0,0 +1,60 @@ + + + + + + + + + + + +
+ +
+ + +
+ | | +
+
+
+ + + +
+ +
+
+ + +
+ +
+ | | +
+ + +
[content]
+
+
+ +
+ + \ No newline at end of file diff --git a/src/main/java/com/gitblit/wicket/pages/EditFilePage.java b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java new file mode 100644 index 00000000..378f2a35 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java @@ -0,0 +1,220 @@ +/* + * Copyright 2016 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gitblit.wicket.pages; + + +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.form.Form; +import org.apache.wicket.markup.html.form.TextArea; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; +import org.apache.wicket.markup.html.link.ExternalLink; +import org.apache.wicket.markup.html.panel.Fragment; +import org.apache.wicket.model.Model; +import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; +import org.eclipse.jgit.dircache.DirCache; +import org.eclipse.jgit.dircache.DirCacheBuilder; +import org.eclipse.jgit.dircache.DirCacheEntry; +import org.eclipse.jgit.lib.FileMode; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; + +import com.gitblit.Constants; +import com.gitblit.models.UserModel; +import com.gitblit.servlet.RawServlet; +import com.gitblit.utils.BugtraqProcessor; +import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.StringUtils; +import com.gitblit.wicket.CacheControl; +import com.gitblit.wicket.GitBlitWebSession; +import com.gitblit.wicket.CacheControl.LastModified; +import com.gitblit.wicket.MarkupProcessor; +import com.gitblit.wicket.MarkupProcessor.MarkupDocument; +import com.gitblit.wicket.WicketUtils; + +@CacheControl(LastModified.BOOT) +public class EditFilePage extends RepositoryPage { + + public EditFilePage(final PageParameters params) { + super(params); + + final UserModel currentUser = (GitBlitWebSession.get().getUser() != null) ? GitBlitWebSession.get().getUser() : UserModel.ANONYMOUS; + + final String path = WicketUtils.getPath(params).replace("%2f", "/").replace("%2F", "/"); + MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); + + Repository r = getRepository(); + RevCommit commit = JGitUtils.getCommit(r, objectId); + String [] encodings = getEncodings(); + + // Read raw markup content and transform it to html + String documentPath = path; + String markupText = JGitUtils.getStringContent(r, commit.getTree(), path, encodings); + + // Hunt for document + if (StringUtils.isEmpty(markupText)) { + String name = StringUtils.stripFileExtension(path); + + List docExtensions = processor.getAllExtensions(); + for (String ext : docExtensions) { + String checkName = name + "." + ext; + markupText = JGitUtils.getStringContent(r, commit.getTree(), checkName, encodings); + if (!StringUtils.isEmpty(markupText)) { + // found it + documentPath = path; + break; + } + } + } + + if (markupText == null) { + markupText = ""; + } + + BugtraqProcessor bugtraq = new BugtraqProcessor(app().settings()); + markupText = bugtraq.processText(getRepository(), repositoryName, markupText); + + Fragment fragment; + String displayedCommitId = commit.getId().getName(); + MarkupDocument markupDoc = processor.parse(repositoryName, displayedCommitId, documentPath, markupText); + logger.info("Loading Edit File page: " + displayedCommitId); + + if (currentUser.canEdit(getRepositoryModel())) { + + final Model documentContent = new Model(markupDoc.markup); + final Model commitMessage = new Model("Document update"); + final Model commitIdAtLoad = new Model(displayedCommitId); + + fragment = new Fragment("doc", "markupContent", this); + + Form form = new Form("documentEditor") { + + private static final long serialVersionUID = 1L; + + @Override + protected void onSubmit() { + + final Repository repository = getRepository(); + final String document = documentContent.getObject(); + final String message = commitMessage.getObject(); + + final String branchName = JGitUtils.getBranch(getRepository(), objectId).getName(); + final String authorEmail = StringUtils.isEmpty(currentUser.emailAddress) ? (currentUser.username + "@gitblit") : currentUser.emailAddress; + + boolean success = false; + + try { + ObjectId docAtLoad = getRepository().resolve(commitIdAtLoad.getObject()); + + logger.info("Commiting Edit File page: " + commitIdAtLoad.getObject()); + + DirCache index = DirCache.newInCore(); + DirCacheBuilder builder = index.builder(); + byte[] bytes = document.getBytes( Constants.ENCODING ); + + final DirCacheEntry fileUpdate = new DirCacheEntry(path); + fileUpdate.setLength(bytes.length); + fileUpdate.setLastModified(System.currentTimeMillis()); + fileUpdate.setFileMode(FileMode.REGULAR_FILE); + fileUpdate.setObjectId(repository.newObjectInserter().insert( org.eclipse.jgit.lib.Constants.OBJ_BLOB, bytes )); + builder.add(fileUpdate); + + Set ignorePaths = new HashSet(); + ignorePaths.add(path); + + for (DirCacheEntry entry : JGitUtils.getTreeEntries(repository, branchName, ignorePaths)) { + builder.add(entry); + } + + builder.finish(); + + final boolean forceCommit = false; + + success = JGitUtils.commitIndex(repository, branchName, index, docAtLoad, forceCommit, currentUser.getDisplayName(), authorEmail, message); + + } catch (IOException | ConcurrentRefUpdateException e) { + e.printStackTrace(); + } + + if (success == false) { + EditFilePage.this.error("Unable to commit document " + path, false); + return; + } + + setResponsePage(EditFilePage.class, params); + return; + } + }; + + final TextArea docIO = new TextArea("content", documentContent); + docIO.setOutputMarkupId(false); + + form.add(new Label("commitAuthor", String.format("%s <%s>", currentUser.getDisplayName(), currentUser.emailAddress))); + form.add(new TextArea("commitMessage", commitMessage)); + + + form.setOutputMarkupId(false); + form.add(docIO); + + addBottomScriptInline("attachDocumentEditor(document.querySelector('textarea#editor'), $('#commitDialog'));"); + + fragment.add(form); + + } else { + + final Model documentContent = new Model(markupDoc.html); + + fragment = new Fragment("doc", "plainContent", this); + + fragment.add(new Label("content", documentContent).setEscapeModelStrings(false)); + } + + // document page links + fragment.add(new BookmarkablePageLink("blameLink", BlamePage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + fragment.add(new BookmarkablePageLink("historyLink", HistoryPage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, objectId, documentPath); + fragment.add(new ExternalLink("rawLink", rawUrl)); + + add(fragment); + + } + + @Override + protected String getPageName() { + return getString("gb.docs"); + } + + @Override + protected boolean isCommitPage() { + return true; + } + + @Override + protected Class getRepoNavPageClass() { + return DocsPage.class; + } + + + +} diff --git a/src/main/js/.gitignore b/src/main/js/.gitignore new file mode 100644 index 00000000..b512c09d --- /dev/null +++ b/src/main/js/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/src/main/js/editor.dev.css b/src/main/js/editor.dev.css new file mode 100644 index 00000000..d1a0ebee --- /dev/null +++ b/src/main/js/editor.dev.css @@ -0,0 +1,70 @@ +.ProseMirror-menubar { + + border-top-left-radius: inherit; + border-top-right-radius: inherit; + color: #666; + padding: 1px 6px; + border-bottom: 1px solid silver; + background: white; + z-index: 10; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow: visible; + +} + +.ProseMirror-menubar.scrolling { + top: 47px; +} + +.ProseMirror-menuitem { + display: inline-block; + font-size: 1.2em; + text-align: center; + min-width: 30px; + line-height: 30px; + box-sizing: border-box; + margin: 1px; + border-width: 1px; + border-style: solid; + border-color: white; +} + +.ProseMirror-menuitem:hover { + border-radius: 5px; + background: #fcfcfc; + border-color: #95a5a6; + border-width: 1px; + border-style: solid; + box-sizing: border-box; +} + +.ProseMirror-icon { + line-height: inherit; + vertical-align: middle; +} + + +.ProseMirror-menubar .fa-header-x:after { + font-family: Arial, Helvetica, sans-serif; + font-size: 65%; + vertical-align: text-bottom; + position: relative; + top: 2px; +} + +.fa-header-1:after { + content: "1"; +} + +.fa-header-2:after { + content: "2"; +} + +.fa-header-3:after { + content: "3"; +} + +.forceHide { + display:none !important; +} \ No newline at end of file diff --git a/src/main/js/editor.dev.js b/src/main/js/editor.dev.js new file mode 100644 index 00000000..62b6b4cc --- /dev/null +++ b/src/main/js/editor.dev.js @@ -0,0 +1,271 @@ +attachDocumentEditor = function (editorElement, commitDialogElement) +{ + var edit = require("./prosemirror/dist/edit") + require("./prosemirror/dist/inputrules/autoinput") + require("./prosemirror/dist/menu/menubar") + require("./prosemirror/dist/markdown") + var _menu = require("./prosemirror/dist/menu/menu") + + + var content = document.querySelector('#editor'); + content.style.display = "none"; + + var gitblitCommands = new _menu.MenuCommandGroup("gitblitCommands"); + var viewCommands = new _menu.MenuCommandGroup("viewCommands"); + var textCommands = new _menu.MenuCommandGroup("textCommands"); + var insertCommands = new _menu.MenuCommandGroup("insertCommands"); + + var menuItems = [gitblitCommands, viewCommands, textCommands, _menu.inlineGroup, _menu.blockGroup, _menu.historyGroup, insertCommands]; + + const updateCmd = Object.create(null); + + updateCmd["GitblitCommit"] = { + label: "GitblitCommit", + run: function() { + commitDialogElement.modal({show:true}); + editorElement.value = pm.getContent('markdown'); + }, + menu: { + group: "gitblitCommands", rank: 10, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-save"); } + } + } + }; + + updateCmd["FullScreen"] = { + label: "Toggle Fullscreen", + derive: "toggle", + run: function(pm) { + //Maintain the scroll context + var initialScroll = window.scrollY; + var navs = [document.querySelector("div.repositorynavbar"), document.querySelector("div.navbar"), document.querySelector("div.docnav")]; + var offset = navs.reduce(function(p, c) { return p + c.offsetHeight; }, 0); + navs.forEach(function(e) { e.classList.toggle("forceHide"); }); + + if (!toggleFullScreen(document.documentElement)) { + offset = 60; + } else { + offset -= 60; + } + + pm.signal("commandsChanged"); + + //Browsers don't seem to accept a scrollTo straight after a full screen + setTimeout(function(){window.scrollTo(0, Math.max(0,initialScroll - offset));}, 100); + + }, + menu: { + group: "viewCommands", rank: 11, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-arrows-alt"); } + } + }, + active: function active(pm) { return getFullScreenElement() ? true : false; } + }; + + updateCmd["heading1"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:1}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:1})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 1, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-1"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["heading2"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:2}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:2})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 2, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-2"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["heading3"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:3}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:3})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 3, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-3"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["strong:toggle"] = { + menu: { + group: "textCommands", rank: 4, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-bold"); } + } + }, + select: function(){return true;} + }; + + updateCmd["em:toggle"] = { + menu: { + group: "textCommands", rank: 5, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-italic"); } + } + }, + select: function(){return true;} + }; + + updateCmd["code:toggle"] = { + menu: { + group: "textCommands", rank: 6, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-code"); } + } + }, + select: function(){return true;} + }; + + updateCmd["image:insert"] = { + menu: { + group: "insertCommands", rank: 1, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-picture-o"); } + } + } + }; + + var pm = window.pm = new edit.ProseMirror({ + place: document.querySelector('#visualEditor'), + autoInput: true, + doc: content.value, + menuBar: { float:true, content: menuItems}, + commands: edit.CommandSet.default.update(updateCmd), + docFormat: "markdown" + }); + + + var scrollStart = document.querySelector(".ProseMirror").offsetTop; + + + var ticking = false; + window.addEventListener("scroll", function() { + var scrollPosition = window.scrollY; + if (!ticking) { + window.requestAnimationFrame(function() { + if (!getFullScreenElement() && (scrollPosition > scrollStart)) { + document.querySelector(".ProseMirror-menubar").classList.add("scrolling"); + } else { + document.querySelector(".ProseMirror-menubar").classList.remove("scrolling"); + } + ticking = false; + }); + } + ticking = true; + }); +} + +function renderFontAwesomeIcon(cmd, pm, classNames) { + var node = document.createElement("div"); + node.className = "ProseMirror-icon"; + var icon = document.createElement("i"); + icon.setAttribute("class", "fa fa-fw " + classNames); + + //TODO: try modify parent to simplify css border etc + var active = cmd.active(pm); + + if (active || cmd.spec.invert) node.classList.add("ProseMirror-menu-active"); + node.appendChild(icon); + return node; +} + + + +function getFullScreenElement() { + return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; +} + +function toggleFullScreen(e) { + if (getFullScreenElement()) { + if (document.exitFullscreen) { document.exitFullscreen(); } + else if (document.msExitFullscreen) { document.msExitFullscreen(); } + else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } + else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } + return true; + } else { + if (e.requestFullscreen) { e.requestFullscreen(); } + else if (e.msRequestFullscreen) { e.msRequestFullscreen(); } + else if (e.mozRequestFullScreen) { e.mozRequestFullScreen(); } + else if (e.webkitRequestFullscreen) { e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } + } + return false; +} + +commitChanges = function() { + document.querySelector('form#documentEditor').submit(); +} + diff --git a/src/main/js/package.json b/src/main/js/package.json new file mode 100644 index 00000000..a8a3101e --- /dev/null +++ b/src/main/js/package.json @@ -0,0 +1,23 @@ +{ + "name": "gitblit", + "homepage": "http://gitblit.com/", + "version": "1.0.0", + "devDependencies": { + "babel-cli": "^6.4.5", + "babel-preset-es2015": "^6.3.13", + "babelify": "*", + "browserify": "^11.2.0", + "browserify-shim": "^3.8.10", + "suitcss-preprocessor": "^0.8.0", + "uglify-js": "^2.6.1" + }, + "scripts": { + "build": "npm run build:js-min & npm run build:css-min", + "build:debug": "npm run build:js & npm run build:css", + "build:js": "browserify editor.dev.js > ../resources/gitblit-editor.js", + "build:js-min": "browserify editor.dev.js | uglifyjs --compress --mangle -o ../resources/gitblit-editor.min.js", + "build:css": "suitcss editor.dev.css ../resources/gitblit-editor.css", + "build:css-min": "suitcss -m editor.dev.css ../resources/gitblit-editor.min.css", + "postinstall": "cd prosemirror && npm install" + } +} diff --git a/src/main/js/prosemirror b/src/main/js/prosemirror new file mode 160000 index 00000000..c28df1df --- /dev/null +++ b/src/main/js/prosemirror @@ -0,0 +1 @@ +Subproject commit c28df1df1f2790b1d72715c4c1c4a1d8d24560e8 diff --git a/src/main/resources/fontawesome/css/font-awesome.min.css b/src/main/resources/fontawesome/css/font-awesome.min.css index 449d6ac5..d0603cb4 100644 --- a/src/main/resources/fontawesome/css/font-awesome.min.css +++ b/src/main/resources/fontawesome/css/font-awesome.min.css @@ -1,4 +1,4 @@ /*! - * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} diff --git a/src/main/resources/fontawesome/fonts/FontAwesome.otf b/src/main/resources/fontawesome/fonts/FontAwesome.otf index 8b0f54e4..3ed7f8b4 100644 Binary files a/src/main/resources/fontawesome/fonts/FontAwesome.otf and b/src/main/resources/fontawesome/fonts/FontAwesome.otf differ diff --git a/src/main/resources/fontawesome/fonts/fontawesome-webfont.eot b/src/main/resources/fontawesome/fonts/fontawesome-webfont.eot index 7c79c6a6..9b6afaed 100644 Binary files a/src/main/resources/fontawesome/fonts/fontawesome-webfont.eot and b/src/main/resources/fontawesome/fonts/fontawesome-webfont.eot differ diff --git a/src/main/resources/fontawesome/fonts/fontawesome-webfont.svg b/src/main/resources/fontawesome/fonts/fontawesome-webfont.svg index 45fdf338..d05688e9 100644 --- a/src/main/resources/fontawesome/fonts/fontawesome-webfont.svg +++ b/src/main/resources/fontawesome/fonts/fontawesome-webfont.svg @@ -14,10 +14,11 @@ + - + - + @@ -30,7 +31,7 @@ - + @@ -52,7 +53,7 @@ - + @@ -77,11 +78,11 @@ - - - - - + + + + + @@ -109,8 +110,8 @@ - - + + @@ -143,17 +144,17 @@ - - + + - + - + - + @@ -176,14 +177,14 @@ - + - + @@ -218,8 +219,8 @@ - - + + @@ -247,10 +248,10 @@ - + - + @@ -274,7 +275,7 @@ - + @@ -345,8 +346,8 @@ - - + + @@ -361,14 +362,14 @@ - + - - + + @@ -379,7 +380,7 @@ - + @@ -398,17 +399,257 @@ - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/fontawesome/fonts/fontawesome-webfont.ttf b/src/main/resources/fontawesome/fonts/fontawesome-webfont.ttf index e89738de..26dea795 100644 Binary files a/src/main/resources/fontawesome/fonts/fontawesome-webfont.ttf and b/src/main/resources/fontawesome/fonts/fontawesome-webfont.ttf differ diff --git a/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff b/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff index 8c1748aa..dc35ce3c 100644 Binary files a/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff and b/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff differ diff --git a/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff2 b/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..500e5172 Binary files /dev/null and b/src/main/resources/fontawesome/fonts/fontawesome-webfont.woff2 differ diff --git a/src/main/resources/gitblit-editor.min.css b/src/main/resources/gitblit-editor.min.css new file mode 100644 index 00000000..c89df033 --- /dev/null +++ b/src/main/resources/gitblit-editor.min.css @@ -0,0 +1 @@ +.ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;color:#666;padding:1px 6px;border-bottom:1px solid silver;background:#fff;z-index:10;box-sizing:border-box;overflow:visible}.ProseMirror-menubar.scrolling{top:47px}.ProseMirror-menuitem{display:inline-block;font-size:1.2em;text-align:center;min-width:30px;line-height:30px;box-sizing:border-box;margin:1px;border:1px solid #fff}.ProseMirror-menuitem:hover{border-radius:5px;background:#fcfcfc;border:1px solid #95a5a6;box-sizing:border-box}.ProseMirror-icon{line-height:inherit;vertical-align:middle}.ProseMirror-menubar .fa-header-x:after{font-family:Arial,Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.fa-header-1:after{content:"1"}.fa-header-2:after{content:"2"}.fa-header-3:after{content:"3"}.forceHide{display:none!important} diff --git a/src/main/resources/gitblit-editor.min.js b/src/main/resources/gitblit-editor.min.js new file mode 100644 index 00000000..4efeee0f --- /dev/null +++ b/src/main/resources/gitblit-editor.min.js @@ -0,0 +1,10 @@ +!function e(t,r,n){function o(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[s]={exports:{}};t[s][0].call(c.exports,function(e){var r=t[s][1][e];return o(r?r:e)},c,c.exports,e,t,r,n)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;sg?document.querySelector(".ProseMirror-menubar").classList.add("scrolling"):document.querySelector(".ProseMirror-menubar").classList.remove("scrolling"),v=!1}),v=!0})},commitChanges=function(){document.querySelector("form#documentEditor").submit()}},{"./prosemirror/dist/edit":13,"./prosemirror/dist/inputrules/autoinput":26,"./prosemirror/dist/markdown":29,"./prosemirror/dist/menu/menu":32,"./prosemirror/dist/menu/menubar":33}],2:[function(e,t,r){(function(e){!function(n){function o(e){throw new RangeError(j[e])}function i(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function s(e,t){var r=e.split("@"),n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(D,".");var o=e.split("."),s=i(o,t).join(".");return n+s}function a(e){for(var t,r,n=[],o=0,i=e.length;i>o;)t=e.charCodeAt(o++),t>=55296&&56319>=t&&i>o?(r=e.charCodeAt(o++),56320==(64512&r)?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),o--)):n.push(t);return n}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=N(e>>>10&1023|55296),e=56320|1023&e),t+=N(e)}).join("")}function l(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:_}function c(e,t){return e+22+75*(26>e)-((0!=t)<<5)}function p(e,t,r){var n=0;for(e=r?z(e/S):e>>1,e+=z(e/t);e>q*C>>1;n+=_)e=z(e/q);return z(n+(q+1)*e/(e+M))}function f(e){var t,r,n,i,s,a,c,f,h,d,m=[],g=e.length,v=0,y=O,k=A;for(r=e.lastIndexOf(P),0>r&&(r=0),n=0;r>n;++n)e.charCodeAt(n)>=128&&o("not-basic"),m.push(e.charCodeAt(n));for(i=r>0?r+1:0;g>i;){for(s=v,a=1,c=_;i>=g&&o("invalid-input"),f=l(e.charCodeAt(i++)),(f>=_||f>z((w-v)/a))&&o("overflow"),v+=f*a,h=k>=c?x:c>=k+C?C:c-k,!(h>f);c+=_)d=_-h,a>z(w/d)&&o("overflow"),a*=d;t=m.length+1,k=p(v-s,t,0==s),z(v/t)>w-y&&o("overflow"),y+=z(v/t),v%=t,m.splice(v++,0,y)}return u(m)}function h(e){var t,r,n,i,s,u,l,f,h,d,m,g,v,y,k,b=[];for(e=a(e),g=e.length,t=O,r=0,s=A,u=0;g>u;++u)m=e[u],128>m&&b.push(N(m));for(n=i=b.length,i&&b.push(P);g>n;){for(l=w,u=0;g>u;++u)m=e[u],m>=t&&l>m&&(l=m);for(v=n+1,l-t>z((w-r)/v)&&o("overflow"),r+=(l-t)*v,t=l,u=0;g>u;++u)if(m=e[u],t>m&&++r>w&&o("overflow"),m==t){for(f=r,h=_;d=s>=h?x:h>=s+C?C:h-s,!(d>f);h+=_)k=f-d,y=_-d,b.push(N(c(d+k%y,0))),f=z(k/y);b.push(N(c(f,0))),s=p(r,v,n==i),r=0,++n}++r,++t}return b.join("")}function d(e){return s(e,function(e){return T.test(e)?f(e.slice(4).toLowerCase()):e})}function m(e){return s(e,function(e){return E.test(e)?"xn--"+h(e):e})}var g="object"==typeof r&&r&&!r.nodeType&&r,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;(y.global===y||y.window===y||y.self===y)&&(n=y);var k,b,w=2147483647,_=36,x=1,C=26,M=38,S=700,A=72,O=128,P="-",T=/^xn--/,E=/[^\x20-\x7E]/,D=/[\x2E\u3002\uFF0E\uFF61]/g,j={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},q=_-x,z=Math.floor,N=String.fromCharCode;if(k={version:"1.3.2",ucs2:{decode:a,encode:u},decode:f,encode:h,toASCII:m,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return k});else if(g&&v)if(t.exports==g)v.exports=k;else for(b in k)k.hasOwnProperty(b)&&(g[b]=k[b]);else n.punycode=k}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,t,r){"use strict";function n(e,t){var r=document.createElement(e);if(t)for(var n in t)"style"==n?r.style.cssText=t[n]:null!=t[n]&&r.setAttribute(n,t[n]);for(var i=arguments.length,s=Array(i>2?i-2:0),a=2;i>a;a++)s[a-2]=arguments[a];for(var u=0;u0;u--){if(!(0,g.isExtendingChar)(a.text.charAt(u-1)))return t-1;t--}else if("word"==r)for(var u=t-s;u>0;u--){var l=(0,g.charCategory)(a.text.charAt(u-1));if(null==n||1==o&&"space"==n)n=l;else if(n!=l)return t;t--,o++}}}function i(e,t){var r=e.doc.path(t.path),o=r.child(t.offset-1),i=r.child(t.offset);if(!o.type.canContainContent(i.type)||e.tr.join(t).apply(e.apply.scroll)===!1){var s=void 0;if(i.isTextblock&&(s=o.type.findConnection(i.type))){var a=e.tr,u=t.move(1);if(a.step("ancestor",t,u,null,{types:[o.type].concat(n(s)),attrs:[o.attrs].concat(n(s.map(function(){return null})))}),a.join(u),a.join(t),a.apply(e.apply.scroll)!==!1)return}var l=(0,v.findSelectionFrom)(e.doc,t,1);return e.tr.lift(l.from,l.to).apply(e.apply.scroll)}}function s(e,t,r){"char"!=r&&"word"!=r&&m.AssertionError.raise("Unknown motion unit: "+r);for(var n=null,o=0;;){if(t==e.size)return t;var i=e.chunkAfter(t),s=i.start,a=i.node;if(!a.isText)return n?t:t+1;if("char"==r)for(var u=t-s;u0?o:n;return(0,v.findSelectionFrom)(e.doc,i&&i.isBlock?s:s.shorten(null,t>0?1:0),t)}function p(e,t){var r=e.selection,n=r.empty,o=r.node,i=r.from,s=r.to;if(!n&&!o)return!1;if(o&&o.isInline)return e.setTextSelection(t>0?s:i),!0;var a=void 0;if(!o&&(a=e.doc.path(i.path))&&(t>0?i.offset0?a.chunkAfter(i.offset):a.chunkBefore(i.offset),l=u.node,p=u.start;return l.type.selectable&&p==i.offset-(t>0?0:1)?(e.setNodeSelection(0>t?i.move(-1):i),!0):!1}var f=c(e,t);return f&&(f instanceof v.NodeSelection||o)?(e.setSelectionDirect(f),!0):!1}function f(e,t){var r=e.selection,n=r.empty,o=r.node,i=r.from,s=r.to;if(!n&&!o)return!1;var a=!0;if((!o||o.isInline)&&(a=(0,v.verticalMotionLeavesTextblock)(e,t>0?s:i,t)),a){var u=c(e,t);if(u&&u instanceof v.NodeSelection)return e.setSelectionDirect(u),o||(e.sel.lastNonNodePos=i),!0}if(!o)return!1;if(o.isInline)return(0,y.setDOMSelectionToPos)(e,i),!1;var l=e.sel.lastNonNodePos,p=(0,v.findSelectionFrom)(e.doc,0>t?i:s,t);return l&&p&&h.Pos.samePath(l.path,p.from.path)?((0,y.setDOMSelectionToPos)(e,l),!1):(e.setSelectionDirect(p),!0)}Object.defineProperty(r,"__esModule",{value:!0}),r.baseCommands=void 0;var h=e("../model"),d=e("../transform"),m=e("../util/error"),g=e("./char"),v=e("./selection"),y=e("./dompos"),k=r.baseCommands=Object.create(null);k.deleteSelection={label:"Delete the selection",run:function(e){return e.tr.replaceSelection().apply(e.apply.scroll)},keys:{all:["Backspace(10)","Delete(10)","Mod-Backspace(10)","Mod-Delete(10)"],mac:["Ctrl-H(10)","Alt-Backspace(10)","Ctrl-D(10)","Ctrl-Alt-Backspace(10)","Alt-Delete(10)","Alt-D(10)"]}},k.joinBackward={label:"Join with the block above",run:function(e){var t=e.selection,r=t.head,n=t.empty;if(!n||r.offset>0)return!1;for(var o=void 0,s=void 0,a=r.path.length-1;!o&&a>=0;a--)r.path[a]>0&&(s=r.shorten(a),o=e.doc.path(s.path).child(s.offset-1));return o?null==o.type.contains?e.tr["delete"](s.move(-1),s).apply(e.apply.scroll):i(e,s):e.tr.lift(r).apply(e.apply.scroll)},keys:["Backspace(30)","Mod-Backspace(30)"]},k.deleteCharBefore={label:"Delete a character before the cursor",run:function(e){var t=e.selection,r=t.head,n=t.empty;if(!n||0==r.offset)return!1;var i=o(e.doc.path(r.path),r.offset,"char");return e.tr["delete"](new h.Pos(r.path,i),r).apply(e.apply.scroll)},keys:{all:["Backspace(60)"],mac:["Ctrl-H(40)"]}},k.deleteWordBefore={label:"Delete the word before the cursor",run:function(e){var t=e.selection,r=t.head,n=t.empty;if(!n||0==r.offset)return!1;var i=o(e.doc.path(r.path),r.offset,"word");return e.tr["delete"](new h.Pos(r.path,i),r).apply(e.apply.scroll)},keys:{all:["Mod-Backspace(40)"],mac:["Alt-Backspace(40)"]}},k.joinForward={label:"Join with the block below",run:function(e){var t=e.selection,r=t.head,n=t.empty;if(!n||r.offset=0;a--){s=r.shorten(a,1);var u=e.doc.path(s.path);s.offset0||e.doc.path(r.path).size)return!1;if(r.depth>1){var o=r.shorten();if(o.offset>0&&o.offset0},menu:{group:"history",rank:10,display:{type:"icon",width:1024,height:1024,path:"M761 1024c113-206 132-520-313-509v253l-384-384 384-384v248c534-13 594 472 313 775z"}},keys:["Mod-Z"]},k.redo={label:"Redo last undone change",run:function(e){return e.scrollIntoView(),e.history.redo()},select:function(e){return e.history.redoDepth>0},menu:{group:"history",rank:20,display:{type:"icon",width:1024,height:1024,path:"M576 248v-248l384 384-384 384v-253c-446-10-427 303-313 509-280-303-221-789 313-775z"}},keys:["Mod-Y","Shift-Mod-Z"]}},{"../model":38,"../transform":44,"../util/error":55,"./char":6,"./dompos":10,"./selection":19}],5:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(){}function i(e){if(e.selection.node){var t=(0,u.findSelectionNear)(e.doc,e.selection.from,1,!0);t&&(0,l.setDOMSelectionToPos)(e,t.head)}return!1}Object.defineProperty(r,"__esModule",{value:!0}),r.captureKeys=void 0;var s=e("browserkeymap"),a=n(s),u=e("./selection"),l=e("./dompos"),c=e("../dom"),p={Esc:o,Enter:o,"Mod-Enter":o,"Shift-Enter":o,Backspace:o,Delete:o,"Mod-B":o,"Mod-I":o,"Mod-Backspace":o,"Mod-Delete":o,"Shift-Backspace":o,"Shift-Delete":o,"Shift-Mod-Backspace":o,"Shift-Mod-Delete":o,"Mod-Z":o,"Mod-Y":o,"Shift-Mod-Z":o,"Ctrl-D":o,"Ctrl-H":o,"Ctrl-Alt-Backspace":o,"Alt-D":o,"Alt-Delete":o,"Alt-Backspace":o,"Mod-A":i};["Left","Right","Up","Down","Home","End","PageUp","PageDown"].forEach(function(e){p[e]=p["Shift-"+e]=p["Mod-"+e]=p["Shift-Mod-"+e]=p["Alt-"+e]=p["Shift-Alt-"+e]=i}),["Left","Mod-Left","Right","Mod-Right","Up","Down"].forEach(function(e){return delete p[e]}),c.browser.mac&&(p["Ctrl-F"]=p["Ctrl-B"]=p["Ctrl-P"]=p["Ctrl-N"]=p["Alt-F"]=p["Alt-B"]=p["Ctrl-A"]=p["Ctrl-E"]=p["Ctrl-V"]=p.goPageUp=i);r.captureKeys=new a["default"](p)},{"../dom":3,"./dompos":10,"./selection":19,browserkeymap:60}],6:[function(e,t,r){"use strict";function n(e){return/\w/.test(e)||i(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||s.test(e))}function o(e){return/\s/.test(e)?"space":n(e)?"word":"other"}function i(e){return e.charCodeAt(0)>=768&&a.test(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.isWordChar=n,r.charCategory=o,r.isExtendingChar=i;var s=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,a=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/},{}],7:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);to.offset&&l.chunkAfter(o.offset);a=c?t.isInSet(c.node.marks):null,u=t.isInSet(e.doc.marksAt(i))}return a&&u&&a.attrs[r]==u.attrs[r]?a.attrs[r]:void 0}function h(e,t,r){var n=e.selection.node;return n&&n.type==t?n.attrs[r]:void 0}function d(e,t){return t&&t.map(function(t){var r=e.attrs[t.attr],n={type:"text","default":r["default"],prefill:e instanceof C.NodeType?function(e){return h(e,this,t.attr)}:function(e){return f(e,this,t.attr)}};for(var o in t)n[o]=t[o];return n})}function m(e,t){var r=e.attrs;return e.params&&!function(){var n=Object.create(null);if(r)for(var o in r)n[o]=r[o];e.params.forEach(function(e,r){return n[e.attr]=t[r]}),r=n}(),r}function g(e,t,r,n){return C.Pos.samePath(t.path,r.path)&&t.path.length>=2&&0==t.path[t.path.length-1]&&n.canContain(e.path(t.path.slice(0,t.path.length-1)))}function v(e,t,r,n,o){var i=!1;return o||(o={}),e.nodesBetween(t,r||t,function(e){return e.isTextblock?(e.hasMarkup(n,o)&&(i=!0),!1):void 0}),i}function y(e,t,r){var n=e.selection,o=n.from,i=n.to,s=n.node;if(!s||s.isInline){if(!C.Pos.samePath(o.path,i.path))return!1;s=e.doc.path(o.path)}else if(!s.isTextblock)return!1;return s.hasMarkup(t,r)}var k=function(){function e(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(u){o=!0,i=u}finally{try{!n&&a["return"]&&a["return"]()}finally{if(o)throw i}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},w=function(){function e(e,t){for(var r=0;r1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];t.setMark(this,!0,m(e,n))},select:function(t){return e.inverseSelect?p(t,this)&&!l(t,this):c(t,this)},params:d(this,e.params)}},C.MarkType.deriveableCommands.unset=function(){return{run:function(e){e.setMark(this,!1)},select:function(e){return l(e,this)}}},C.MarkType.deriveableCommands.toggle=function(){return{run:function(e){e.setMark(this,null)},active:function(e){return l(e,this)},select:function(e){return p(e,this)}}},C.NodeType.deriveableCommands.wrap=function(e){return{run:function(t){var r=t.selection,n=r.from,o=r.to,i=r.head,s=!1;if(e.list&&i&&g(t.doc,n,o,this)){if(0==n.path[n.path.length-2])return!1;s=!0}for(var a=arguments.length,u=Array(a>1?a-1:0),l=1;a>l;l++)u[l-1]=arguments[l];var c=t.tr.wrap(n,o,this,m(e,u));return s&&c.join(n.shorten(n.depth-2)),c.apply(t.apply.scroll)},select:function(t){var r=t.selection,n=r.from,o=r.to,i=r.head;return e.list&&i&&g(t.doc,n,o,this)&&0==n.path[n.path.length-2]?!1:(0,M.canWrap)(t.doc,n,o,this,e.attrs)},params:d(this,e.params)}},C.NodeType.deriveableCommands.make=function(e){return{run:function(t){var r=t.selection,n=r.from,o=r.to;return t.tr.setBlockType(n,o,this,e.attrs).apply(t.apply.scroll)},select:function(t){var r=t.selection,n=r.from,o=r.to,i=r.node;return i?i.isTextblock&&!i.hasMarkup(this,e.attrs):!v(t.doc,n,o,this,e.attrs)},active:function(t){return y(t,this,e.attrs)}}},C.NodeType.deriveableCommands.insert=function(e){return{run:function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];return t.tr.replaceSelection(this.create(m(e,n))).apply(t.apply.scroll)},select:this.isInline?function(e){return e.doc.path(e.selection.from.path).type.canContainType(this)}:null,params:d(this,e.params)}}},{"../dom":3,"../model":38,"../transform":44,"../util/error":55,"../util/obj":58,"../util/sortedinsert":59,"./base_commands":4,browserkeymap:60}],8:[function(e,t,r){"use strict";var n=e("../dom");(0,n.insertCSS)('\n\n.ProseMirror {\n border: 1px solid silver;\n position: relative;\n}\n\n.ProseMirror-content {\n padding: 4px 8px 4px 14px;\n white-space: pre-wrap;\n line-height: 1.2;\n}\n\n.ProseMirror-drop-target {\n position: absolute;\n width: 1px;\n background: #666;\n display: none;\n}\n\n.ProseMirror-content ul.tight p, .ProseMirror-content ol.tight p {\n margin: 0;\n}\n\n.ProseMirror-content ul, .ProseMirror-content ol {\n padding-left: 30px;\n cursor: default;\n}\n\n.ProseMirror-content blockquote {\n padding-left: 1em;\n border-left: 3px solid #eee;\n margin-left: 0; margin-right: 0;\n}\n\n.ProseMirror-content pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\n.ProseMirror-nodeselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-content p:first-child,\n.ProseMirror-content h1:first-child,\n.ProseMirror-content h2:first-child,\n.ProseMirror-content h3:first-child,\n.ProseMirror-content h4:first-child,\n.ProseMirror-content h5:first-child,\n.ProseMirror-content h6:first-child {\n margin-top: .3em;\n}\n\n/* Add space around the hr to make clicking it easier */\n\n.ProseMirror-content hr {\n position: relative;\n height: 6px;\n border: none;\n}\n\n.ProseMirror-content hr:after {\n content: "";\n position: absolute;\n left: 10px;\n right: 10px;\n top: 2px;\n border-top: 2px solid silver;\n}\n\n.ProseMirror-content img {\n cursor: default;\n}\n\n/* Make sure li selections wrap around markers */\n\n.ProseMirror-content li {\n position: relative;\n pointer-events: none; /* Don\'t do weird stuff with marker clicks */\n}\n.ProseMirror-content li > * {\n pointer-events: auto;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: "";\n position: absolute;\n left: -32px;\n right: -2px; top: -2px; bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n'); +},{"../dom":3}],9:[function(e,t,r){"use strict";function n(e,t,r){for(var n=r||0;n0)return!1;for(var r=t||0;r0)return!1;return!0}function i(e){for(var t=e.content,r=e.doc,i=e.selection,s=i.from,a=i.to,u=0;;u++){var l=r.child(a.path[u]),c=o(s,u+1),p=n(l,a,u+1);if(c||p||s.path[u]!=a.path[u]||l.isTextblock){var f=u==s.depth?s.offset:s.path[u];c&&f>0&&f--;var h=u==a.depth?a.offset:a.path[u]+1;p&&h=0;m--){var g=e.doc.path(s.path.slice(0,m));d=g.replace(s.path[m],d)}return d}r=l,t=(0,k.findByPath)(t,s.path[u],!1)}}function s(e){var t=i(e),r=(0,g.findDiffStart)(e.doc.content,t.content);if(r){var n=u(e.doc.content,t.content,r);return c(e,r,n),e.tr.replace(r,n.a,t,r,n.b).apply(),!0}return!1}function a(e,t,r){var n=(0,y.samePathDepth)(e,t),o=n==e.depth,i=n==t.depth,s=(i?t.offset:t.path[n])-(o?e.offset:e.path[n]),a=o?r.move(s):r.shorten(n,s);return i?a:a.extend(new g.Pos(t.path.slice(n),t.offset))}function u(e,t,r){var n=(0,g.findDiffEnd)(e,t);return n?n.a.cmp(r)<0?{a:r,b:a(n.a,r,n.b)}:n.b.cmp(r)<0?{a:a(n.b,r,n.a),b:r}:n:n}function l(e,t){for(var r=Math.min(e.depth,t.depth),n=0;r>n;n++)if(e.path[n]!=t.path[n])return n;return r}function c(e,t,r){var n=Math.min(l(t,r.a),l(t,r.b));if(0==n)e.markAllDirty();else{var o=g.Pos.from(t.path.slice(0,n));e.markRangeDirty({from:o,to:o.move(1)})}}function p(e){var t=window.getSelection().getRangeAt(0),r=t.startContainer,n=t.endContainer;if(r==n&&3==r.nodeType){var o=r.nodeValue,i=t.startOffset,s=t.endOffset;return e&&s>=e.length&&o.slice(s-e.length,s)==e&&(i=s-e.length),{inside:r,lead:i,trail:o.length-s}}for(var a=null,u=null,l=r.childNodes[t.startOffset-1]||d(r);l.lastChild;)l=l.lastChild;if(l&&3==l.nodeType){var o=l.nodeValue;a=o.length,e&&o.slice(o.length-e.length)==e&&(a-=e.length)}for(var c=n.childNodes[t.endOffset]||h(n);c.firstChild;)c=c.firstChild;return c&&3==c.nodeType&&(u=c.nodeValue.length),{before:l,sizeBefore:a,after:c,sizeAfter:u}}function f(e,t){if(e.inside){var r=e.inside.nodeValue;return r.slice(e.lead,r.length-e.trail)}var n=e.before,o=e.after,i="";if(!n)return t;3==n.nodeType&&(i=n.nodeValue.slice(e.sizeBefore));var s=m(n,o);if(null==s)return t;if(i+=s,o&&3==o.nodeType){var a=o.nodeValue;i+=a.slice(0,a.length-e.sizeAfter)}return i}function h(e){for(;;){var t=e.nextSibling;if(t){for(;t.firstChild;)t=t.firstChild;return t}if(!(e=e.parentElement))return null}}function d(e){for(;;){var t=e.previousSibling;if(t){for(;t.lastChild;)t=t.lastChild;return t}if(!(e=e.parentElement))return null}}function m(e,t){for(var r="",n=h(e);;){if(n==t)return r;if(!n)return null;3==n.nodeType&&(r+=n.nodeValue),n=n.firstChild||h(n)}}Object.defineProperty(r,"__esModule",{value:!0}),r.applyDOMChange=s,r.textContext=p,r.textInContext=f;var g=e("../model"),v=e("../format"),y=e("../transform/tree"),k=e("./dompos")},{"../format":22,"../model":38,"../transform/tree":52,"./dompos":10}],10:[function(e,t,r){"use strict";function n(e,t){for(var r=[];t!=e.content;){var n=t.getAttribute("pm-offset");n&&r.unshift(+n),t=t.parentNode}return r}function o(e){var t=e.getAttribute("pm-leaf");return t&&"true"!=t?+t:1}function i(e,t,r,i){!i&&e.operation&&e.doc!=e.operation.doc&&M.AssertionError.raise("Fetching a position from an outdated DOM structure"),null==r&&(r=Array.prototype.indexOf.call(t.parentNode.childNodes,t),t=t.parentNode);for(var s=0,a=void 0;;){var u=0;if(3==t.nodeType)s+=r;else{if(t.hasAttribute("pm-container"))break;(a=t.getAttribute("pm-inner-offset"))?(s+=+a,u=-1):r&&r==t.childNodes.length&&(u=1)}var l=t.parentNode;r=0>u?0:Array.prototype.indexOf.call(l.childNodes,t)+u,t=l}var c=n(e,t);if(t.hasAttribute("pm-leaf"))return x.Pos.from(c,s+(r?1:0));for(var p=0,f=r-1;f>=0;f--){var h=t.childNodes[f];if(3==h.nodeType)i&&(s+=h.nodeValue.length);else{if(a=h.getAttribute("pm-offset")){p=+a+o(h);break}i&&!h.hasAttribute("pm-ignore")&&(s+=h.textContent.length)}}return new x.Pos(c,p+s)}function s(e,t,r){for(var n=u(e),o=r?n.lastChild:n.firstChild;o;o=r?o.previousSibling:o.nextSibling)if(1==o.nodeType){var i=o.getAttribute("pm-offset");if(i&&+i==t)return o}}function a(e,t){for(var r=e,n=0;n=0&&(r?u>=a:u>a))return{node:i,offset:s,innerOffset:a}}}function c(e,t){for(;;){var r=e.firstChild;if(!r)return{node:e,offset:t};if(1!=r.nodeType)return{node:r,offset:t};if(r.hasAttribute("pm-inner-offset")){for(var n=0;;){var o=r.nextSibling,i=void 0;if(!o||(i=+o.getAttribute("pm-inner-offset"))>=t)break;r=o,n=i}t-=n}e=r}}function p(e,t){var r=u(a(e,t.path)),n=l(r,t.offset,!0),o=void 0;return n?"true"!=n.node.getAttribute("pm-leaf")&&(o=c(n.node,n.innerOffset))?o:{node:n.node.parentNode,offset:n.offset+(n.innerOffset?1:0)}:{node:r,offset:0}}function f(){return{left:0,right:window.innerWidth,top:0,bottom:window.innerHeight}}function h(e,t){t||(t=e.sel.range.head||e.sel.range.from);for(var r=k(e,t),n=e.content;;n=n.parentNode){var o=n==document.body,i=o?f():n.getBoundingClientRect(),s=0,a=0;if(r.topi.bottom&&(a=r.bottom-i.bottom+S),r.lefti.right&&(s=r.right-i.right+S),s||a?o&&window.scrollBy(s,a):(a&&(n.scrollTop+=a),s&&(n.scrollLeft+=s)),o)break}}function d(e,t){for(var r=void 0,n=1e8,o=void 0,i=0,s=e.firstChild;s;s=s.nextSibling){var a=void 0;if(1==s.nodeType)a=s.getClientRects();else{if(3!=s.nodeType)continue;a=y(s)}for(var u=0;u=t.left){var c=l.top>t.top?l.top-t.top:l.bottomc){r=s,n=c,o=c?{left:t.left,top:l.top}:t,1!=s.nodeType||s.firstChild||(i=u+(t.left>=(l.left+l.right)/2?1:0));continue}}!r&&(t.top>=l.bottom||t.top>=l.top&&t.left>=l.right)&&(i=u+1)}}return r?3==r.nodeType?m(r,o):r.firstChild?d(r,o):{node:e,offset:i}:{node:e,offset:i}}function m(e,t){for(var r=e.nodeValue.length,n=document.createRange(),o=0;r>o;o++){n.setEnd(e,o+1),n.setStart(e,o);var i=n.getBoundingClientRect();if(i.top!=i.bottom&&i.left<=t.left&&i.right>=t.left&&i.top<=t.top&&i.bottom>=t.top)return{node:e,offset:o+(t.left>=(i.left+i.right)/2?1:0)}}return{node:e,offset:0}}function g(e,t){var r=document.elementFromPoint(t.left,t.top+1);if(!(0,C.contains)(e.content,r))return null;r.firstChild||(r=r.parentNode);var n=d(r,t),o=n.node,s=n.offset;return i(e,o,s)}function v(e,t,r){var n=document.createRange();return n.setEnd(e,r),n.setStart(e,t),n.getBoundingClientRect()}function y(e){var t=document.createRange();return t.setEnd(e,e.nodeValue.length),t.setStart(e,0),t.getClientRects()}function k(e,t){var r=p(e.content,t),n=r.node,o=r.offset,i=void 0,s=void 0;if(3==n.nodeType)oe;)this.addNextMap()}},{key:"addNextMap",value:function(){var e=this.branch.mirror[this.version],t=this.branch.maps.length-(this.branch.version-this.version)-1,r=this.remap.addToFront(this.branch.maps[t],this.mirrorBuffer[this.version]);return--this.version,null!=e&&(this.mirrorBuffer[e]=r),r}},{key:"movePastStep",value:function(e){var t=this.addNextMap();e&&this.remap.addToBack(e.map,t)}}]),e}(),c=100,p=150,f=function(){function e(t,r,o){n(this,e),this.branch=r,this.callback=o,this.remap=new l(r),this.doc=t,this.events=[],this.maps=[],this.version=this.startVersion=r.version,this.i=r.events.length,this.timeout=null,this.aborted=!1}return i(e,[{key:"work",value:function(){var e=this;if(!this.aborted)for(var t=Date.now()+c;;){if(0==this.i)return this.finish();for(var r=this.branch.events[--this.i],n=[],i=r.length-1;i>=0;i--){var s=r[i],l=s.step,f=s.version,h=s.id;this.remap.moveToVersion(f);var d=l.map(this.remap.remap);if(d&&o(l)){for(var m=0,g=l.from;i>0;){var v=r[i-1];if(v.version!=f-1||!o(v.step)||g.cmp(v.step.to))break;m+=v.step.to.offset-v.step.from.offset,g=v.step.from,f--,i--,this.remap.addNextMap()}if(m>0){var y=d.from.move(-m);d=new a.Step("replace",y,d.to,y)}}var k=d&&d.apply(this.doc);k&&(this.doc=k.doc,this.maps.push(k.map.invert()),n.push(new u(d,this.version,h)),this.version--),this.remap.movePastStep(k)}if(n.length&&(n.reverse(),this.events.push(n)),Date.now()>t)return void(this.timeout=window.setTimeout(function(){return e.work()},p))}}},{key:"finish",value:function(){this.aborted||(this.events.reverse(),this.maps.reverse(),this.callback(this.maps.concat(this.branch.maps.slice(this.branch.maps.length-(this.branch.version-this.startVersion))),this.events))}},{key:"abort",value:function(){this.aborted=!0,window.clearTimeout(this.timeout)}}]),e}(),h=150,d=function(){function e(t){n(this,e),this.maxDepth=t,this.version=0,this.nextStepID=1,this.maps=[],this.mirror=Object.create(null),this.events=[],this.stepsSinceCompress=0,this.compressing=null,this.compressTimeout=null}return i(e,[{key:"clear",value:function(e){(e||!this.empty())&&(this.maps.length=this.events.length=this.stepsSinceCompress=0,this.mirror=Object.create(null),this.abortCompression())}},{key:"newEvent",value:function(){for(this.abortCompression(),this.events.push([]);this.events.length>this.maxDepth;)this.events.shift()}},{key:"addMap",value:function(e){return this.empty()?void 0:(this.maps.push(e),this.version++,this.stepsSinceCompress++,!0)}},{key:"empty",value:function(){return 0==this.events.length}},{key:"addStep",value:function(e,t,r){this.addMap(t),null==r&&(r=this.nextStepID++),this.events[this.events.length-1].push(new u(e,this.version,r))}},{key:"addTransform",value:function(e,t){this.abortCompression();for(var r=0;r=0;u--){var c=r[u],p=c.step;if(o&&c.version==n.version)this.version--,delete this.mirror[this.version],this.maps.pop(),i.step(p),s.push(c.id),--n.version;else{o=!1,n.moveToVersion(c.version),p=p.map(n.remap);var f=p&&i.step(p);f&&(s.push(c.id),this.addMap(f.map)&&(this.mirror[this.version]=c.version)),u>0&&n.movePastStep(f)}}return this.empty()&&this.clear(!0),{transform:i,ids:s}}},{key:"lastStep",value:function(){for(var e=this.events.length-1;e>=0;e--){var t=this.events[e];if(t.length)return t[t.length-1]}}},{key:"getVersion",value:function(){var e=this.lastStep();return{lastID:e&&e.id,version:this.version}}},{key:"isAtVersion",value:function(e){var t=this.lastStep();return this.version==e.version&&(t&&t.id)==e.lastID}},{key:"findVersion",value:function(e){for(var t=this.events.length-1;t>=0;t--)for(var r=this.events[t],n=r.length-1;n>=0;n--)if(r[n].id<=e.lastID)return{event:t,step:n+1}}},{key:"rebased",value:function(e,t,r){if(!this.empty()){this.abortCompression();var n=this.version-r.length;e:for(var o=this.events.length-1;o>=0;o--)for(var i=this.events[o],s=i.length-1;s>=0;s--){var a=i[s];if(a.version<=n)break e;var l=r[a.version-n-1];if(-1==l)i.splice(s--,1);else{var c=t.steps[l].invert(t.docs[l],t.maps[l]);i[s]=new u(c,n+e.length+l+1,a.id)}}this.maps.length>r.length?this.maps=this.maps.slice(0,this.maps.length-r.length).concat(e).concat(t.maps):this.maps=t.maps.slice(),this.version=n+e.length+t.maps.length,this.stepsSinceCompress+=e.length+t.steps.length-r.length}}},{key:"abortCompression",value:function(){this.compressing&&(this.compressing.abort(),this.compressing=null)}},{key:"needsCompression",value:function(){return this.stepsSinceCompress>h&&!this.compressing}},{key:"startCompression",value:function(e){var t=this;this.compressing=new f(e,this,function(e,r){t.maps=e,t.events=r,t.mirror=Object.create(null),t.compressing=null,t.stepsSinceCompress=0}),this.compressing.work()}}]),e}(),m=750;r.History=function(){function e(t){var r=this;n(this,e),this.pm=t,this.done=new d(t.options.historyDepth),this.undone=new d(t.options.historyDepth),this.lastAddedAt=0,this.ignoreTransform=!1,this.allowCollapsing=!0,t.on("transform",function(e,t){return r.recordTransform(e,t)})}return i(e,[{key:"recordTransform",value:function(e,t){if(!this.ignoreTransform){if(0==t.addToHistory)for(var r=0;rthis.lastAddedAt+this.pm.options.historyEventDelay&&this.done.newEvent(),this.done.addTransform(e),this.lastAddedAt=o}this.maybeScheduleCompression()}}},{key:"undo",value:function(){return this.shift(this.done,this.undone)}},{key:"redo",value:function(){return this.shift(this.undone,this.done)}},{key:"shift",value:function(e,t){var r=e.popEvent(this.pm.doc,this.allowCollapsing);if(!r)return!1;var n=r.transform,o=r.ids;return this.ignoreTransform=!0,this.pm.apply(n),this.ignoreTransform=!1,n.steps.length?(t&&(t.newEvent(),t.addTransform(n,o)),this.lastAddedAt=0,!0):this.shift(e,t)}},{key:"getVersion",value:function(){return this.done.getVersion()}},{key:"isAtVersion",value:function(e){return this.done.isAtVersion(e)}},{key:"backToVersion",value:function(e){var t=this.done.findVersion(e);if(!t)return!1;var r=this.done.events[t.event];if(t.event==this.done.events.length-1&&t.step==r.length)return!0;var n=this.done.events.slice(t.event+1).reduce(function(e,t){return e.concat(t)},r.slice(t.step));return this.done.events.length=t.event+((r.length=t.step)?1:0),this.done.events.push(n),this.shift(this.done),!0}},{key:"rebased",value:function(e,t,r){this.done.rebased(e,t,r),this.undone.rebased(e,t,r),this.maybeScheduleCompression()}},{key:"maybeScheduleCompression",value:function(){this.maybeScheduleCompressionForBranch(this.done),this.maybeScheduleCompressionForBranch(this.undone)}},{key:"maybeScheduleCompressionForBranch",value:function(e){var t=this;window.clearTimeout(e.compressTimeout),e.needsCompression()&&(e.compressTimeout=window.setTimeout(function(){e.needsCompression()&&e.startCompression(t.pm.doc)},m))}},{key:"undoDepth",get:function(){return this.done.events.length}},{key:"redoDepth",get:function(){return this.undone.events.length}}]),e}()},{"../model":38,"../transform":44}],13:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(r,"__esModule",{value:!0}),r.Keymap=r.baseCommands=r.Command=r.CommandSet=r.MarkedRange=r.SelectionError=r.Range=r.defineOption=r.ProseMirror=void 0;var o=e("./main");Object.defineProperty(r,"ProseMirror",{enumerable:!0,get:function(){return o.ProseMirror}});var i=e("./options");Object.defineProperty(r,"defineOption",{enumerable:!0,get:function(){return i.defineOption}});var s=e("./selection");Object.defineProperty(r,"Range",{enumerable:!0,get:function(){return s.Range}}),Object.defineProperty(r,"SelectionError",{enumerable:!0,get:function(){return s.SelectionError}});var a=e("./range");Object.defineProperty(r,"MarkedRange",{enumerable:!0,get:function(){return a.MarkedRange}});var u=e("./command");Object.defineProperty(r,"CommandSet",{enumerable:!0,get:function(){return u.CommandSet}}),Object.defineProperty(r,"Command",{enumerable:!0,get:function(){return u.Command}});var l=e("./base_commands");Object.defineProperty(r,"baseCommands",{enumerable:!0,get:function(){return l.baseCommands}}),e("./schema_commands");var c=e("browserkeymap"),p=n(c);r.Keymap=p["default"]},{"./base_commands":4,"./command":7,"./main":15,"./options":16,"./range":17,"./schema_commands":18,"./selection":19,browserkeymap:60}],14:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,r){var n=e.input.keySeq;if(n){if(g["default"].isModifierKey(t))return!0;clearTimeout(C),C=setTimeout(function(){e.input.keySeq==n&&(e.input.keySeq=null)},50),t=n+" "+t}for(var o=function a(t){if(t===!1)return"nothing";if("..."==t)return"multi";if(null==t)return!1;var r=!1;if(Array.isArray(t))for(var n=0;r===!1&&n=i.depth&&0==r.shorten(i.depth).cmp(i)){if(0==i.depth)return e.sel.fastPoll();r=i.shorten()}e.setNodeSelection(r),e.focus(),t.preventDefault()}function u(e,t){t.preventDefault();var r=(0,x.selectableNodeAbove)(e,t.target,{left:t.clientX,top:t.clientY},!0);if(r){var n=e.doc.nodeAfter(r);if(n.isBlock&&!n.isTextblock)e.setNodeSelection(r);else{var o=n.isInline?r.path:r.toPath();n.isInline&&(n=e.doc.path(o)),e.setTextSelection(new v.Pos(o,0),new v.Pos(o,n.size))}e.focus()}}function l(e){var t=e.input.composing,r=(0,w.textInContext)(t.context,t.endData),n=(0,_.rangeFromDOMLoose)(e);e.ensureOperation(),e.input.composing=null,r!=t.data&&s(e,t.range,r),n&&!n.eq(e.sel.range)&&e.setSelectionDirect(n)}function c(e,t,r,n){var o=e.sliceBetween(t,r),i='
'+(0,y.toHTML)(o)+"
";n.clearData(),n.setData("text/html",i),n.setData("text/plain",(0,y.toText)(o))}function p(e,t,r){var n=t.getData("text/plain"),o=t.getData("text/html");if(!o&&!n)return null;var i=void 0,s=void 0,a=void 0;if(!r&&o||!n){var u=document.createElement("div");u.innerHTML=e.signalPipelined("transformPastedHTML",o);var l=u.querySelector("[pm-sides]"),c=void 0;l&&(c=/^(\d+) (\d+)$/.exec(l.getAttribute("pm-sides")))?(i=(0,y.fromDOM)(e.schema,l),s=f(i,+c[1]),a=h(i,+c[2])):i=(0,y.fromDOM)(e.schema,u)}else i=(0,y.parseFrom)(e.schema,e.signalPipelined("transformPastedText",n),!r&&(0,y.knownSource)("markdown")?"markdown":"text");return{doc:i,from:s||(0,_.findSelectionAtStart)(i).from,to:a||(0,_.findSelectionAtEnd)(i).to}}function f(e,t){for(var r=[],n=0,o=e;t>n&&(o=o.firstChild);n++)r.push(0);return new v.Pos(r,0)}function h(e,t){for(var r=[],n=e,o=0;t>o&&n.size;o++)r.push(n.size-1),n=n.lastChild;return new v.Pos(r,n.size)}var d=function(){function e(e,t){for(var r=0;rr-S,o=600>r-A;A=S,S=r,o?u(e,t):e.input.mouseDown=new O(e,t,n)};var O=function(){function e(t,r,n){o(this,e),this.pm=t,this.event=r,this.leaveToBrowser=t.input.shiftKey||n;var i=(0,x.pathFromDOM)(t,r.target),s=t.doc.path(i);this.mightDrag=s.type.draggable||s==t.sel.range.node?i:null,this.mightDrag&&(r.target.draggable=!0,b.browser.gecko&&(this.setContentEditable=!r.target.hasAttribute("contentEditable"))&&r.target.setAttribute("contentEditable","false")),this.x=r.clientX,this.y=r.clientY,window.addEventListener("mouseup",this.up=this.up.bind(this)),window.addEventListener("mousemove",this.move=this.move.bind(this)),t.sel.fastPoll()}return d(e,[{key:"done",value:function(){window.removeEventListener("mouseup",this.up),window.removeEventListener("mousemove",this.move),this.mightDrag&&(this.event.target.draggable=!1,b.browser.gecko&&this.setContentEditable&&this.event.target.removeAttribute("contentEditable"))}},{key:"up",value:function(){if(this.done(),this.leaveToBrowser)this.pm.sel.fastPoll();else if(this.event.ctrlKey)a(this.pm,this.event);else if(!(0,x.handleNodeClick)(this.pm,"handleClick",this.event,!0)){var e=(0,x.selectableNodeAbove)(this.pm,this.event.target,{left:this.x,top:this.y});e?(this.pm.setNodeSelection(e),this.pm.focus()):this.pm.sel.fastPoll()}}},{key:"move",value:function(e){!this.leaveToBrowser&&(Math.abs(this.x-e.clientX)>4||Math.abs(this.y-e.clientY)>4)&&(this.leaveToBrowser=!0),this.pm.sel.fastPoll()}}]),e}();M.touchdown=function(e){e.sel.fastPoll()},M.contextmenu=function(e,t){(0,x.handleNodeClick)(e,"handleContextMenu",t,!1)};var P=function T(e,t){o(this,T),this.finished=!1,this.context=(0,w.textContext)(t),this.data=t,this.endData=null;var r=e.selection;if(t){var n=r.head.path,i=e.doc.path(n).textContent,s=i.indexOf(t,r.head.offset-t.length);s>-1&&s<=r.head.offset+t.length&&(r=new _.TextSelection(new v.Pos(n,s),new v.Pos(n,s+t.length)))}this.range=r};M.compositionstart=function(e,t){if(!e.input.maybeAbortComposition()){e.flush(),e.input.composing=new P(e,t.data);var r=e.selection.head.shorten();e.markRangeDirty({from:r,to:r.move(1)})}},M.compositionupdate=function(e,t){var r=e.input.composing;r&&r.data!=t.data&&(r.data=t.data,e.input.updatingComposition=!0,s(e,r.range,r.data),e.input.updatingComposition=!1,r.range=new _.TextSelection(r.range.from,r.range.from.move(r.data.length)))},M.compositionend=function(e,t){var r=e.input.composing;r&&(e.input.composing.finished=!0,e.input.composing.endData=t.data,setTimeout(function(){e.input.composing==r&&l(e)},20))},M.input=function(e){return e.input.skipInput?--e.input.skipInput:e.input.composing?void(e.input.composing.finished&&l(e)):(e.startOperation({readSelection:!1}),(0,w.applyDOMChange)(e),void e.scrollIntoView())},M.copy=M.cut=function(e,t){var r=e.selection,n=r.from,o=r.to,i=r.empty;!i&&t.clipboardData&&(c(e.doc,n,o,t.clipboardData),t.preventDefault(),"cut"!=t.type||i||e.tr["delete"](n,o).apply())},M.paste=function(e,t){if(t.clipboardData){var r=e.selection,n=p(e,t.clipboardData,e.input.shiftKey);n&&(t.preventDefault(),e.tr.replace(r.from,r.to,n.doc,n.from,n.to).apply(),e.scrollIntoView())}},M.dragstart=function(e,t){var r=e.input.mouseDown;if(r&&r.done(),t.dataTransfer){var n=e.selection,o=n.from,i=n.to,s=n.empty,a=void 0,u=!s&&e.posAtCoords({left:t.clientX,top:t.clientY});if(u&&u.cmp(o)>=0&&u.cmp(i)<=0)a={from:o,to:i};else if(r&&r.mightDrag){var l=v.Pos.from(r.mightDrag);a={from:l,to:l.move(1)}}a&&(e.input.draggingFrom=a,c(e.doc,a.from,a.to,t.dataTransfer))}},M.dragend=function(e){return window.setTimeout(function(){return e.input.draggingFrom=!1},50)},M.dragover=M.dragenter=function(e,t){t.preventDefault();var r=e.posAtCoords({left:t.clientX,top:t.clientY});if(r){var n=(0,x.coordsAtPos)(e,r),o=e.wrapper.getBoundingClientRect();n.top-=o.top,n.right-=o.left,n.bottom-=o.top,n.left-=o.left;var i=e.input.dropTarget;i.style.display="block",i.style.left=n.left-1+"px",i.style.top=n.top+"px",i.style.height=n.bottom-n.top+"px"}},M.dragleave=function(e){return e.input.dropTarget.style.display=""},M.drop=function(e,t){if(e.input.dropTarget.style.display="",t.dataTransfer&&!e.signalDOM(t)){var r=p(e,t.dataTransfer);if(r){t.preventDefault();var n=e.posAtCoords({left:t.clientX,top:t.clientY}),o=n;if(!n)return;var i=e.tr;e.input.draggingFrom&&!t.ctrlKey&&(i["delete"](e.input.draggingFrom.from,e.input.draggingFrom.to),n=i.map(n).pos),i.replace(n,n,r.doc,r.from,r.to).apply();var s=i.map(o).pos;v.Pos.samePath(n.path,s.path)&&s.offset==n.offset+1&&e.doc.nodeAfter(n).type.selectable?e.setNodeSelection(n):e.setTextSelection(n,s),e.focus()}}},M.focus=function(e){e.wrapper.classList.add("ProseMirror-focused"),e.signal("focus")},M.blur=function(e){e.wrapper.classList.remove("ProseMirror-focused"),e.signal("blur")}},{"../dom":3,"../format":22,"../model":38,"./capturekeys":5,"./domchange":9,"./dompos":10,"./selection":19,browserkeymap:60}],15:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var r=0;r=t.size&&b.SelectionError.raise("Trying to set a node selection at the end of a node");var r=t.child(e.offset);r.type.selectable||b.SelectionError.raise("Trying to select a non-selectable node"),this.input.maybeAbortComposition(),this.sel.setAndSignal(new b.NodeSelection(e,e.move(1),r))}},{key:"setSelection",value:function(e){e instanceof b.TextSelection?(this.checkPos(e.head,!0),e.empty||this.checkPos(e.anchor,!0)):this.checkPos(e.to,!1),this.setSelectionDirect(e)}},{key:"setSelectionDirect",value:function(e){this.ensureOperation(),this.input.maybeAbortComposition(),e.eq(this.sel.range)||this.sel.setAndSignal(e)}},{key:"setContent",value:function(e,t){t&&(e=(0,y.parseFrom)(this.schema,e,t)),this.setDoc(e)}},{key:"getContent",value:function(e){return e?(0,y.serializeTo)(this.doc,e):this.doc}},{key:"setDocInner",value:function(e){e.type!=this.schema.nodes.doc&&d.AssertionError.raise("Trying to set a document with a different schema"),this.doc=e,this.ranges=new M.RangeStore(this),this.history=new C.History(this)}},{key:"setDoc",value:function(e,t){t||(t=(0,b.findSelectionAtStart)(e)),this.signal("beforeSetDoc",e,t),this.ensureOperation(),this.setDocInner(e),this.sel.set(t,!0),this.signal("setDoc",e,t)}},{key:"updateDoc",value:function(e,t,r){this.ensureOperation(),this.input.maybeAbortComposition(),this.ranges.transform(t),this.doc=e,this.sel.setAndSignal(r||this.sel.range.map(e,t)),this.signal("change")}},{key:"apply",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?P:arguments[1];return e.doc==this.doc?!1:(e.docs[0]!=this.doc&&(0,c.findDiffStart)(e.docs[0],this.doc)&&d.AssertionError.raise("Applying a transform that does not start with the current document"),this.updateDoc(e.doc,e,t.selection),this.signal("transform",e,t),t.scrollIntoView&&this.scrollIntoView(),e)}},{key:"checkPos",value:function(e,t){e.isValid(this.doc,t)||d.AssertionError.raise("Position "+e+" is not valid in current document")}},{key:"ensureOperation",value:function(){return this.operation||this.startOperation()}},{key:"startOperation",value:function(e){var t=this;return this.operation=new T(this),e&&e.readSelection===!1||!this.sel.readFromDOM()||(this.operation.sel=this.sel.range),this.flushScheduled||((0,v.requestAnimationFrame)(function(){t.flushScheduled=!1,t.flush()}),this.flushScheduled=!0),this.operation}},{key:"flush",value:function(){if(document.body.contains(this.wrapper)&&this.operation){this.signal("flushing");var e=this.operation;if(e){this.operation=null,this.accurateSelection=!0;var t=e.doc!=this.doc||this.dirtyNodes.size,r=!1;this.input.composing||!t&&!e.composingAtStart||((0,_.redraw)(this,this.dirtyNodes,this.doc,e.doc),this.dirtyNodes.clear(),r=!0),((r||!e.sel.eq(this.sel.range))&&!this.input.composing||e.focus)&&this.sel.toDOM(e.focus),e.scrollIntoView!==!1&&(0,w.scrollIntoView)(this,e.scrollIntoView),t&&this.signal("draw"),this.signal("flush"),this.accurateSelection=!1}}}},{key:"addKeymap",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?50:arguments[1];(0,h["default"])(this.input.keymaps,{map:e,rank:t},function(e,t){return e.rank-t.rank})}},{key:"removeKeymap",value:function(e){for(var t=this.input.keymaps,r=0;r-1:i==e)return this.commandKeys[e]=o}for(var s in n.bindings){var a=n.bindings[s];if(Array.isArray(a)?a.indexOf(e)>-1:a==e)return this.commandKeys[e]=s}return this.commandKeys[e]=null}},{key:"markRangeDirty",value:function(e){this.ensureOperation();for(var t=this.dirtyNodes,r=e.from,n=e.to,o=0,i=this.doc;;o++){var s=o==r.depth,a=o==n.depth;if(s||a||r.path[o]!=n.path[o]){var u=function(){var e=s?r.offset:r.path[o],u=a?n.offset:n.path[o]+1;if(i.isTextblock)i.forEach(function(r,n,o){u>n&&o>e&&t.set(r,O)});else for(var l,c=i.iter(e,u);l=c.next().value;)t.set(l,O);return"break"}();if("break"===u)break}else{var l=i.child(r.path[o]);t.has(l)||t.set(l,A),i=l}}}},{key:"markAllDirty",value:function(){this.dirtyNodes.set(this.doc,O)}},{key:"selection",get:function(){return this.accurateSelection||this.ensureOperation(),this.sel.range}},{key:"tr",get:function(){return new E(this)}}]),e}();S.prototype.apply.scroll={scrollIntoView:!0};var A=r.DIRTY_RESCAN=1,O=r.DIRTY_REDRAW=2,P={};(0,g.eventMixin)(S);var T=function D(e){s(this,D),this.doc=e.doc,this.sel=e.sel.range,this.scrollIntoView=!1,this.focus=!1,this.composingAtStart=!!e.input.composing},E=function(e){function t(e){s(this,t);var r=o(this,Object.getPrototypeOf(t).call(this,e.doc));return r.pm=e,r}return i(t,e),a(t,[{key:"apply",value:function(e){return this.pm.apply(this,e)}},{key:"replaceSelection",value:function(e,t){var r=this.selection,n=r.empty,o=r.from,i=r.to,s=r.node,a=void 0;if(e&&e.isInline&&t!==!1){var u=n?this.pm.input.storedMarks:this.doc.marksAt(o);e=e.type.create(e.attrs,e.text,u)}if(s&&s.isTextblock&&e&&e.isInline)o=new c.Pos(o.toPath(),0),i=new c.Pos(o.path,s.size);else if(s)for(;o.depth&&0==o.offset&&(a=this.doc.path(o.path))&&o.offset==a.size-1&&!a.type.canBeEmpty&&(!e||!a.type.canContain(e));)o=o.shorten(),i=i.shorten(null,1);else if(e&&e.isBlock&&this.doc.path(o.path.slice(0,o.depth-1)).type.canContain(e)){this["delete"](o,i);var l=this.doc.path(o.path);return o.offset&&o.offset!=l.size&&this.split(o),this.insert(o.shorten(null,o.offset?1:0),e)}return e?this.replaceWith(o,i,e):this["delete"](o,i)}},{key:"deleteSelection",value:function(){return this.replaceSelection()}},{key:"typeText",value:function(e){return this.replaceSelection(this.pm.schema.text(e),!0)}},{key:"selection",get:function(){return this.steps.length?this.pm.selection.map(this):this.pm.selection}}]),t}(p.Transform)},{"../dom":3,"../format":22,"../model":38,"../transform":44,"../util/error":55,"../util/event":56,"../util/map":57,"../util/sortedinsert":59,"./css":8,"./dompos":10,"./draw":11,"./history":12,"./input":14,"./options":16,"./range":17,"./selection":19,browserkeymap:60}],16:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,r,n){h[e]=new f(t,r,n)}function i(e){var t=Object.create(null),r=e?[e].concat(e.use||[]):[];e:for(var n in h){for(var o=0;or){for(var n=t;r>n;n++)if(this.sorted[n].at.cmp(e)>=0)return n;return r}var o=t+r>>1;this.sorted[o].at.cmp(e)>0?r=o:t=o}}},{key:"insert",value:function(e){this.sorted.splice(this.find(e.at),0,e)}},{key:"remove",value:function(e,t){for(var r=this.find(e),n=0;;n++){var o=r-n-1,i=r+n;if(o>=0&&this.sorted[o].range==t)return void this.sorted.splice(o,1);if(i0&&this.sorted[n-1].at.cmp(r)>0;)this.sorted[n]=this.sorted[n-1],this.sorted[--n]=t}}]),e}(),u=(r.RangeStore=function(){function e(t){n(this,e),this.pm=t,this.ranges=[],this.sorted=new a}return o(e,[{key:"addRange",value:function(e){this.ranges.push(e),this.sorted.insert({type:"open",at:e.from,range:e}),this.sorted.insert({type:"close",at:e.to,range:e}),this.pm.markRangeDirty(e)}},{key:"removeRange",value:function(e){var t=this.ranges.indexOf(e);t>-1&&(this.ranges.splice(t,1),this.sorted.remove(e.from,e),this.sorted.remove(e.to,e),this.pm.markRangeDirty(e),e.remove())}},{key:"transform",value:function(e){for(var t=0;t=0?(this.removeRange(r),t--):n>0&&(r.to=r.from)}this.sorted.resort()}},{key:"activeRangeTracker",value:function(){return new u(this.sorted.sorted)}}]),e}(),function(){function e(t){n(this,e),this.sorted=t,this.pos=0,this.current=[]}return o(e,[{key:"advanceTo",value:function(e){for(var t=void 0;this.pos=0?null:t.at.offset;this.pos++}}}]),e}())},{"../util/event":56}],18:[function(e,t,r){"use strict";var n=e("../model"),o=e("./command"),i=e("../format");n.StrongMark.register("command","set",{derive:!0,label:"Set strong"}),n.StrongMark.register("command","unset",{derive:!0,label:"Unset strong"}),n.StrongMark.register("command","toggle",{derive:!0,label:"Toggle strong",menu:{group:"inline",rank:20,display:{type:"icon",width:805,height:1024,path:"M317 869q42 18 80 18 214 0 214-191 0-65-23-102-15-25-35-42t-38-26-46-14-48-6-54-1q-41 0-57 5 0 30-0 90t-0 90q0 4-0 38t-0 55 2 47 6 38zM309 442q24 4 62 4 46 0 81-7t62-25 42-51 14-81q0-40-16-70t-45-46-61-24-70-8q-28 0-74 7 0 28 2 86t2 86q0 15-0 45t-0 45q0 26 0 39zM0 950l1-53q8-2 48-9t60-15q4-6 7-15t4-19 3-18 1-21 0-19v-37q0-561-12-585-2-4-12-8t-25-6-28-4-27-2-17-1l-2-47q56-1 194-6t213-5q13 0 39 0t38 0q40 0 78 7t73 24 61 40 42 59 16 78q0 29-9 54t-22 41-36 32-41 25-48 22q88 20 146 76t58 141q0 57-20 102t-53 74-78 48-93 27-100 8q-25 0-75-1t-75-1q-60 0-175 6t-132 6z"}},keys:["Mod-B"]}),n.EmMark.register("command","set",{derive:!0,label:"Add emphasis"}),n.EmMark.register("command","unset",{derive:!0,label:"Remove emphasis"}),n.EmMark.register("command","toggle",{derive:!0,label:"Toggle emphasis",menu:{group:"inline",rank:21,display:{type:"icon",width:585,height:1024,path:"M0 949l9-48q3-1 46-12t63-21q16-20 23-57 0-4 35-165t65-310 29-169v-14q-13-7-31-10t-39-4-33-3l10-58q18 1 68 3t85 4 68 1q27 0 56-1t69-4 56-3q-2 22-10 50-17 5-58 16t-62 19q-4 10-8 24t-5 22-4 26-3 24q-15 84-50 239t-44 203q-1 5-7 33t-11 51-9 47-3 32l0 10q9 2 105 17-1 25-9 56-6 0-18 0t-18 0q-16 0-49-5t-49-5q-78-1-117-1-29 0-81 5t-69 6z"}},keys:["Mod-I"]}),n.CodeMark.register("command","set",{derive:!0,label:"Set code style"}),n.CodeMark.register("command","unset",{derive:!0,label:"Remove code style"}),n.CodeMark.register("command","toggle",{derive:!0,label:"Toggle code style",menu:{group:"inline",rank:22,display:{type:"icon",width:896,height:1024,path:"M608 192l-96 96 224 224-224 224 96 96 288-320-288-320zM288 192l-288 320 288 320 96-96-224-224 224-224-96-96z"}},keys:["Mod-`"]});var s={type:"icon",width:951,height:1024,path:"M832 694q0-22-16-38l-118-118q-16-16-38-16-24 0-41 18 1 1 10 10t12 12 8 10 7 14 2 15q0 22-16 38t-38 16q-8 0-15-2t-14-7-10-8-12-12-10-10q-18 17-18 41 0 22 16 38l117 118q15 15 38 15 22 0 38-14l84-83q16-16 16-38zM430 292q0-22-16-38l-117-118q-16-16-38-16-22 0-38 15l-84 83q-16 16-16 38 0 22 16 38l118 118q15 15 38 15 24 0 41-17-1-1-10-10t-12-12-8-10-7-14-2-15q0-22 16-38t38-16q8 0 15 2t14 7 10 8 12 12 10 10q18-17 18-41zM941 694q0 68-48 116l-84 83q-47 47-116 47-69 0-116-48l-117-118q-47-47-47-116 0-70 50-119l-50-50q-49 50-118 50-68 0-116-48l-118-118q-48-48-48-116t48-116l84-83q47-47 116-47 69 0 116 48l117 118q47 47 47 116 0 70-50 119l50 50q49-50 118-50 68 0 116 48l118 118q48 48 48 116z"};n.LinkMark.register("command","unset",{derive:!0,label:"Unlink",menu:{group:"inline",rank:30,display:s},active:function(){return!0}}),n.LinkMark.register("command","set",{derive:{inverseSelect:!0,params:[{label:"Target",attr:"href"},{label:"Title",attr:"title"}]},label:"Add link",menu:{group:"inline",rank:30,display:s}}),n.Image.register("command","insert",{derive:{params:[{label:"Image URL",attr:"src"},{label:"Description / alternative text",attr:"alt",prefill:function(e){return(0,o.selectedNodeAttr)(e,this,"alt")||(0,i.toText)(e.doc.sliceBetween(e.selection.from,e.selection.to))}},{label:"Title",attr:"title"}]},label:"Insert image",menu:{group:"insert",rank:20,display:{type:"label",label:"Image"}}}),n.BulletList.register("command","wrap",{derive:{list:!0},label:"Wrap the selection in a bullet list",menu:{group:"block",rank:40,display:{type:"icon",width:768,height:896,path:"M0 512h128v-128h-128v128zM0 256h128v-128h-128v128zM0 768h128v-128h-128v128zM256 512h512v-128h-512v128zM256 256h512v-128h-512v128zM256 768h512v-128h-512v128z"}},keys:["Alt-Right '*'","Alt-Right '-'"]}),n.OrderedList.register("command","wrap",{derive:{list:!0},label:"Wrap the selection in an ordered list",menu:{group:"block",rank:41,display:{type:"icon",width:768,height:896,path:"M320 512h448v-128h-448v128zM320 768h448v-128h-448v128zM320 128v128h448v-128h-448zM79 384h78v-256h-36l-85 23v50l43-2v185zM189 590c0-36-12-78-96-78-33 0-64 6-83 16l1 66c21-10 42-15 67-15s32 11 32 28c0 26-30 58-110 112v50h192v-67l-91 2c49-30 87-66 87-113l1-1z"}},keys:["Alt-Right '1'"]}),n.BlockQuote.register("command","wrap",{derive:!0,label:"Wrap the selection in a block quote",menu:{group:"block",rank:45,display:{type:"icon",width:640,height:896,path:"M0 448v256h256v-256h-128c0 0 0-128 128-128v-128c0 0-256 0-256 256zM640 320v-128c0 0-256 0-256 256v256h256v-256h-128c0 0 0-128 128-128z"}},keys:["Alt-Right '>'","Alt-Right '\"'"]}),n.HardBreak.register("command","insert",{label:"Insert hard break",run:function(e){var t=e.selection,r=t.node,n=t.from;return r&&r.isBlock?!1:e.doc.path(n.path).type.isCode?e.tr.typeText("\n").apply(e.apply.scroll):e.tr.replaceSelection(this.create()).apply(e.apply.scroll)},keys:["Mod-Enter","Shift-Enter"]}),n.ListItem.register("command","split",{label:"Split the current list item",run:function(e){var t=e.selection,r=t.from,o=t.to,i=t.node;if(i&&i.isBlock||r.path.length<2||!n.Pos.samePath(r.path,o.path))return!1;var s=r.shorten(),a=e.doc.path(s.path);if(a.type!=this)return!1;var u=o.offset==a.child(s.offset).size?e.schema.defaultTextblockType():null;return e.tr["delete"](r,o).split(r,2,u).apply(e.apply.scroll)},keys:["Enter(50)"]});for(var a=function(e){n.Heading.registerComputed("command","make"+e,function(t){return e<=t.maxLevel?{derive:{name:"make",attrs:{level:e}},label:"Change to heading "+e,keys:["Mod-H '"+e+"'"],menu:{group:"textblockHeading",rank:30+e,display:{type:"label",label:"Level "+e},activeDisplay:"Head "+e}}:void 0})},u=1;10>=u;u++)a(u);n.Paragraph.register("command","make",{derive:!0,label:"Change to paragraph",keys:["Mod-P"],menu:{group:"textblock",rank:10,display:{type:"label",label:"Plain"},activeDisplay:"Plain"}}),n.CodeBlock.register("command","make",{derive:!0,label:"Change to code block",keys:["Mod-\\"],menu:{group:"textblock",rank:20,display:{type:"label",label:"Code"},activeDisplay:"Code"}}),n.HorizontalRule.register("command","insert",{derive:!0,label:"Insert horizontal rule",keys:["Mod-Shift--"],menu:{group:"insert",rank:70,display:{type:"label",label:"Horizontal rule"}}})},{"../format":22,"../model":38,"./command":7}],19:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){if(!a(e))return null;var t=window.getSelection();return new w((0,y.posFromDOM)(e,t.anchorNode,t.anchorOffset,!0),(0,y.posFromDOM)(e,t.focusNode,t.focusOffset,!0))}function a(e){var t=window.getSelection();return t.rangeCount&&(0,v.contains)(e.content,t.anchorNode)}function u(e,t,r,n,o){var i=e.path(t);if(i.isTextblock)return new w(new m.Pos(t,r));for(var s=r+(n>0?0:-1);n>0?s=0;s+=n){var a=i.child(s);if(!o&&null==a.type.contains&&a.type.selectable)return new _(new m.Pos(t,s),new m.Pos(t,s+1),a);t.push(s);var l=u(e,t,0>n?a.size:0,n,o);if(l)return l;t.pop()}}function l(e,t,r,n){for(var o=t.path.slice(),i=t.offset;;){var s=u(e,o,i,r,n);if(s)return s;if(!o.length)break;i=o.pop()+(r>0?1:0)}}function c(e,t){var r=arguments.length<=2||void 0===arguments[2]?1:arguments[2],n=arguments[3],o=l(e,t,r,n)||l(e,t,-r,n);return o||k("Searching for selection in invalid document "+e),o}function p(e){var t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],r=arguments[2];return u(e,t.slice(),0,1,r)}function f(e){var t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],r=arguments[2];return u(e,t.slice(),e.size,-1,r)}function h(e,t,r){for(var n=(0,y.pathToDOM)(e.content,t.path),o=(0,y.coordsAtPos)(e,t),i=n.firstChild;i;i=i.nextSibling)if(1==i.nodeType)for(var s=i.getClientRects(),a=0;ar?u.bottomo.bottom)return!1}return!0}var d=function(){function e(e,t){for(var r=0;r0){var o=e;e=t,t=o}n.setEnd(t.node,t.offset),n.setStart(e.node,e.offset)}r.removeAllRanges(),r.addRange(n),r.extend&&r.extend(t.node,t.offset),this.storeDOMState()}},{key:"clearNode",value:function(){return this.lastNode?(this.lastNode.classList.remove("ProseMirror-selectednode"),this.pm.content.classList.remove("ProseMirror-nodeselection"),this.lastNode=null,!0):void 0}},{key:"receivedFocus",value:function(){null==this.polling&&this.startPolling()}}]),e}(),r.Selection=function x(){n(this,x)}),w=r.TextSelection=function(e){function t(e,r){n(this,t);var i=o(this,Object.getPrototypeOf(t).call(this));return i.anchor=e,i.head=r||e,i}return i(t,e),d(t,[{key:"eq",value:function(e){return e instanceof t&&!e.head.cmp(this.head)&&!e.anchor.cmp(this.anchor)}},{key:"map",value:function(e,r){var n=r.map(this.head).pos;if(!e.path(n.path).isTextblock)return c(e,n);var o=r.map(this.anchor).pos;return new t(e.path(o.path).isTextblock?o:n,n)}},{key:"inverted",get:function(){return this.anchor.cmp(this.head)>0}},{key:"from",get:function(){return this.inverted?this.head:this.anchor}},{key:"to",get:function(){return this.inverted?this.anchor:this.head}},{key:"empty",get:function(){return 0==this.anchor.cmp(this.head)}}]),t}(b),_=r.NodeSelection=function(e){function t(e,r,i){n(this,t);var s=o(this,Object.getPrototypeOf(t).call(this));return s.from=e,s.to=r,s.node=i,s}return i(t,e),d(t,[{key:"eq",value:function(e){return e instanceof t&&!this.from.cmp(e.from)}},{key:"map",value:function(e,r){var n=r.map(this.from,1).pos,o=r.map(this.to,-1).pos;if(m.Pos.samePath(n.path,o.path)&&n.offset==o.offset-1){var i=e.nodeAfter(n);if(i.type.selectable)return new t(n,o,i)}return c(e,n)}},{key:"empty",get:function(){return!1}}]),t}(b)},{"../dom":3,"../model":38,"../util/error":55,"./dompos":10}],20:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,r){r||(r={});var n=new y(e,r.topNode||e.node("doc"),r),o=r.from?t.childNodes[r.from]:t.firstChild,i=null!=r.to&&t.childNodes[r.to]||null;n.addAll(o,i,!0);var s=void 0;do s=n.leave();while(n.stack.length);return s}function s(e,t,r){var n=(r&&r.document||window.document).createElement("div");return n.innerHTML=t,i(e,n,r)}function a(e){for(var t=/\s*([\w-]+)\s*:\s*([^;]+)/g,r=void 0,n=[];r=t.exec(e);)n.push(r[1],r[2].trim());return n}function u(e){return e.cached.parseDOMInfo||(e.cached.parseDOMInfo=l(e))}function l(e){var t=Object.create(null),r=Object.create(null);return t._=[],e.registry("parseDOM",function(e,r,n){var o=r.parse;"block"==o?o=function(e,t){t.wrapIn(e,this)}:"mark"==o&&(o=function(e,t){t.wrapMark(e,this)}),(0,h["default"])(t[e]||(t[e]=[]),{type:n,parse:o,rank:null==r.rank?50:r.rank},function(e,t){return e.rank-t.rank})}),e.registry("parseDOMStyle",function(e,t,n){(0,h["default"])(r[e]||(r[e]=[]),{type:n,parse:t.parse,rank:null==t.rank?50:t.rank},function(e,t){return e.rank-t.rank})}),{tags:t,styles:r}}var c=function(){function e(e,t){for(var r=0;r=0;t--){var r=this.stack[t].type.findConnection(e.type);if(r){if(t==this.stack.length-1)this.doClose();else for(;this.stack.length>t+1;)this.leave();for(var n=0;ne.length;)this.leave();for(;;){var t=this.stack.length-1,r=this.stack[t],n=e[t];if(r.type==n.type&&p.Node.sameAttrs(r.attrs,n.attrs))break; +this.leave()}for(;e.length>this.stack.length;){var o=e[this.stack.length];this.enter(o.type,o.attrs)}this.marks.length&&(this.marks=v),this.closing=!1}},{key:"wrapIn",value:function(e,t,r){this.enter(t,r),this.addAll(e.firstChild,null,!0),this.leave()}},{key:"wrapMark",value:function(e,t){var r=this.marks;this.marks=(t.instance||t).addToSet(r),e.call?e():this.addAll(e.firstChild,null),this.marks=r}},{key:"top",get:function(){return this.stack[this.stack.length-1]}}]),e}();p.Paragraph.register("parseDOM","p",{parse:"block"}),p.BlockQuote.register("parseDOM","blockquote",{parse:"block"});for(var k=function(e){p.Heading.registerComputed("parseDOM","h"+e,function(t){return e<=t.maxLevel?{parse:function(t,r){r.wrapIn(t,this,{level:e})}}:void 0})},b=1;6>=b;b++)k(b);p.HorizontalRule.register("parseDOM","hr",{parse:"block"}),p.CodeBlock.register("parseDOM","pre",{parse:function(e,t){var r=e.firstChild&&/^code$/i.test(e.firstChild.nodeName)&&e.firstChild.getAttribute("class");if(r&&/fence/.test(r)){for(var n=[],o=/(?:^|\s)lang-(\S+)/g,i=void 0;i=o.exec(r);)n.push(i[1]);r=n.join(" ")}else r=null;var s=e.textContent;t.insert(this,{params:r},s?[t.schema.text(s)]:[])}}),p.BulletList.register("parseDOM","ul",{parse:"block"}),p.OrderedList.register("parseDOM","ol",{parse:function(e,t){var r={order:e.getAttribute("start")||1};t.wrapIn(e,this,r)}}),p.ListItem.register("parseDOM","li",{parse:"block"}),p.HardBreak.register("parseDOM","br",{parse:function(e,t){t.insert(this)}}),p.Image.register("parseDOM","img",{parse:function(e,t){t.insert(this,{src:e.getAttribute("src"),title:e.getAttribute("title")||null,alt:e.getAttribute("alt")||null})}}),p.LinkMark.register("parseDOM","a",{parse:function(e,t){var r=e.getAttribute("href");return r?void t.wrapMark(e,this.create({href:r,title:e.getAttribute("title")})):!1}}),p.EmMark.register("parseDOM","i",{parse:"mark"}),p.EmMark.register("parseDOM","em",{parse:"mark"}),p.StrongMark.register("parseDOMStyle","font-style",{parse:function(e,t,r){"italic"==e?t.wrapMark(r,this):r()}}),p.StrongMark.register("parseDOM","b",{parse:"mark"}),p.StrongMark.register("parseDOM","strong",{parse:"mark"}),p.StrongMark.register("parseDOMStyle","font-weight",{parse:function(e,t,r){"bold"==e||"bolder"==e||!/\D/.test(e)&&+e>=500?t.wrapMark(r,this):r()}}),p.CodeMark.register("parseDOM","code",{parse:"mark"})},{"../model":38,"../util/sortedinsert":59,"./register":23}],21:[function(e,t,r){"use strict";function n(e,t){for(var r=t.trim().split(/\n{2,}/),n=[],o=0;o2?o-2:0),s=2;o>s;s++)i[s-2]=arguments[s];for(var a=0;a=0;r--){var n=this.renderMark(t[r]);n.appendChild(e),e=n}return e}},{key:"renderAs",value:function(e,t,r){var n=this.renderContent(e,this.elt(t,r));return this.options.onContainer&&this.options.onContainer(n),n}}]),e}();(0,c.defineTarget)("dom",o),(0,c.defineTarget)("html",s),a(l.BlockQuote,function(e,t){return t.renderAs(e,"blockquote")}),l.BlockQuote.prototype.countCoordsAsChild=function(e,t,r,n){var o=r.firstChild.getBoundingClientRect();return n.lefts.left-2)return null;if(s.top<=n.top&&s.bottom>=n.top)return new l.Pos(t,o)}}},a(l.ListItem,function(e,t){return t.renderAs(e,"li")}),a(l.HorizontalRule,function(e,t){return t.elt("hr")}),a(l.Paragraph,function(e,t){return t.renderAs(e,"p")}),a(l.Heading,function(e,t){return t.renderAs(e,"h"+e.attrs.level)}),a(l.CodeBlock,function(e,t){var r=t.renderAs(e,"code");return null!=e.attrs.params&&(r.className="fence "+e.attrs.params.replace(/(^|\s+)/g,"$&lang-")),t.elt("pre",null,r)}),a(l.Text,function(e,t){return t.doc.createTextNode(e.text)}),a(l.Image,function(e,t){return t.elt("img",{src:e.attrs.src,alt:e.attrs.alt,title:e.attrs.title})}),a(l.HardBreak,function(e,t){return t.elt("br")}),a(l.EmMark,function(e,t){return t.elt("em")}),a(l.StrongMark,function(e,t){return t.elt("strong")}),a(l.CodeMark,function(e,t){return t.elt("code")}),a(l.LinkMark,function(e,t){return t.elt("a",{href:e.attrs.href,title:e.attrs.title})})},{"../model":38,"./register":23}],25:[function(e,t,r){"use strict";function n(e){return e.type.serializeText(e).trim()}Object.defineProperty(r,"__esModule",{value:!0}),r.toText=n;var o=e("../model"),i=e("./register");o.Block.prototype.serializeText=function(e){var t="";return e.forEach(function(e){return t+=e.type.serializeText(e)}),t},o.Textblock.prototype.serializeText=function(e){var t=o.Block.prototype.serializeText(e);return t&&t+"\n\n"},o.Inline.prototype.serializeText=function(){return""},o.HardBreak.prototype.serializeText=function(){return"\n"},o.Text.prototype.serializeText=function(e){return e.text},(0,i.defineTarget)("text",n)},{"../model":38,"./register":23}],26:[function(e,t,r){"use strict";function n(e,t,r){var n=arguments.length<=3||void 0===arguments[3]?null:arguments[3],o=arguments.length<=4||void 0===arguments[4]?null:arguments[4],s=t.shorten(),a=s.offset>0&&e.doc.path(s.path).child(s.offset-1),u=a&&a.type.name==r&&(!o||o(a)),l=e.tr.wrap(t,t,r,n),c=l.map(t).pos;l["delete"](new i.Pos(c.path,0),c),u&&l.join(s),l.apply()}function o(e,t,r,n){e.tr.setBlockType(t,t,r,n)["delete"](new i.Pos(t.path,0),t).apply()}Object.defineProperty(r,"__esModule",{value:!0}),r.autoInputRules=void 0;var i=e("../model"),s=e("../edit"),a=e("./inputrules"),u=r.autoInputRules=Object.create(null);(0,s.defineOption)("autoInput",!1,function(e,t){e.mod.autoInput&&(e.mod.autoInput.forEach(function(t){return(0,a.removeInputRule)(e,t)}),e.mod.autoInput=null),t&&!function(){t===!0&&(t=["schema",u]);var r=Object.create(null),n=e.mod.autoInput=[];t.forEach(function(t){if("schema"===t)e.schema.registry("autoInput",function(e,t,n,o){var i=o+":"+e,s=t.handler;s.bind&&(s=s.bind(n)),r[i]=new a.InputRule(t.match,t.filter,s)});else for(var n in t){var o=t[n];null==o?delete r[n]:r[n]=o}});for(var o in r)(0,a.addInputRule)(e,r[o]),n.push(r[o])}()}),u.emDash=new a.InputRule(/--$/,"-","—"),u.openDoubleQuote=new a.InputRule(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,'"',"“"),u.closeDoubleQuote=new a.InputRule(/"$/,'"',"”"),u.openSingleQuote=new a.InputRule(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"'","‘"),u.closeSingleQuote=new a.InputRule(/'$/,"'","’"),i.BlockQuote.register("autoInput","startBlockQuote",new a.InputRule(/^\s*> $/," ",function(e,t,r){n(e,r,this)})),i.OrderedList.register("autoInput","startOrderedList",new a.InputRule(/^(\d+)\. $/," ",function(e,t,r){var o=+t[1];n(e,r,this,{order:o||null},function(e){return e.size+(e.attrs.order||1)==o})})),i.BulletList.register("autoInput","startBulletList",new a.InputRule(/^\s*([-+*]) $/," ",function(e,t,r){var o=t[1];n(e,r,this,null,function(e){return e.attrs.bullet==o})})),i.CodeBlock.register("autoInput","startCodeBlock",new a.InputRule(/^```$/,"`",function(e,t,r){o(e,r,this,{params:""})})),i.Heading.registerComputed("autoInput","startHeading",function(e){var t=new RegExp("^(#{1,"+e.maxLevel+"}) $");return new a.InputRule(t," ",function(e,t,r){o(e,r,this,{level:t[1].length})})})},{"../edit":13,"../model":38,"./inputrules":27}],27:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){e.mod.interpretInput||(e.mod.interpretInput=new c(e)),e.mod.interpretInput.addRule(t)}function i(e,t){var r=e.mod.interpretInput;r&&(r.removeRule(t),0==r.rules.length&&(r.unregister(),e.mod.interpretInput=null))}function s(e,t){for(var r,n=e.path(t.path),o=n.type.isCode,i="",s=n.iter(0,t.offset);r=s.next().value;)r.isText?i+=r.text:i="",s.atEnd()&&r.marks.some(function(e){return e.type.isCode})&&(o=!0);return{textBefore:i,isCode:o}}var a=function(){function e(e,t){for(var r=0;r-1?(this.rules.splice(t,1),!0):void 0}},{key:"onTextInput",value:function(e){var t=this.pm.selection.head;if(t)for(var r=void 0,n=void 0,o=e[e.length-1],i=0;i1){var t=this.delim,r=/\s+$/.exec(t);r&&(t=t.slice(0,t.length-r[0].length));for(var n=1;e>n;n++)this.out+=t+"\n"}this.closed=!1}}},{key:"wrapBlock",value:function(e,t,r,n){var o=this.delim;this.write(t||e),this.delim+=e,n(),this.delim=o,this.closeBlock(r)}},{key:"atBlank",value:function(){return/(^|\n)$/.test(this.out)}},{key:"ensureNewLine",value:function(){this.atBlank()||(this.out+="\n")}},{key:"write",value:function(e){this.flushClose(),this.delim&&this.atBlank()&&(this.out+=this.delim),e&&(this.out+=e)}},{key:"closeBlock",value:function(e){this.closed=e}},{key:"text",value:function(e,t){for(var r=e.split("\n"),n=0;nn;n++)r+=e;return r}},{key:"markString",value:function(e,t){var r=t?e.type.openMarkdown:e.type.closeMarkdown;return"string"==typeof r?r:r(this,e)}}]),e}();i(u.BlockQuote,function(e,t){e.wrapBlock("> ",null,t,function(){return e.renderContent(t)})}),i(u.CodeBlock,function(e,t){null==t.attrs.params?e.wrapBlock(" ",null,t,function(){return e.text(t.textContent,!1)}):(e.write("```"+t.attrs.params+"\n"),e.text(t.textContent,!1),e.ensureNewLine(),e.write("```"),e.closeBlock(t))}),i(u.Heading,function(e,t){e.write(e.repeat("#",t.attrs.level)+" "),e.renderInline(t),e.closeBlock(t)}),i(u.HorizontalRule,function(e,t){e.write(t.attrs.markup||"---"),e.closeBlock(t)}),i(u.BulletList,function(e,t){e.renderList(t," ",function(){return(t.attrs.bullet||"*")+" "})}),i(u.OrderedList,function(e,t){var r=Number(t.attrs.order||1),n=String(r+t.size-1).length,o=e.repeat(" ",n+2);e.renderList(t,o,function(t){var o=String(r+t);return e.repeat(" ",n-o.length)+o+". "})}),i(u.ListItem,function(e,t){return e.renderContent(t)}),i(u.Paragraph,function(e,t){e.renderInline(t),e.closeBlock(t)}),i(u.Image,function(e,t){e.write("!["+e.esc(t.attrs.alt||"")+"]("+e.esc(t.attrs.src)+(t.attrs.title?" "+e.quote(t.attrs.title):"")+")")}),i(u.HardBreak,function(e){return e.write("\\\n")}),i(u.Text,function(e,t){return e.text(t.text)}),s(u.EmMark,"*","*"),s(u.StrongMark,"**","**"),s(u.LinkMark,"[",function(e,t){return"]("+e.esc(t.attrs.href)+(t.attrs.title?" "+e.quote(t.attrs.title):"")+")"}),s(u.CodeMark,"`","`")},{"../format":22,"../model":38}],31:[function(e,t,r){"use strict";function n(e,t){var r=document.createElement("div");if(r.className=c,t.path){a[e]||o(e,t);var n=r.appendChild(document.createElementNS(u,"svg"));n.style.width=t.width/t.height+"em";var i=n.appendChild(document.createElementNS(u,"use"));i.setAttributeNS(l,"href","#pm-icon-"+e)}else r.appendChild(document.createElement("span")).textContent=t.text||"",t.css&&(r.firstChild.style.cssText=t.css);return r}function o(e,t){s||(s=document.createElementNS(u,"svg"),s.style.display="none",document.body.insertBefore(s,document.body.firstChild));var r=document.createElementNS(u,"symbol");r.id="pm-icon-"+e,r.setAttribute("viewBox","0 0 "+t.width+" "+t.height);var n=r.appendChild(document.createElementNS(u,"path"));n.setAttribute("d",t.path),s.appendChild(r),a[e]=!0}Object.defineProperty(r,"__esModule",{value:!0}),r.getIcon=n;var i=e("../dom"),s=null,a=Object.create(null),u="http://www.w3.org/2000/svg",l="http://www.w3.org/1999/xlink",c="ProseMirror-icon";(0,i.insertCSS)("\n."+c+" {\n display: inline-block;\n line-height: .8;\n vertical-align: -2px; /* Compensate for padding */\n padding: 2px 8px;\n cursor: pointer;\n}\n\n."+c+" svg {\n fill: currentColor;\n height: 1em;\n}\n\n."+c+" span {\n vertical-align: text-top;\n}")},{"../dom":3}],32:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!t.label)return null;var r=t.name&&e.keyForCommand(t.name);return r?t.label+" ("+r+")":t.label}function s(e,t){for(var r=[],n=0;nt.clientHeight)return t}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},s=function(){function e(e,t){for(var r=0;re.maxHeight?(e.maxHeight=e.wrapper.offsetHeight,function(){e.wrapper.style.minHeight=e.maxHeight+"px"}):void 0}}},{key:"updateFloat",value:function(){var e=this.pm.wrapper.getBoundingClientRect();if(this.floating)if(e.top>=0||e.bottomwindow.innerHeight?"none":""}else if(e.top<0&&e.bottom>=this.wrapper.offsetHeight+10){this.floating=!0;var r=this.wrapper.getBoundingClientRect();this.wrapper.style.left=r.left+"px",this.wrapper.style.width=r.width+"px",this.wrapper.style.position="fixed",this.spacer=(0,u.elt)("div",{"class":p+"-spacer",style:"height: "+r.height+"px"}),this.pm.wrapper.insertBefore(this.spacer,this.wrapper)}}},{key:"updateScrollCursor",value:function(){var e=this;if(!this.floating)return null;var t=this.pm.selection.head;return t?function(){var r=e.pm.coordsAtPos(t),n=e.wrapper.getBoundingClientRect();if(r.topn.top){var s=function(){var t=o(e.pm.wrapper);return t?{v:function(){t.scrollTop-=n.bottom-r.top}}:void 0}();if("object"===("undefined"==typeof s?"undefined":i(s)))return s.v}}:null}}]),e}();(0,u.insertCSS)("\n."+p+" {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n position: relative;\n min-height: 1em;\n color: #666;\n padding: 1px 6px;\n top: 0; left: 0; right: 0;\n border-bottom: 1px solid silver;\n background: white;\n z-index: 10;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n overflow: visible;\n}\n")},{"../dom":3,"../edit":13,"../ui/update":54,"./menu":32}],34:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var r=0;rf&&c.text[c.text.length-f-1]==p.text[p.text.length-f-1];)f++,u--,l--;break}if(u-=c.width,l-=p.width,c.size||p.size){r.push(u),n.push(l);var d=o(c.content,p.content,r,n);if(d)return d;r.pop(),n.pop()}}else u-=c.width,l-=p.width}return{a:new i.Pos(r,u),b:new i.Pos(n,l)}}Object.defineProperty(r,"__esModule",{value:!0}),r.findDiffStart=n,r.findDiffEnd=o;var i=e("./pos")},{"./pos":41}],36:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(r,"__esModule",{value:!0}),r.ModelError=void 0;var s=e("../util/error");r.ModelError=function(e){function t(){return n(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),t}(s.ProseMirrorError)},{"../util/error":55}],37:[function(e,t,r){"use strict";function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var r=0;rn.length,a=t&&t.depth>n.length,u=s?e.path[n.length]:e?e.offset:0,l=a?t.path[n.length]+1:t?t.offset:this.size,c=this.iter(u,l);i=c.next().value;){var p=c.offset-i.width;n.push(p),i.nodesBetween(s&&p==u?e:null,a&&c.offset==l?t:null,r,n,o),n.pop()}}},{key:"sliceBetween",value:function(e,t){for(var r,n=arguments.length<=2||void 0===arguments[2]?0:arguments[2],o=e&&e.depth>n,i=t&&t.depth>n,s=o?e.path[n]:e?e.offset:0,a=i?t.path[n]+1:t?t.offset:this.size,u=[],l=this.iter(s,a);r=l.next().value;){var c=o&&l.offset-r.width==s?e:null,p=i&&l.offset==a?t:null;(c||p)&&(r=r.sliceBetween(c,p,n+1)),u.push(r)}return new this.constructor(u)}},{key:"textContent",get:function(){var e="";return this.forEach(function(t){return e+=t.textContent}),e}}],[{key:"fromJSON",value:function(e,t){return t?this.fromArray(t.map(e.nodeFromJSON)):h}},{key:"fromArray",value:function(e){if(!e.length)return h;for(var t=!1,r=void 0,n=0;ne||e>=this.content.length)&&a.ModelError.raise("Offset "+e+" out of range"),this.content[e]}},{key:"forEach",value:function(e){for(var t=0;t0&&r>0&&i.sameMarkup(s)?o.push(i.append(s.content,t-1,r-1)):o.push(i.close(t-1,"end"),s.close(r-1,"start")),u.fromArray(o.concat(e.toArray(s.width)))}},{key:"toJSON",value:function(){return this.content.map(function(e){return e.toJSON()})}},{key:"size",get:function(){return this.content.length}},{key:"firstChild",get:function(){return this.content.length?this.content[0]:null}},{key:"lastChild",get:function(){return this.content.length?this.content[this.content.length-1]:null}}]),t}(u),h=r.emptyFragment=new f([]),d=function(){function e(t,r,n){var o=arguments.length<=3||void 0===arguments[3]?-1:arguments[3];i(this,e),this.frag=t,this.offset=r,this.pos=o,this.endOffset=n}return s(e,[{key:"copy",value:function(){return new this.constructor(this.frag,this.offset,this.endOffset,this.pos)}},{key:"atEnd",value:function(){return this.offset==this.endOffset}},{key:"next",value:function(){if(-1==this.pos){var e=this.init();if(e)return e}return this.offset==this.endOffset?l:this.advance()}},{key:"advance",value:function(){var e=this.frag.content[this.pos++],t=this.offset+e.width;return t>this.endOffset?(e=e.copy(e.text.slice(0,this.endOffset-this.offset)),this.offset=this.endOffset,e):(this.offset=t,e)}},{key:"init",value:function(){this.pos=0;for(var e=0;ethis.offset){var n=t.width;return r>this.endOffset&&(n=this.endOffset-e,r=this.endOffset),t=t.copy(t.text.slice(this.offset-e,n)),this.offset=r,t}e=r}}}]),e}(),m=function(e){function t(){return i(this,t),n(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"advance",value:function(){var e=this.frag.content[--this.pos],t=this.offset-e.width;return tthis.offset;){var t=this.frag.content[--this.pos],r=e-t.width;if(r==this.offset)break;if(re||e>=this.size)&&a.ModelError.raise("Offset "+e+" out of range");for(var t=0,n=0;te)return r}}},{key:"forEach",value:function(e){for(var t=0,r=0;t=e)return{node:n,start:r};r=o}}},{key:"chunkAfter",value:function(e){e==this.size&&a.ModelError.raise("No chunk after end of node");for(var t=0,r=0;te)return{node:n,start:r};r=o}}},{key:"slice",value:function(){var e=arguments.length<=0||void 0===arguments[0]?0:arguments[0],r=arguments.length<=1||void 0===arguments[1]?this.size:arguments[1];return e==r?h:new t(this.toArray(e,r))}},{key:"replace",value:function(e,r){r.isText&&a.ModelError.raise("Argument to replace should be a non-text node");for(var n=void 0,o=void 0,i=0;e>i;o++)n=this.content[o],i+=n.width;n.isText&&a.ModelError.raise("Can not replace text content with replace method");var s=this.content.slice();return s[o]=r,new t(s)}},{key:"appendInner",value:function(e,t,r){var n=this.content.length-1,o=this.content.slice(0,n),i=this.content[n],s=e.firstChild,a=i.sameMarkup(s);return a&&i.isText?o.push(i.copy(i.text+s.text)):a&&t>0&&r>0?o.push(i.append(s.content,t-1,r-1)):o.push(i.close(t-1,"end"),s.close(r-1,"start")),u.fromArray(o.concat(e.toArray(s.width)))}},{key:"toJSON",value:function(){return this.content.map(function(e){return e.toJSON()})}},{key:"firstChild",get:function(){return this.size?this.content[0]:null}},{key:"lastChild",get:function(){return this.size?this.content[this.content.length-1]:null}}]),t}(u);"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=function(){return this.iter()},c.prototype[Symbol.iterator]=d.prototype[Symbol.iterator]=function(){return this})},{"./error":36}],38:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./node");Object.defineProperty(r,"Node",{enumerable:!0,get:function(){return n.Node}});var o=e("./fragment");Object.defineProperty(r,"Fragment",{enumerable:!0,get:function(){return o.Fragment}}),Object.defineProperty(r,"emptyFragment",{enumerable:!0,get:function(){return o.emptyFragment}});var i=e("./mark");Object.defineProperty(r,"Mark",{enumerable:!0,get:function(){return i.Mark}});var s=e("./schema");Object.defineProperty(r,"SchemaSpec",{enumerable:!0,get:function(){return s.SchemaSpec}}),Object.defineProperty(r,"Schema",{enumerable:!0,get:function(){return s.Schema}}),Object.defineProperty(r,"SchemaError",{enumerable:!0,get:function(){return s.SchemaError}}),Object.defineProperty(r,"NodeType",{enumerable:!0,get:function(){return s.NodeType}}),Object.defineProperty(r,"Block",{enumerable:!0,get:function(){return s.Block}}),Object.defineProperty(r,"Textblock",{enumerable:!0,get:function(){return s.Textblock}}),Object.defineProperty(r,"Inline",{enumerable:!0,get:function(){return s.Inline}}),Object.defineProperty(r,"Text",{enumerable:!0,get:function(){return s.Text}}),Object.defineProperty(r,"MarkType",{enumerable:!0,get:function(){return s.MarkType}}),Object.defineProperty(r,"Attribute",{enumerable:!0,get:function(){return s.Attribute}});var a=e("./defaultschema");Object.defineProperty(r,"defaultSchema",{enumerable:!0,get:function(){return a.defaultSchema}}),Object.defineProperty(r,"Doc",{enumerable:!0,get:function(){return a.Doc}}),Object.defineProperty(r,"BlockQuote",{enumerable:!0,get:function(){return a.BlockQuote}}),Object.defineProperty(r,"OrderedList",{enumerable:!0,get:function(){return a.OrderedList}}),Object.defineProperty(r,"BulletList",{enumerable:!0,get:function(){return a.BulletList}}),Object.defineProperty(r,"ListItem",{enumerable:!0,get:function(){return a.ListItem}}),Object.defineProperty(r,"HorizontalRule",{enumerable:!0,get:function(){return a.HorizontalRule}}),Object.defineProperty(r,"Paragraph",{enumerable:!0,get:function(){return a.Paragraph}}),Object.defineProperty(r,"Heading",{enumerable:!0,get:function(){return a.Heading}}),Object.defineProperty(r,"CodeBlock",{enumerable:!0,get:function(){return a.CodeBlock}}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return a.Image}}),Object.defineProperty(r,"HardBreak",{enumerable:!0,get:function(){return a.HardBreak}}),Object.defineProperty(r,"CodeMark",{enumerable:!0,get:function(){return a.CodeMark}}),Object.defineProperty(r,"EmMark",{enumerable:!0,get:function(){return a.EmMark}}),Object.defineProperty(r,"StrongMark",{enumerable:!0,get:function(){return a.StrongMark}}),Object.defineProperty(r,"LinkMark",{enumerable:!0,get:function(){return a.LinkMark}});var u=e("./pos");Object.defineProperty(r,"Pos",{enumerable:!0,get:function(){return u.Pos}});var l=e("./diff");Object.defineProperty(r,"findDiffStart",{enumerable:!0,get:function(){return l.findDiffStart}}),Object.defineProperty(r,"findDiffEnd",{enumerable:!0,get:function(){return l.findDiffEnd}});var c=e("./error");Object.defineProperty(r,"ModelError",{enumerable:!0,get:function(){return c.ModelError}})},{"./defaultschema":34,"./diff":35,"./error":36,"./fragment":37,"./mark":39,"./node":40,"./pos":41,"./schema":42}],39:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var r=0;rthis.type.rank)return e.slice(0,t).concat(this).concat(e.slice(t))}return e.concat(this)}},{key:"removeFromSet",value:function(e){for(var t=0;t=0;r--)t=e[r].type.name+"("+t+")";return t}var a=function m(e,t,r){null===e&&(e=Function.prototype);var n=Object.getOwnPropertyDescriptor(e,t);if(void 0===n){var o=Object.getPrototypeOf(e);return null===o?void 0:m(o,t,r)}if("value"in n)return n.value;var i=n.get;if(void 0!==i)return i.call(r)},u=function(){function e(e,t){for(var r=0;r0&&(r=this.content.close(e-1,t))!=this.content?this.copy(r):this}},{key:"path",value:function(e){for(var t=0,r=this;t0?this:e}},{key:"min",value:function(e){return this.cmp(e)<0?this:e}},{key:"cmp",value:function(t){return t==this?0:e.cmp(this.path,this.offset,t.path,t.offset)}},{key:"shorten",value:function(){var t=arguments.length<=0||void 0===arguments[0]?null:arguments[0],r=arguments.length<=1||void 0===arguments[1]?0:arguments[1];if(t>=this.depth){if(t==this.depth&&!r)return new e(this.path,this.offset+r);i.ModelError.raise("Invalid shorten depth "+t+" for "+this)}return e.shorten(this.path,t,r)}},{key:"move",value:function(t){return new e(this.path,this.offset+t)}},{key:"toPath",value:function(){var e=arguments.length<=0||void 0===arguments[0]?0:arguments[0];return this.path.concat(this.offset+e)}},{key:"extend",value:function(t){for(var r=this.path.slice(),n=this.offset,o=0;o=n.size)return!1;n=n.child(o)}}},{key:"toJSON",value:function(){return this}},{key:"depth",get:function(){return this.path.length}}],[{key:"cmp",value:function(e,t,r,n){for(var o=e.length,i=r.length,s=0,a=Math.min(o,i);a>s;s++){var u=e[s]-r[s];if(0!=u)return u}return o>i?n<=e[s]?1:-1:i>o?t<=r[s]?-1:1:t-n}},{key:"samePath",value:function(e,t){if(e.length!=t.length)return!1;for(var r=0;r=0;r--)e=t[r].create(null,e);return c.Fragment.from(e)}},{key:"contains",get:function(){return"block"}},{key:"isBlock",get:function(){return!0}},{key:"canBeEmpty",get:function(){return null==this.contains}}],[{key:"kinds",get:function(){return"block"}}]),t}(g),y=(r.Textblock=function(e){function t(){return n(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),u(t,[{key:"contains",get:function(){return"inline"}},{key:"containsMarks",get:function(){return!0}},{key:"isTextblock",get:function(){return!0}},{key:"canBeEmpty",get:function(){return!0}}]),t}(v),r.Inline=function(e){function t(){return n(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),u(t,[{key:"isInline",get:function(){return!0}}],[{key:"kinds",get:function(){return"inline"}}]),t}(g)),k=(r.Text=function(e){function t(){return n(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),u(t,[{key:"create",value:function(e,t,r){return new l.TextNode(this,this.computeAttrs(e,t),t,r)}},{key:"selectable",get:function(){return!1}},{key:"isText",get:function(){return!0}}],[{key:"kinds",get:function(){return a(Object.getPrototypeOf(t),"kinds",this)+" text"}}]),t}(y),r.Attribute=function _(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];n(this,_),this["default"]=e["default"],this.compute=e.compute,this.label=e.label},r.MarkType=function(e){function t(e,r,i){n(this,t);var s=o(this,Object.getPrototypeOf(t).call(this));s.name=e,s.freezeAttrs(),s.rank=r,s.schema=i;var a=s.getDefaultAttrs();return s.instance=a&&new p.Mark(s,a),s}return i(t,e),u(t,[{key:"create",value:function(e){return!e&&this.instance?this.instance:new p.Mark(this,this.computeAttrs(e))}},{key:"removeFromSet",value:function(e){for(var t=0;tn;n++){var o=n?this.marks:this.nodes;for(var i in o){var s=o[i],t=s.registry,a=t&&t[e];if(a)for(var u in a){var l=a[u](s);null!=l&&r(u,l,s,i)}}}}}]),e}());r.Schema=b},{"../util/error":55,"../util/obj":58,"./fragment":37,"./mark":39,"./node":40}],43:[function(e,t,r){"use strict";function n(e,t){for(var r=[e.path(t.from.path)],n=!1;;){for(var o=-1,i=function(e,n){r.some(function(t){return!e.type.canContainContent(t.type)})||(o=n),e=e.child(t.from.path[n]),s=e},s=e,a=0;a-1)return{path:t.from.path.slice(0,o),unwrap:n};if(n||!r[0].isBlock)return null;r=r[0].content.slice(t.from.offset,t.to.offset),n=!0}}function o(e,t,r){var o=e.siblingRange(t,r||t),i=n(e,o);return i?{found:i,range:o}:void 0}function i(e,t,r,n){var o=e.siblingRange(t,r||t);if(o.from.offset==o.to.offset)return null;var i=e.path(o.from.path),s=i.type.findConnection(n),a=n.findConnection(i.child(o.from.offset).type);return s&&a?{range:o,around:s,inside:a}:void 0}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};Object.defineProperty(r,"__esModule",{value:!0}),r.canLift=o,r.canWrap=i;var a=e("../model"),u=e("./transform"),l=e("./step"),c=e("./tree"),p=e("./map");l.Step.define("ancestor",{apply:function(e,t){var r=t.from,n=t.to;if(!(0,c.isFlatRange)(r,n))return null;for(var o=r.path,i=r.offset,u=n.offset,f=t.param,h=f.depth,d=void 0===h?0:h,m=f.types,g=void 0===m?[]:m,v=f.attrs,y=void 0===v?[]:v,k=e.path(r.path),b=0;d>b;b++){if(i>0||u=0;s--)o=g[s].create(y[s],o||t);x=w.splice(i,u,a.Fragment.from(o))}();if("object"===("undefined"==typeof C?"undefined":s(C)))return C.v}else{if(!w.type.canContainFragment(k.content)||!k.size&&0==i&&u==w.size&&!w.type.canBeEmpty)return null;x=w.splice(i,u,k.content)}for(var M=e.replaceDeep(o,x),S=o.slice(),b=0;b1||g.length>1){var T=new a.Pos(o,i),E=new a.Pos(o,u),D=new a.Pos(o,i+P),j=new a.Pos(S,A.offset+(n.offset-r.offset));O=[new p.ReplacedRange(T,r,T,A),new p.ReplacedRange(n,E,j,D,E,D)]}var q=[new p.MovedRange(r,n.offset-r.offset,A)];return u-i!=P&&q.push(new p.MovedRange(new a.Pos(o,u),_-u,new a.Pos(o,i+P))),new l.StepResult(M,new p.PosMap(q,O))},invert:function(e,t,r){var n=[],o=[];if(e.param.depth)for(var i=0;i0){this.split(c,s-l);for(var p=i.from.path.length-s,f=c.path.slice(0,p).concat(c.path[p]+1);f.lengthi.from.offset;h--)this.join(new a.Pos(i.from.path,h));for(var d,m=0,h=u.iter(i.from.offset,i.to.offset);d=h.next().value;)m+=d.size;var f=i.from.path.concat(i.from.offset);i={from:new a.Pos(f,0),to:new a.Pos(f,m)},++s}return this.step("ancestor",i.from,i.to,null,{depth:s}),this},u.Transform.prototype.wrap=function(e,t,r,n){var o=i(this.doc,e,t,r);if(!o)return this;var s=o.range,u=o.around,l=o.inside,c=u.concat(r).concat(l),p=u.map(function(){return null}).concat(n).concat(l.map(function(){return null}));if(this.step("ancestor",s.from,s.to,null,{types:c,attrs:p}),l.length){for(var f=s.from.path.slice(),h=0;h0;h--)this.split(new a.Pos(f,h),l.length)}return this},u.Transform.prototype.setBlockType=function(e,t,r,n){var o=this;return this.doc.nodesBetween(e,t||e,function(e,t){return e.isTextblock&&!e.hasMarkup(r,n)?(t=t.slice(),o.clearMarkup(new a.Pos(t,0),new a.Pos(t,e.size),r),o.step("ancestor",new a.Pos(t,0),new a.Pos(t,o.doc.path(t).size),null,{depth:1,types:[r],attrs:[n]}),!1):void 0}),this},u.Transform.prototype.setNodeType=function(e,t,r){var n=this.doc.nodeAfter(e),o=e.toPath();return this.step("ancestor",new a.Pos(o,0),new a.Pos(o,n.size),null,{depth:1,types:[t],attrs:[r]}),this}},{"../model":38,"./map":46,"./step":50,"./transform":51,"./tree":52}],44:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Remapping=r.MapResult=r.PosMap=r.joinableBlocks=r.joinPoint=r.canWrap=r.canLift=r.StepResult=r.Step=r.Transform=void 0;var n=e("./transform");Object.defineProperty(r,"Transform",{enumerable:!0,get:function(){return n.Transform}});var o=e("./step");Object.defineProperty(r,"Step",{enumerable:!0,get:function(){return o.Step}}),Object.defineProperty(r,"StepResult",{enumerable:!0,get:function(){return o.StepResult}});var i=e("./ancestor");Object.defineProperty(r,"canLift",{enumerable:!0,get:function(){return i.canLift}}),Object.defineProperty(r,"canWrap",{enumerable:!0,get:function(){return i.canWrap}});var s=e("./join");Object.defineProperty(r,"joinPoint",{enumerable:!0,get:function(){return s.joinPoint}}),Object.defineProperty(r,"joinableBlocks",{enumerable:!0,get:function(){return s.joinableBlocks}});var a=e("./map");Object.defineProperty(r,"PosMap",{enumerable:!0,get:function(){return a.PosMap}}),Object.defineProperty(r,"MapResult",{enumerable:!0,get:function(){return a.MapResult}}),Object.defineProperty(r,"Remapping",{enumerable:!0,get:function(){return a.Remapping}}),e("./mark"),e("./split"),e("./replace")},{"./ancestor":43,"./join":45,"./map":46,"./mark":47,"./replace":48,"./split":49,"./step":50,"./transform":51}],45:[function(e,t,r){"use strict";function n(e,t){if(0==t.offset)return!1;var r=e.path(t.path);if(r.isTextblock||t.offset==r.size)return!1;var n=r.child(t.offset-1).type;return!n.isTextblock&&n.contains&&n==r.child(t.offset).type}function o(e,t){for(var r=arguments.length<=2||void 0===arguments[2]?-1:arguments[2];;){if(n(e,t))return t;if(0==t.depth)return null;t=t.shorten(null,0>r?0:1)}}Object.defineProperty(r,"__esModule",{value:!0}),r.joinableBlocks=n,r.joinPoint=o;var i=e("../model"),s=e("./transform"),a=e("./step"),u=e("./map");a.Step.define("join",{apply:function(e,t){var r=e.path(t.from.path),n=e.path(t.to.path);if(t.from.offset0||!r.type.canContainFragment(n.content))return null;var o=t.from.path,s=t.to.path,l=o.length-1,c=o[l]+1;if(o.length!=s.length||0==o.length||c!=s[l])return null;for(var p=0;l>p;p++)if(o[p]!=s[p])return null;var f=o.slice(0,l),h=e.path(f),d=h.size;if(h.type.locked)return null;var m=r.append(n.content),g=e.replaceDeep(f,h.splice(c-1,c+1,i.Fragment.from(m))),v=new u.PosMap([new u.MovedRange(t.to,n.size,t.from),new u.MovedRange(new i.Pos(f,c+1),d-c-1,new i.Pos(f,c))],[new u.ReplacedRange(t.from,t.to,t.from,t.from,t.to.shorten())]);return new a.StepResult(g,v)},invert:function(e,t){return new a.Step("split",null,null,e.from,t.path(e.to.path).copy())}}),s.Transform.prototype.join=function(e){var t=this.doc.path(e.path);return 0==e.offset||e.offset==t.size||t.isTextblock?this:(this.step("join",new i.Pos(e.path.concat(e.offset-1),t.child(e.offset-1).size),new i.Pos(e.path.concat(e.offset),0)),this)}},{"../model":38,"./map":46,"./step":50,"./transform":51}],46:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(t.path.length>e.path.length){for(var r=[t.path[e.path.length]-e.offset],n=e.path.length+1;n=0&&(c=t.cmp(u.to))<=0){var f=n?s.before:s.after;return new p(0>r?f.from:f.to,!(!l||!c),{rangeID:i,offset:o(u.ref,t)})}}for(var i=0;i=0&&a.Pos.cmp(t.path,t.offset,h.path,h.offset+s.size)<=0){var d=n?s.start:s.dest,m=h.depth;if(t.depth>m){var g=d.offset+(t.path[m]-h.offset);return new p(new a.Pos(d.path.concat(g).concat(t.path.slice(m+1)),t.offset))}return new p(new a.Pos(d.path,d.offset+(t.offset-h.offset)))}}return new p(t)}var s=function(){function e(e,t){for(var r=0;re?this.head[-e-1]:this.tail[e]}},{key:"map",value:function t(e,r){for(var n=!1,o=-this.head.length;o=0;a--)this.step(s[a]);return this}},{"../model":38,"./step":50,"./transform":51,"./tree":52}],48:[function(e,t,r){"use strict";function n(e,t,r,n){for(var o=[],i=t.path.slice(0,n),s=n;;s++){var a=s==t.depth?0:1,l=s==t.depth?t.offset:t.path[s],c=e.size-l,f=r.size-c,h=t.shorten(s,a),d=new u.Pos(i,f+a);if(h.cmp(d)&&o.push(new p.MovedRange(h,c-a,d)),!a)return o;e=e.child(l),r=r.child(f),i=i.concat(f)}}function o(e,t,r,i,s){var a=arguments.length<=5||void 0===arguments[5]?0:arguments[5];if(a==i.length){var u=e.sliceBetween(null,t,a),l=e.sliceBetween(r,null,a),c=void 0;return u.type.canContainFragment(s.content)?(c=s.content.size?u.append(s.content,t.depth-a,s.openLeft).append(l.content,s.openRight,r.depth-a):u.append(l.content,t.depth-a,r.depth-a),c.size||c.type.canBeEmpty||(c=c.copy(c.type.defaultContent())),{doc:c,moved:n(e,r,c,a)}):null}var p=i[a],c=o(e.child(p),t,r,i,s,a+1);return c?{doc:e.replace(p,c.doc),moved:c.moved}:null}function i(e,t){for(var r=e[t]=e[t].slice(1),n=t-1;n>=0;n--)r=e[n]=e[n].replace(0,r)}function s(e,t,r,n){for(var o=t.sliceBetween(r,n),s=[],a=o,l=0;l<=r.path.length;l++,a=a.firstChild)s.push(a);var c=(0,f.samePathDepth)(r,n),p=e.length-1,h=s.length-1,d=null,m=s[h];for(m.isTextblock&&m.size&&e[p].isTextblock&&(d=e[p--].copy(m.content),--h,i(s,h));;h--){for(var a=s[h],g=a.type,v=null,y=c>=h,l=p;l>=0;l--){var k=e[l];if(y?k.type.canContainContent(a.type):k.type==g){v=l;break}}if(null!=v)if(d)for(;p>=v;){var b=e[p],w=u.Fragment.from(d);d=b.copy(p==v?w.append(a.content):w),p--}else d=e[v].copy(a.content),p=v-1;if(null!=v||0==a.size){if(y)break;i(s,h-1)}}var _={content:d?d.content:u.emptyFragment,openLeft:r.depth-h,openRight:n.depth-h};return{repl:_,depth:p+1}}function a(e,t,r,n){for(var o=(0,f.samePathDepth)(r,n),i=n.shorten(null,1);i.path.length>o&&1==t.path(i.path).size;)i=i.shorten(null,1);e.split(i,i.path.length-o);for(var s=n,a=new u.Pos(s.path,t.path(s.path).size),l=t.path(s.path.slice(0,o)),c=l.pathNodes(r.path.slice(o)),p=l.pathNodes(s.path.slice(o));c.length&&p.length&&c[0].sameMarkup(p[0]);)c.shift(),p.shift();(p.length||c.length)&&e.step("ancestor",s,a,null,{depth:p.length,types:c.map(function(e){return e.type}),attrs:c.map(function(e){return e.attrs})});for(var h=o;hp;)i.content.size&&(i={content:u.Fragment.from(c.path(e.path.slice(0,l)).copy(i.content)),openLeft:i.openLeft+1,openRight:i.openRight+1}),l--}else i=h,l=p;var m=e.shorten(l),g=c,v=t;if(i.content.size||(0,f.replaceHasEffect)(c,e,t)){var y=this.step("replace",e,t,m,i);g=y.doc,v=y.map.map(t).pos}if(!c.path(t.path).isTextblock)return this;if(!(i.content.size?r.path(o.path).isTextblock:c.path(e.path).isTextblock))return this;var k=c.path(m.path).pathNodes(t.path.slice(l)).slice(1),b=void 0;if(i.content.size){var w=i.content;b=[];for(var _=0;_r;r++){var n=e.shorten(e.depth-r);n.offset&&n.offset0)return!0}return u!=l?!0:s(o,u,Math.min(t.depth,r.depth)-n)}o=o.child(t.path[n])}}function u(e,t){for(var r=0;;r++)if(r==e.path.length||r==t.path.length||e.path[r]!=t.path[r])return r}Object.defineProperty(r,"__esModule",{value:!0}),r.copyStructure=n,r.copyInline=o,r.isFlatRange=i,r.replaceHasEffect=a,r.samePathDepth=u;var l=e("../model")},{"../model":38}],53:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,r){var n=(0,a.elt)("button",{"class":"ProseMirror-prompt-close"}),o=(0,a.elt)("div",{"class":"ProseMirror-prompt"},t,n),i=e.wrapper.getBoundingClientRect();if(e.wrapper.appendChild(o),r&&r.pos)o.style.left=r.pos.left-i.left+"px",o.style.pos=r.pos.top-i.top+"px";else{var s=o.getBoundingClientRect(),u=Math.max(0,i.left)+Math.min(window.innerWidth,i.right)-s.width,l=Math.max(0,i.top)+Math.min(window.innerHeight,i.bottom)-s.height;o.style.left=u/2-i.left+"px",o.style.top=l/2-i.top+"px"}var c=function p(){e.off("interaction",p),o.parentNode&&(o.parentNode.removeChild(o),r&&r.onClose&&r.onClose())};return n.addEventListener("click",c),e.on("interaction",c),{close:c}}var i=function(){function e(e,t){for(var r=0;r-1&&this.waiting.splice(t,1)}},{key:"force",value:function(){for(clearTimeout(this.timeout),this.lastForce=Date.now();this.waiting.length;)for(var e=0;eu&&this.force()}}],[{key:"get",value:function(e){return e.mod.centralScheduler||(e.mod.centralScheduler=new this(e))}}]),e}();r.UpdateScheduler=function(){function e(t,r,o){var i=this;n(this,e),this.pm=t,this.start=o,this.events=r.split(" "),this.onEvent=this.onEvent.bind(this),this.events.forEach(function(e){return t.on(e,i.onEvent)})}return s(e,[{key:"detach",value:function(){var e=this;i(this.pm,this.start),this.events.forEach(function(t){return e.pm.off(t,e.onEvent)})}},{key:"onEvent",value:function(){o(this.pm,this.start)}},{key:"force",value:function(){if(this.pm.operation)this.onEvent();else{i(this.pm,this.start);for(var e=this.start;e;e=e());}}}]),e}()},{}],55:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=/^function (\w+)/.exec(e.toString());return t&&t[1]}var a=function(){function e(e,t){for(var r=0;r1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];if(t)for(var i=0;i1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];for(var i=0;i0}}},{}],57:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var r=0;r-1?this.content[r+1]=t:this.content.push(e,t)}},{key:"get",value:function(e){var t=this.find(e);return-1==t?void 0:this.content[t+1]}},{key:"has",value:function(e){return this.find(e)>-1}},{key:"find",value:function(e){for(var t=0;t0);n++);e.splice(n,0,t)}Object.defineProperty(r,"__esModule",{value:!0}),r["default"]=n},{}],60:[function(e,t,r){!function(e){if("object"==typeof r&&"object"==typeof t)t.exports=e();else{if("function"==typeof define&&define.amd)return define([],e);(this||window).browserKeymap=e()}}(function(){"use strict";function e(e){if("keypress"==e.type)return"'"+String.fromCharCode(e.charCode)+"'";var t=i[e.keyCode],r=t;return null==r||e.altGraphKey?null:(e.altKey&&"Alt"!=t&&(r="Alt-"+r),e.ctrlKey&&"Ctrl"!=t&&(r="Ctrl-"+r),e.metaKey&&"Cmd"!=t&&(r="Cmd-"+r),e.shiftKey&&"Shift"!=t&&(r="Shift-"+r),r)}function t(e){return e=/[^-]*$/.exec(e)[0],"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e}function r(e){for(var t,r,n,i,s=e.split(/-(?!'?$)/),a=s[s.length-1],u=0;us;s++)i[s+48]=i[s+96]=String(s);for(var s=65;90>=s;s++)i[s]=String.fromCharCode(s);for(var s=1;12>=s;s++)i[s+111]=i[s+63235]="F"+s;return n.prototype={normalize:function(e){return this.options.multi!==!1?e.split(/ +(?!\'$)/).map(r):[r(e)]},addBinding:function(e,t){for(var r=this.normalize(e),n=0;n=0;r--){var n=t.slice(0,r).join(" "),o=this.bindings[n];if("..."==o&&!this.unusedMulti(n))break;o&&delete this.bindings[n]}},unusedMulti:function(e){for(var t in this.bindings)if(t.length>e&&0==t.indexOf(e)&&" "==t.charAt(e.length))return!1;return!0},lookup:function(e,t){return this.options.call?this.options.call(e,t):this.bindings[e]},constructor:n},n.keyName=e,n.isModifierKey=t,n.normalizeKeyName=r,n})},{}],61:[function(e,t,r){t.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄", +LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},{}],62:[function(e,t,r){"use strict";function n(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach(function(t){t&&Object.keys(t).forEach(function(r){e[r]=t[r]})}),e}function o(e){return Object.prototype.toString.call(e)}function i(e){return"[object String]"===o(e)}function s(e){return"[object Object]"===o(e)}function a(e){return"[object RegExp]"===o(e)}function u(e){return"[object Function]"===o(e)}function l(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function c(e){return Object.keys(e||{}).reduce(function(e,t){return e||y.hasOwnProperty(t)},!1)}function p(e){e.__index__=-1,e.__text_cache__=""}function f(e){return function(t,r){var n=t.slice(r);return e.test(n)?n.match(e)[0].length:0}}function h(){return function(e,t){t.normalize(e)}}function d(t){function r(e){return e.replace("%TLDS%",c.src_tlds)}function o(e,t){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+t)}var c=t.re=n({},e("./lib/re")),d=t.__tlds__.slice();t.__tlds_replaced__||d.push(b),d.push(c.src_xn),c.src_tlds=d.join("|"),c.email_fuzzy=RegExp(r(c.tpl_email_fuzzy),"i"),c.link_fuzzy=RegExp(r(c.tpl_link_fuzzy),"i"),c.link_no_ip_fuzzy=RegExp(r(c.tpl_link_no_ip_fuzzy),"i"),c.host_fuzzy_test=RegExp(r(c.tpl_host_fuzzy_test),"i");var m=[];t.__compiled__={},Object.keys(t.__schemas__).forEach(function(e){var r=t.__schemas__[e];if(null!==r){var n={validate:null,link:null};return t.__compiled__[e]=n,s(r)?(a(r.validate)?n.validate=f(r.validate):u(r.validate)?n.validate=r.validate:o(e,r),void(u(r.normalize)?n.normalize=r.normalize:r.normalize?o(e,r):n.normalize=h())):i(r)?void m.push(e):void o(e,r)}}),m.forEach(function(e){t.__compiled__[t.__schemas__[e]]&&(t.__compiled__[e].validate=t.__compiled__[t.__schemas__[e]].validate,t.__compiled__[e].normalize=t.__compiled__[t.__schemas__[e]].normalize)}),t.__compiled__[""]={validate:null,normalize:h()};var g=Object.keys(t.__compiled__).filter(function(e){return e.length>0&&t.__compiled__[e]}).map(l).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:>|"+c.src_ZPCc+"))("+g+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:>|"+c.src_ZPCc+"))("+g+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),p(t)}function m(e,t){var r=e.__index__,n=e.__last_index__,o=e.__text_cache__.slice(r,n);this.schema=e.__schema__.toLowerCase(),this.index=r+t,this.lastIndex=n+t,this.raw=o,this.text=o,this.url=o}function g(e,t){var r=new m(e,t);return e.__compiled__[r.schema].normalize(r,e),r}function v(e,t){return this instanceof v?(t||c(e)&&(t=e,e={}),this.__opts__=n({},y,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=n({},k,e),this.__compiled__={},this.__tlds__=w,this.__tlds_replaced__=!1,this.re={},void d(this)):new v(e,t)}var y={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1},k={"http:":{validate:function(e,t,r){var n=e.slice(t);return r.re.http||(r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.http.test(n)?n.match(r.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,r){var n=e.slice(t);return r.re.no_http||(r.re.no_http=new RegExp("^"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.no_http.test(n)?t>=3&&":"===e[t-3]?0:n.match(r.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,r){var n=e.slice(t);return r.re.mailto||(r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")),r.re.mailto.test(n)?n.match(r.re.mailto)[0].length:0}}},b="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",w="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");v.prototype.add=function(e,t){return this.__schemas__[e]=t,d(this),this},v.prototype.set=function(e){return this.__opts__=n(this.__opts__,e),this},v.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,r,n,o,i,s,a,u,l;if(this.re.schema_test.test(e))for(a=this.re.schema_search,a.lastIndex=0;null!==(t=a.exec(e));)if(o=this.testSchemaAt(e,t[2],a.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(u=e.search(this.re.host_fuzzy_test),u>=0&&(this.__index__<0||u=0&&null!==(n=e.match(this.re.email_fuzzy))&&(i=n.index+n[1].length,s=n.index+n[0].length,(this.__index__<0||ithis.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=s))),this.__index__>=0},v.prototype.pretest=function(e){return this.re.pretest.test(e)},v.prototype.testSchemaAt=function(e,t,r){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,r,this):0},v.prototype.match=function(e){var t=0,r=[];this.__index__>=0&&this.__text_cache__===e&&(r.push(g(this,t)),t=this.__last_index__);for(var n=t?e.slice(t):e;this.test(n);)r.push(g(this,t)),n=n.slice(this.__last_index__),t+=this.__last_index__;return r.length?r:null},v.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,r){return e!==r[t-1]}).reverse(),d(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,d(this),this)},v.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},t.exports=v},{"./lib/re":63}],63:[function(e,t,r){"use strict";var n=r.src_Any=e("uc.micro/properties/Any/regex").source,o=r.src_Cc=e("uc.micro/categories/Cc/regex").source,i=r.src_Z=e("uc.micro/categories/Z/regex").source,s=r.src_P=e("uc.micro/categories/P/regex").source,a=r.src_ZPCc=[i,s,o].join("|"),u=r.src_ZCc=[i,o].join("|"),l="(?:(?!"+a+")"+n+")",c="(?:(?![0-9]|"+a+")"+n+")",p=r.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";r.src_auth="(?:(?:(?!"+u+").)+@)?";var f=r.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",h=r.src_host_terminator="(?=$|"+a+")(?!-|_|:\\d|\\.-|\\.(?!$|"+a+"))",d=r.src_path="(?:[/?#](?:(?!"+u+"|[()[\\]{}.,\"'?!\\-]).|\\[(?:(?!"+u+"|\\]).)*\\]|\\((?:(?!"+u+"|[)]).)*\\)|\\{(?:(?!"+u+'|[}]).)*\\}|\\"(?:(?!'+u+'|["]).)+\\"|\\\'(?:(?!'+u+"|[']).)+\\'|\\'(?="+l+").|\\.{2,3}[a-zA-Z0-9%/]|\\.(?!"+u+"|[.]).|\\-(?!--(?:[^-]|$))(?:-*)|\\,(?!"+u+").|\\!(?!"+u+"|[!]).|\\?(?!"+u+"|[?]).)+|\\/)?",m=r.src_email_name='[\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]+',g=r.src_xn="xn--[a-z0-9\\-]{1,59}",v=r.src_domain_root="(?:"+g+"|"+c+"{1,63})",y=r.src_domain="(?:"+g+"|(?:"+l+")|(?:"+l+"(?:-(?!-)|"+l+"){0,61}"+l+"))",k=r.src_host="(?:"+p+"|(?:(?:(?:"+y+")\\.)*"+v+"))",b=r.tpl_host_fuzzy="(?:"+p+"|(?:(?:(?:"+y+")\\.)+(?:%TLDS%)))",w=r.tpl_host_no_ip_fuzzy="(?:(?:(?:"+y+")\\.)+(?:%TLDS%))";r.src_host_strict=k+h;var _=r.tpl_host_fuzzy_strict=b+h;r.src_host_port_strict=k+f+h;var x=r.tpl_host_port_fuzzy_strict=b+f+h,C=r.tpl_host_port_no_ip_fuzzy_strict=w+f+h;r.tpl_host_fuzzy_test="localhost|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+a+"|$))",r.tpl_email_fuzzy="(^|>|"+u+")("+m+"@"+_+")",r.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|]|"+a+"))((?![$+<=>^`|])"+x+d+")",r.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|]|"+a+"))((?![$+<=>^`|])"+C+d+")"},{"uc.micro/categories/Cc/regex":120,"uc.micro/categories/P/regex":122,"uc.micro/categories/Z/regex":123,"uc.micro/properties/Any/regex":125}],64:[function(e,t,r){"use strict";t.exports=e("./lib/")},{"./lib/":74}],65:[function(e,t,r){"use strict";t.exports=e("entities/maps/entities.json")},{"entities/maps/entities.json":61}],66:[function(e,t,r){"use strict";t.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","head","header","hr","html","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},{}],67:[function(e,t,r){"use strict";var n="[a-zA-Z_:][a-zA-Z0-9:._-]*",o="[^\"'=<>`\\x00-\\x20]+",i="'[^']*'",s='"[^"]*"',a="(?:"+o+"|"+i+"|"+s+")",u="(?:\\s+"+n+"(?:\\s*=\\s*"+a+")?)",l="<[A-Za-z][A-Za-z0-9\\-]*"+u+"*\\s*\\/?>",c="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",p="|",f="<[?].*?[?]>",h="]*>",d="",m=new RegExp("^(?:"+l+"|"+c+"|"+p+"|"+f+"|"+h+"|"+d+")"),g=new RegExp("^(?:"+l+"|"+c+")");t.exports.HTML_TAG_RE=m,t.exports.HTML_OPEN_CLOSE_TAG_RE=g},{}],68:[function(e,t,r){"use strict";t.exports=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"]},{}],69:[function(e,t,r){"use strict";function n(e){return Object.prototype.toString.call(e)}function o(e){return"[object String]"===n(e)}function i(e,t){return b.call(e,t)}function s(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach(function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach(function(r){e[r]=t[r]})}}),e}function a(e,t,r){return[].concat(e.slice(0,t),r,e.slice(t+1))}function u(e){return e>=55296&&57343>=e?!1:e>=64976&&65007>=e?!1:65535===(65535&e)||65534===(65535&e)?!1:e>=0&&8>=e?!1:11===e?!1:e>=14&&31>=e?!1:e>=127&&159>=e?!1:e>1114111?!1:!0}function l(e){if(e>65535){e-=65536;var t=55296+(e>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}function c(e,t){var r=0;return i(M,t)?M[t]:35===t.charCodeAt(0)&&C.test(t)&&(r="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),u(r))?l(r):e}function p(e){return e.indexOf("\\")<0?e:e.replace(w,"$1")}function f(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(x,function(e,t,r){return t?t:c(e,r)})}function h(e){return O[e]}function d(e){return S.test(e)?e.replace(A,h):e}function m(e){return e.replace(P,"\\$&")}function g(e){if(e>=8192&&8202>=e)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function v(e){return T.test(e)}function y(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function k(e){return e.trim().replace(/\s+/g," ").toUpperCase()}var b=Object.prototype.hasOwnProperty,w=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,_=/&([a-z#][a-z0-9]{1,31});/gi,x=new RegExp(w.source+"|"+_.source,"gi"),C=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,M=e("./entities"),S=/[&<>"]/,A=/[&<>"]/g,O={"&":"&","<":"<",">":">",'"':"""},P=/[.?*+^$[\]\\(){}|-]/g,T=e("uc.micro/categories/P/regex");r.lib={},r.lib.mdurl=e("mdurl"),r.lib.ucmicro=e("uc.micro"),r.assign=s,r.isString=o,r.has=i,r.unescapeMd=p,r.unescapeAll=f,r.isValidEntityCode=u,r.fromCodePoint=l,r.escapeHtml=d,r.arrayReplaceAt=a,r.isWhiteSpace=g,r.isMdAsciiPunct=y,r.isPunctChar=v,r.escapeRE=m,r.normalizeReference=k},{"./entities":65,mdurl:118,"uc.micro":124,"uc.micro/categories/P/regex":122}],70:[function(e,t,r){"use strict";r.parseLinkLabel=e("./parse_link_label"),r.parseLinkDestination=e("./parse_link_destination"),r.parseLinkTitle=e("./parse_link_title")},{"./parse_link_destination":71,"./parse_link_label":72,"./parse_link_title":73}],71:[function(e,t,r){"use strict";var n=e("../common/utils").unescapeAll;t.exports=function(e,t,r){var o,i,s=0,a=t,u={ok:!1,pos:0,lines:0,str:""};if(60===e.charCodeAt(t)){for(t++;r>t;){if(o=e.charCodeAt(t),10===o)return u;if(62===o)return u.pos=t+1,u.str=n(e.slice(a+1,t)),u.ok=!0,u;92===o&&r>t+1?t+=2:t++}return u}for(i=0;r>t&&(o=e.charCodeAt(t),32!==o)&&!(32>o||127===o);)if(92===o&&r>t+1)t+=2;else{if(40===o&&(i++,i>1))break;if(41===o&&(i--,0>i))break;t++}return a===t?u:(u.str=n(e.slice(a,t)),u.lines=s,u.pos=t,u.ok=!0,u)}},{"../common/utils":69}],72:[function(e,t,r){"use strict";t.exports=function(e,t,r){var n,o,i,s,a=-1,u=e.posMax,l=e.pos;for(e.pos=t+1,n=1;e.pos=r)return u;if(i=e.charCodeAt(t),34!==i&&39!==i&&40!==i)return u;for(t++,40===i&&(i=41);r>t;){if(o=e.charCodeAt(t),o===i)return u.pos=t+1,u.lines=s,u.str=n(e.slice(a+1,t)),u.ok=!0,u;10===o?s++:92===o&&r>t+1&&(t++,10===e.charCodeAt(t)&&s++),t++}return u}},{"../common/utils":69}],74:[function(e,t,r){"use strict";function n(e){var t=e.trim().toLowerCase();return v.test(t)?y.test(t)?!0:!1:!0}function o(e){var t=d.parse(e,!0);if(t.hostname&&(!t.protocol||k.indexOf(t.protocol)>=0))try{t.hostname=m.toASCII(t.hostname)}catch(r){}return d.encode(d.format(t))}function i(e){var t=d.parse(e,!0);if(t.hostname&&(!t.protocol||k.indexOf(t.protocol)>=0))try{t.hostname=m.toUnicode(t.hostname)}catch(r){}return d.decode(d.format(t))}function s(e,t){return this instanceof s?(t||a.isString(e)||(t=e||{},e="default"),this.inline=new f,this.block=new p,this.core=new c,this.renderer=new l,this.linkify=new h,this.validateLink=n,this.normalizeLink=o,this.normalizeLinkText=i,this.utils=a,this.helpers=u,this.options={},this.configure(e),void(t&&this.set(t))):new s(e,t)}var a=e("./common/utils"),u=e("./helpers"),l=e("./renderer"),c=e("./parser_core"),p=e("./parser_block"),f=e("./parser_inline"),h=e("linkify-it"),d=e("mdurl"),m=e("punycode"),g={"default":e("./presets/default"),zero:e("./presets/zero"),commonmark:e("./presets/commonmark")},v=/^(vbscript|javascript|file|data):/,y=/^data:image\/(gif|png|jpeg|webp);/,k=["http:","https:","mailto:"];s.prototype.set=function(e){return a.assign(this.options,e),this},s.prototype.configure=function(e){var t,r=this;if(a.isString(e)&&(t=e,e=g[t],!e))throw new Error('Wrong `markdown-it` preset "'+t+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&r.set(e.options),e.components&&Object.keys(e.components).forEach(function(t){e.components[t].rules&&r[t].ruler.enableOnly(e.components[t].rules)}),this},s.prototype.enable=function(e,t){var r=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.enable(e,!0))},this);var n=e.filter(function(e){return r.indexOf(e)<0});if(n.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},s.prototype.disable=function(e,t){var r=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.disable(e,!0))},this);var n=e.filter(function(e){return r.indexOf(e)<0});if(n.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},s.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},s.prototype.parse=function(e,t){var r=new this.core.State(e,this,t);return this.core.process(r),r.tokens},s.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},s.prototype.parseInline=function(e,t){var r=new this.core.State(e,this,t);return r.inlineMode=!0,this.core.process(r),r.tokens},s.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},t.exports=s},{"./common/utils":69,"./helpers":70,"./parser_block":75,"./parser_core":76,"./parser_inline":77,"./presets/commonmark":78,"./presets/default":79,"./presets/zero":80,"./renderer":81,"linkify-it":62,mdurl:118,punycode:2}],75:[function(e,t,r){"use strict";function n(){this.ruler=new o;for(var e=0;ea&&(e.line=a=e.skipEmptyLines(a),!(a>=r))&&!(e.tShift[a]=l){e.line=r;break}for(o=0;s>o&&!(n=i[o](e,a,r,!1));o++);if(e.tight=!u,e.isEmpty(e.line-1)&&(u=!0),a=e.line,r>a&&e.isEmpty(a)){if(u=!0,a++,r>a&&"list"===e.parentType&&e.isEmpty(a))break;e.line=a}}},n.prototype.parse=function(e,t,r,n){var o;return e?(o=new this.State(e,t,r,n),void this.tokenize(o,o.line,o.lineMax)):[]},n.prototype.State=e("./rules_block/state_block"),t.exports=n},{"./ruler":82,"./rules_block/blockquote":83,"./rules_block/code":84,"./rules_block/fence":85,"./rules_block/heading":86,"./rules_block/hr":87,"./rules_block/html_block":88,"./rules_block/lheading":89,"./rules_block/list":90,"./rules_block/paragraph":91,"./rules_block/reference":92,"./rules_block/state_block":93,"./rules_block/table":94}],76:[function(e,t,r){"use strict";function n(){this.ruler=new o;for(var e=0;et;t++)n[t](e)},n.prototype.State=e("./rules_core/state_core"),t.exports=n},{"./ruler":82,"./rules_core/block":95,"./rules_core/inline":96,"./rules_core/linkify":97,"./rules_core/normalize":98,"./rules_core/replacements":99,"./rules_core/smartquotes":100,"./rules_core/state_core":101}],77:[function(e,t,r){"use strict";function n(){this.ruler=new o;for(var e=0;et;t++)if(n[t](e,!0))return void(s[r]=e.pos);e.pos++,s[r]=e.pos},n.prototype.tokenize=function(e){for(var t,r,n=this.ruler.getRules(""),o=n.length,i=e.posMax,s=e.md.options.maxNesting;e.posr&&!(t=n[r](e,!1));r++);if(t){if(e.pos>=i)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},n.prototype.parse=function(e,t,r,n){var o=new this.State(e,t,r,n);this.tokenize(o)},n.prototype.State=e("./rules_inline/state_inline"),t.exports=n},{"./ruler":82,"./rules_inline/autolink":102,"./rules_inline/backticks":103,"./rules_inline/emphasis":104,"./rules_inline/entity":105,"./rules_inline/escape":106,"./rules_inline/html_inline":107,"./rules_inline/image":108,"./rules_inline/link":109,"./rules_inline/newline":110,"./rules_inline/state_inline":111,"./rules_inline/strikethrough":112,"./rules_inline/text":113}],78:[function(e,t,r){"use strict";t.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"]}}}},{}],79:[function(e,t,r){"use strict";t.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}}},{}],80:[function(e,t,r){"use strict";t.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline"]},block:{rules:["paragraph"]},inline:{rules:["text"]}}}},{}],81:[function(e,t,r){"use strict";function n(){this.rules=o({},a)}var o=e("./common/utils").assign,i=e("./common/utils").unescapeAll,s=e("./common/utils").escapeHtml,a={};a.code_inline=function(e,t){return""+s(e[t].content)+""},a.code_block=function(e,t){return"
"+s(e[t].content)+"
\n"},a.fence=function(e,t,r,n,o){var a,u=e[t],l=u.info?i(u.info).trim():"",c="";return l&&(c=l.split(/\s+/g)[0],u.attrPush(["class",r.langPrefix+c])),a=r.highlight?r.highlight(u.content,c)||s(u.content):s(u.content),"
"+a+"
\n"},a.image=function(e,t,r,n,o){var i=e[t];return i.attrs[i.attrIndex("alt")][1]=o.renderInlineAsText(i.children,r,n),o.renderToken(e,t,r)},a.hardbreak=function(e,t,r){return r.xhtmlOut?"
\n":"
\n"},a.softbreak=function(e,t,r){return r.breaks?r.xhtmlOut?"
\n":"
\n":"\n"},a.text=function(e,t){return s(e[t].content)},a.html_block=function(e,t){return e[t].content},a.html_inline=function(e,t){return e[t].content},n.prototype.renderAttrs=function(e){var t,r,n;if(!e.attrs)return"";for(n="",t=0,r=e.attrs.length;r>t;t++)n+=" "+s(e.attrs[t][0])+'="'+s(e.attrs[t][1])+'"';return n},n.prototype.renderToken=function(e,t,r){var n,o="",i=!1,s=e[t];return s.hidden?"":(s.block&&-1!==s.nesting&&t&&e[t-1].hidden&&(o+="\n"),o+=(-1===s.nesting?"\n":">")},n.prototype.renderInline=function(e,t,r){for(var n,o="",i=this.rules,s=0,a=e.length;a>s;s++)n=e[s].type,o+="undefined"!=typeof i[n]?i[n](e,s,t,r,this):this.renderToken(e,s,t);return o},n.prototype.renderInlineAsText=function(e,t,r){for(var n="",o=this.rules,i=0,s=e.length;s>i;i++)"text"===e[i].type?n+=o.text(e,i,t,r,this):"image"===e[i].type&&(n+=this.renderInlineAsText(e[i].children,t,r));return n},n.prototype.render=function(e,t,r){var n,o,i,s="",a=this.rules;for(n=0,o=e.length;o>n;n++)i=e[n].type,s+="inline"===i?this.renderInline(e[n].children,t,r):"undefined"!=typeof a[i]?a[e[n].type](e,n,t,r,this):this.renderToken(e,n,t,r);return s},t.exports=n},{"./common/utils":69}],82:[function(e,t,r){"use strict";function n(){this.__rules__=[],this.__cache__=null}n.prototype.__find__=function(e){for(var t=0;tn){if(t)return;throw new Error("Rules manager: invalid rule name "+e)}this.__rules__[n].enabled=!0,r.push(e)},this),this.__cache__=null,r},n.prototype.enableOnly=function(e,t){Array.isArray(e)||(e=[e]),this.__rules__.forEach(function(e){e.enabled=!1}),this.enable(e,t)},n.prototype.disable=function(e,t){Array.isArray(e)||(e=[e]);var r=[];return e.forEach(function(e){var n=this.__find__(e);if(0>n){if(t)return;throw new Error("Rules manager: invalid rule name "+e)}this.__rules__[n].enabled=!1,r.push(e)},this),this.__cache__=null,r},n.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},t.exports=n},{}],83:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){var o,i,s,a,u,l,c,p,f,h,d,m,g=e.bMarks[t]+e.tShift[t],v=e.eMarks[t];if(62!==e.src.charCodeAt(g++))return!1;if(n)return!0;for(32===e.src.charCodeAt(g)&&g++,u=e.blkIndent,e.blkIndent=0,a=[e.bMarks[t]],e.bMarks[t]=g,g=v>g?e.skipSpaces(g):g,i=g>=v,s=[e.tShift[t]],e.tShift[t]=g-e.bMarks[t],p=e.md.block.ruler.getRules("blockquote"),o=t+1;r>o&&!(e.tShift[o]=v));o++)if(62!==e.src.charCodeAt(g++)){if(i)break;for(m=!1,h=0,d=p.length;d>h;h++)if(p[h](e,o,r,!0)){m=!0;break}if(m)break;a.push(e.bMarks[o]),s.push(e.tShift[o]),e.tShift[o]=-1}else 32===e.src.charCodeAt(g)&&g++,a.push(e.bMarks[o]),e.bMarks[o]=g,g=v>g?e.skipSpaces(g):g,i=g>=v,s.push(e.tShift[o]),e.tShift[o]=g-e.bMarks[o];for(l=e.parentType,e.parentType="blockquote",f=e.push("blockquote_open","blockquote",1),f.markup=">",f.map=c=[t,0],e.md.block.tokenize(e,t,o),f=e.push("blockquote_close","blockquote",-1),f.markup=">",e.parentType=l,c[1]=e.line,h=0;hn;)if(e.isEmpty(n))n++;else{if(!(e.tShift[n]-e.blkIndent>=4))break;n++,o=n}return e.line=n,i=e.push("code_block","code",0),i.content=e.getLines(t,o,4+e.blkIndent,!0),i.map=[t,e.line],!0}},{}],85:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){var o,i,s,a,u,l,c,p=!1,f=e.bMarks[t]+e.tShift[t],h=e.eMarks[t];if(f+3>h)return!1;if(o=e.src.charCodeAt(f),126!==o&&96!==o)return!1;if(u=f,f=e.skipChars(f,o),i=f-u,3>i)return!1;if(c=e.src.slice(u,f),s=e.src.slice(f,h),s.indexOf("`")>=0)return!1;if(n)return!0;for(a=t;(a++,!(a>=r))&&(f=u=e.bMarks[a]+e.tShift[a],h=e.eMarks[a],!(h>f&&e.tShift[a]=4||(f=e.skipChars(f,o),i>f-u||(f=e.skipSpaces(f),h>f)))){p=!0;break}return i=e.tShift[t],e.line=a+(p?1:0),l=e.push("fence","code",0),l.info=s,l.content=e.getLines(t+1,a,i,!0),l.markup=c,l.map=[t,e.line],!0}},{}],86:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){var o,i,s,a,u=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(o=e.src.charCodeAt(u),35!==o||u>=l)return!1;for(i=1,o=e.src.charCodeAt(++u);35===o&&l>u&&6>=i;)i++,o=e.src.charCodeAt(++u);return i>6||l>u&&32!==o?!1:n?!0:(l=e.skipCharsBack(l,32,u),s=e.skipCharsBack(l,35,u),s>u&&32===e.src.charCodeAt(s-1)&&(l=s),e.line=t+1,a=e.push("heading_open","h"+String(i),1),a.markup="########".slice(0,i),a.map=[t,e.line],a=e.push("inline","",0),a.content=e.src.slice(u,l).trim(),a.map=[t,e.line],a.children=[],a=e.push("heading_close","h"+String(i),-1),a.markup="########".slice(0,i),!0)}},{}],87:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){var o,i,s,a,u=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(o=e.src.charCodeAt(u++),42!==o&&45!==o&&95!==o)return!1;for(i=1;l>u;){if(s=e.src.charCodeAt(u++),s!==o&&32!==s)return!1;s===o&&i++}return 3>i?!1:n?!0:(e.line=t+1,a=e.push("hr","hr",0),a.map=[t,e.line],a.markup=Array(i+1).join(String.fromCharCode(o)),!0)}},{}],88:[function(e,t,r){"use strict";var n=e("../common/html_blocks"),o=e("../common/html_re").HTML_OPEN_CLOSE_TAG_RE,i=[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(o.source+"\\s*$"),/^$/,!1]];t.exports=function(e,t,r,n){var o,s,a,u,l=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(l))return!1;for(u=e.src.slice(l,c),o=0;os&&!(e.tShift[s]=r?!1:e.tShift[u]3?!1:(o=e.bMarks[u]+e.tShift[u],i=e.eMarks[u],o>=i?!1:(n=e.src.charCodeAt(o),45!==n&&61!==n?!1:(o=e.skipChars(o,n),o=e.skipSpaces(o),i>o?!1:(o=e.bMarks[t]+e.tShift[t],e.line=u+1,a=61===n?1:2,s=e.push("heading_open","h"+String(a),1),s.markup=String.fromCharCode(n),s.map=[t,e.line],s=e.push("inline","",0),s.content=e.src.slice(o,e.eMarks[t]).trim(),s.map=[t,e.line-1],s.children=[],s=e.push("heading_close","h"+String(a),-1),s.markup=String.fromCharCode(n),!0))))}},{}],90:[function(e,t,r){"use strict";function n(e,t){var r,n,o;return n=e.bMarks[t]+e.tShift[t],o=e.eMarks[t],r=e.src.charCodeAt(n++),42!==r&&45!==r&&43!==r?-1:o>n&&32!==e.src.charCodeAt(n)?-1:n}function o(e,t){var r,n=e.bMarks[t]+e.tShift[t],o=n,i=e.eMarks[t];if(o+1>=i)return-1;if(r=e.src.charCodeAt(o++),48>r||r>57)return-1;for(;;){if(o>=i)return-1;r=e.src.charCodeAt(o++);{if(!(r>=48&&57>=r)){if(41===r||46===r)break;return-1}if(o-n>=10)return-1}}return i>o&&32!==e.src.charCodeAt(o)?-1:o}function i(e,t){var r,n,o=e.level+2;for(r=t+2,n=e.tokens.length-2;n>r;r++)e.tokens[r].level===o&&"paragraph_open"===e.tokens[r].type&&(e.tokens[r+2].hidden=!0,e.tokens[r].hidden=!0,r+=2)}t.exports=function(e,t,r,s){var a,u,l,c,p,f,h,d,m,g,v,y,k,b,w,_,x,C,M,S,A,O,P,T=!0;if((d=o(e,t))>=0)k=!0;else{if(!((d=n(e,t))>=0))return!1;k=!1}if(y=e.src.charCodeAt(d-1),s)return!0;for(w=e.tokens.length,k?(h=e.bMarks[t]+e.tShift[t],v=Number(e.src.substr(h,d-h-1)),S=e.push("ordered_list_open","ol",1),1!==v&&(S.attrs=[["start",v]])):S=e.push("bullet_list_open","ul",1),S.map=x=[t,0],S.markup=String.fromCharCode(y),a=t,_=!1,M=e.md.block.ruler.getRules("list");!(!(r>a)||(b=e.skipSpaces(d),m=e.eMarks[a],g=b>=m?1:b-d,g>4&&(g=1),u=d-e.bMarks[a]+g,S=e.push("list_item_open","li",1),S.markup=String.fromCharCode(y),S.map=C=[t,0],c=e.blkIndent,p=e.tight,l=e.tShift[t],f=e.parentType,e.tShift[t]=b-e.bMarks[t],e.blkIndent=u,e.tight=!0,e.parentType="list",e.md.block.tokenize(e,t,r,!0),(!e.tight||_)&&(T=!1),_=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=c,e.tShift[t]=l,e.tight=p,e.parentType=f,S=e.push("list_item_close","li",-1),S.markup=String.fromCharCode(y),a=t=e.line,C[1]=a,b=e.bMarks[t],a>=r)||e.isEmpty(a)||e.tShift[a]A;A++)if(M[A](e,a,r,!0)){P=!0;break}if(P)break;if(k){if(d=o(e,a),0>d)break}else if(d=n(e,a),0>d)break;if(y!==e.src.charCodeAt(d-1))break}return S=k?e.push("ordered_list_close","ol",-1):e.push("bullet_list_close","ul",-1),S.markup=String.fromCharCode(y),x[1]=a,e.line=a,T&&i(e,w),!0}},{}],91:[function(e,t,r){"use strict";t.exports=function(e,t){for(var r,n,o,i,s,a=t+1,u=e.md.block.ruler.getRules("paragraph"),l=e.lineMax;l>a&&!e.isEmpty(a);a++)if(!(e.tShift[a]-e.blkIndent>3||e.tShift[a]<0)){for(n=!1,o=0,i=u.length;i>o;o++)if(u[o](e,a,l,!0)){n=!0;break}if(n)break}return r=e.getLines(t,a,e.blkIndent,!1).trim(),e.line=a,s=e.push("paragraph_open","p",1),s.map=[t,e.line],s=e.push("inline","",0),s.content=r,s.map=[t,e.line],s.children=[],s=e.push("paragraph_close","p",-1),!0}},{}],92:[function(e,t,r){"use strict";var n=e("../helpers/parse_link_destination"),o=e("../helpers/parse_link_title"),i=e("../common/utils").normalizeReference;t.exports=function(e,t,r,s){var a,u,l,c,p,f,h,d,m,g,v,y,k,b,w,_=0,x=e.bMarks[t]+e.tShift[t],C=e.eMarks[t],M=t+1;if(91!==e.src.charCodeAt(x))return!1;for(;++xM&&!e.isEmpty(M);M++)if(!(e.tShift[M]-e.blkIndent>3||e.tShift[M]<0)){for(k=!1,f=0,h=b.length;h>f;f++)if(b[f](e,M,c,!0)){k=!0;break}if(k)break}for(y=e.getLines(t,M,e.blkIndent,!1).trim(),C=y.length,x=1;C>x;x++){if(a=y.charCodeAt(x),91===a)return!1;if(93===a){m=x;break}10===a?_++:92===a&&(x++,C>x&&10===y.charCodeAt(x)&&_++)}if(0>m||58!==y.charCodeAt(m+1))return!1;for(x=m+2;C>x;x++)if(a=y.charCodeAt(x),10===a)_++;else if(32!==a)break;if(g=n(y,x,C),!g.ok)return!1;if(p=e.md.normalizeLink(g.str),!e.md.validateLink(p))return!1;for(x=g.pos,_+=g.lines,u=x,l=_,v=x;C>x;x++)if(a=y.charCodeAt(x),10===a)_++;else if(32!==a)break;for(g=o(y,x,C),C>x&&v!==x&&g.ok?(w=g.str,x=g.pos,_+=g.lines):(w="",x=u,_=l);C>x&&32===y.charCodeAt(x);)x++;if(C>x&&10!==y.charCodeAt(x)&&w)for(w="",x=u,_=l;C>x&&32===y.charCodeAt(x);)x++;return C>x&&10!==y.charCodeAt(x)?!1:(d=i(y.slice(1,m)))?s?!0:("undefined"==typeof e.env.references&&(e.env.references={}),"undefined"==typeof e.env.references[d]&&(e.env.references[d]={title:w,href:p}),e.line=t+_+1,!0):!1}},{"../common/utils":69,"../helpers/parse_link_destination":71,"../helpers/parse_link_title":73}],93:[function(e,t,r){"use strict";function n(e,t,r,n){var o,i,s,a,u,l,c;for(this.src=e,this.md=t,this.env=r,this.tokens=n,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType="root",this.ddIndent=-1,this.level=0,this.result="",i=this.src,l=0,c=!1,s=a=l=0,u=i.length;u>a;a++){if(o=i.charCodeAt(a),!c){if(32===o){l++;continue}c=!0}(10===o||a===u-1)&&(10!==o&&a++,this.bMarks.push(s),this.eMarks.push(a),this.tShift.push(l),c=!1,l=0,s=a+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}var o=e("../token");n.prototype.push=function(e,t,r){var n=new o(e,t,r);return n.block=!0,0>r&&this.level--,n.level=this.level,r>0&&this.level++,this.tokens.push(n),n},n.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},n.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;t>e&&!(this.bMarks[e]+this.tShift[e]e&&32===this.src.charCodeAt(e);e++);return e},n.prototype.skipChars=function(e,t){for(var r=this.src.length;r>e&&this.src.charCodeAt(e)===t;e++);return e},n.prototype.skipCharsBack=function(e,t,r){if(r>=e)return e;for(;e>r;)if(t!==this.src.charCodeAt(--e))return e+1;return e},n.prototype.getLines=function(e,t,r,n){var o,i,s,a,u,l=e;if(e>=t)return"";if(l+1===t)return i=this.bMarks[l]+Math.min(this.tShift[l],r),s=this.eMarks[t-1]+(n?1:0),this.src.slice(i,s);for(a=new Array(t-e),o=0;t>l;l++,o++)u=this.tShift[l],u>r&&(u=r),0>u&&(u=0),i=this.bMarks[l]+u,s=t>l+1||n?this.eMarks[l]+1:this.eMarks[l],a[o]=this.src.slice(i,s);return a.join("")},n.prototype.Token=o,t.exports=n},{"../token":114}],94:[function(e,t,r){"use strict";function n(e,t){var r=e.bMarks[t]+e.blkIndent,n=e.eMarks[t];return e.src.substr(r,n-r)}function o(e){var t,r=[],n=0,o=e.length,i=0,s=0,a=!1,u=0;for(t=e.charCodeAt(n);o>n;)96===t&&i%2===0?(a=!a,u=n):124!==t||i%2!==0||a?92===t?i++:i=0:(r.push(e.substring(s,n)),s=n+1),n++,n===o&&a&&(a=!1,n=u+1),t=e.charCodeAt(n);return r.push(e.substring(s)),r}t.exports=function(e,t,r,i){var s,a,u,l,c,p,f,h,d,m,g;if(t+2>r)return!1;if(c=t+1,e.tShift[c]=e.eMarks[c])return!1;if(s=e.src.charCodeAt(u),124!==s&&45!==s&&58!==s)return!1;if(a=n(e,t+1),!/^[-:| ]+$/.test(a))return!1;if(p=a.split("|"),p.length<2)return!1;for(h=[],l=0;lc&&!(e.tShift[c]r;r++)t=o[r],"inline"===t.type&&e.md.inline.parse(t.content,e.md,e.env,t.children)}},{}],97:[function(e,t,r){"use strict";function n(e){return/^\s]/i.test(e)}function o(e){return/^<\/a\s*>/i.test(e)}var i=e("../common/utils").arrayReplaceAt;t.exports=function(e){var t,r,s,a,u,l,c,p,f,h,d,m,g,v,y,k,b,w=e.tokens;if(e.md.options.linkify)for(r=0,s=w.length;s>r;r++)if("inline"===w[r].type&&e.md.linkify.pretest(w[r].content))for(a=w[r].children,g=0,t=a.length-1;t>=0;t--)if(l=a[t],"link_close"!==l.type){if("html_inline"===l.type&&(n(l.content)&&g>0&&g--,o(l.content)&&g++),!(g>0)&&"text"===l.type&&e.md.linkify.test(l.content)){for(f=l.content,b=e.md.linkify.match(f),c=[],m=l.level,d=0,p=0;pd&&(u=new e.Token("text","",0),u.content=f.slice(d,h),u.level=m,c.push(u)),u=new e.Token("link_open","a",1),u.attrs=[["href",y]],u.level=m++,u.markup="linkify",u.info="auto",c.push(u),u=new e.Token("text","",0),u.content=k,u.level=m,c.push(u),u=new e.Token("link_close","a",-1),u.level=--m,u.markup="linkify",u.info="auto",c.push(u),d=b[p].lastIndex);d=0&&(r=0,s=0,t=t.replace(n,function(e,n){var o;return 10===t.charCodeAt(n)?(r=n+1,s=0,e):(o=" ".slice((n-r-s)%4),s=n-r+1,o)})),e.src=t}},{}],99:[function(e,t,r){"use strict";function n(e,t){return l[t.toLowerCase()]}function o(e){var t,r;for(t=e.length-1;t>=0;t--)r=e[t],"text"===r.type&&(r.content=r.content.replace(u,n))}function i(e){var t,r;for(t=e.length-1;t>=0;t--)r=e[t],"text"===r.type&&s.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1—$2").replace(/(^|\s)--(\s|$)/gm,"$1–$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1–$2"))}var s=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,a=/\((c|tm|r|p)\)/i,u=/\((c|tm|r|p)\)/gi,l={c:"©",r:"®",p:"§",tm:"™"};t.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)"inline"===e.tokens[t].type&&(a.test(e.tokens[t].content)&&o(e.tokens[t].children),s.test(e.tokens[t].content)&&i(e.tokens[t].children))}},{}],100:[function(e,t,r){"use strict";function n(e,t,r){return e.substr(0,t)+r+e.substr(t+1)}function o(e,t){var r,o,u,p,f,h,d,m,g,v,y,k,b,w,_,x,C,M,S,A,O;for(S=[],r=0;r=0&&!(S[C].level<=d);C--);if(S.length=C+1,"text"===o.type){u=o.content,f=0,h=u.length;e:for(;h>f&&(l.lastIndex=f,p=l.exec(u));)if(_=x=!0,f=p.index+1,M="'"===p[0],g=p.index-1>=0?u.charCodeAt(p.index-1):32,v=h>f?u.charCodeAt(f):32,y=a(g)||s(String.fromCharCode(g)),k=a(v)||s(String.fromCharCode(v)),b=i(g),w=i(v),w?_=!1:k&&(b||y||(_=!1)),b?x=!1:y&&(w||k||(x=!1)),34===v&&'"'===p[0]&&g>=48&&57>=g&&(x=_=!1),_&&x&&(_=!1,x=k),_||x){if(x)for(C=S.length-1;C>=0&&(m=S[C],!(S[C].level=0;t--)"inline"===e.tokens[t].type&&u.test(e.tokens[t].content)&&o(e.tokens[t].children,e)}},{"../common/utils":69}],101:[function(e,t,r){"use strict";function n(e,t,r){this.src=e,this.env=r,this.tokens=[],this.inlineMode=!1,this.md=t}var o=e("../token");n.prototype.Token=o,t.exports=n},{"../token":114}],102:[function(e,t,r){"use strict";var n=e("../common/url_schemas"),o=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,i=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;t.exports=function(e,t){var r,s,a,u,l,c,p=e.pos;return 60!==e.src.charCodeAt(p)?!1:(r=e.src.slice(p),r.indexOf(">")<0?!1:i.test(r)?(s=r.match(i),n.indexOf(s[1].toLowerCase())<0?!1:(u=s[0].slice(1,-1),l=e.md.normalizeLink(u),e.md.validateLink(l)?(t||(c=e.push("link_open","a",1),c.attrs=[["href",l]],c=e.push("text","",0),c.content=e.md.normalizeLinkText(u),c=e.push("link_close","a",-1)),e.pos+=s[0].length,!0):!1)):o.test(r)?(a=r.match(o),u=a[0].slice(1,-1),l=e.md.normalizeLink("mailto:"+u),e.md.validateLink(l)?(t||(c=e.push("link_open","a",1),c.attrs=[["href",l]],c.markup="autolink",c.info="auto",c=e.push("text","",0),c.content=e.md.normalizeLinkText(u),c=e.push("link_close","a",-1),c.markup="autolink",c.info="auto"),e.pos+=a[0].length,!0):!1):!1)}},{"../common/url_schemas":68}],103:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,o,i,s,a,u=e.pos,l=e.src.charCodeAt(u);if(96!==l)return!1;for(r=u,u++,n=e.posMax;n>u&&96===e.src.charCodeAt(u);)u++;for(o=e.src.slice(r,u),i=s=u;-1!==(i=e.src.indexOf("`",s));){for(s=i+1;n>s&&96===e.src.charCodeAt(s);)s++;if(s-i===o.length)return t||(a=e.push("code_inline","code",0),a.markup=o,a.content=e.src.slice(u,i).replace(/[ \n]+/g," ").trim()),e.pos=s,!0}return t||(e.pending+=o),e.pos+=o.length,!0}},{}],104:[function(e,t,r){"use strict";function n(e,t){var r,n,a,u,l,c,p,f,h,d=t,m=!0,g=!0,v=e.posMax,y=e.src.charCodeAt(t);for(r=t>0?e.src.charCodeAt(t-1):32;v>d&&e.src.charCodeAt(d)===y;)d++;return a=d-t,n=v>d?e.src.charCodeAt(d):32,p=s(r)||i(String.fromCharCode(r)),h=s(n)||i(String.fromCharCode(n)),c=o(r),f=o(n),f?m=!1:h&&(c||p||(m=!1)),c?g=!1:p&&(f||h||(g=!1)),95===y?(u=m&&(!g||p),l=g&&(!m||h)):(u=m,l=g),{can_open:u,can_close:l,delims:a}}var o=e("../common/utils").isWhiteSpace,i=e("../common/utils").isPunctChar,s=e("../common/utils").isMdAsciiPunct;t.exports=function(e,t){var r,o,i,s,a,u,l,c,p=e.posMax,f=e.pos,h=e.src.charCodeAt(f);if(95!==h&&42!==h)return!1;if(t)return!1;if(l=n(e,f),r=l.delims,!l.can_open)return e.pos+=r,e.pending+=e.src.slice(f,e.pos),!0;for(e.pos=f+r,u=[r];e.posa){u.push(s-a);break}if(a-=s,0===u.length)break;e.pos+=s,s=u.pop()}if(0===u.length){r=s,i=!0;break}e.pos+=o;continue}l.can_open&&u.push(o),e.pos+=o}if(!i)return e.pos=f,!1;for(e.posMax=e.pos,e.pos=f+r,o=r;o>1;o-=2)c=e.push("strong_open","strong",1),c.markup=String.fromCharCode(h)+String.fromCharCode(h);for(o%2&&(c=e.push("em_open","em",1),c.markup=String.fromCharCode(h)),e.md.inline.tokenize(e),o%2&&(c=e.push("em_close","em",-1),c.markup=String.fromCharCode(h)),o=r;o>1;o-=2)c=e.push("strong_close","strong",-1),c.markup=String.fromCharCode(h)+String.fromCharCode(h);return e.pos=e.posMax+r,e.posMax=p,!0}},{"../common/utils":69}],105:[function(e,t,r){"use strict";var n=e("../common/entities"),o=e("../common/utils").has,i=e("../common/utils").isValidEntityCode,s=e("../common/utils").fromCodePoint,a=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,u=/^&([a-z][a-z0-9]{1,31});/i;t.exports=function(e,t){var r,l,c,p=e.pos,f=e.posMax;if(38!==e.src.charCodeAt(p))return!1;if(f>p+1)if(r=e.src.charCodeAt(p+1),35===r){if(c=e.src.slice(p).match(a))return t||(l="x"===c[1][0].toLowerCase()?parseInt(c[1].slice(1),16):parseInt(c[1],10),e.pending+=s(i(l)?l:65533)),e.pos+=c[0].length,!0}else if(c=e.src.slice(p).match(u),c&&o(n,c[1]))return t||(e.pending+=n[c[1]]),e.pos+=c[0].length,!0;return t||(e.pending+="&"),e.pos++,!0}},{"../common/entities":65,"../common/utils":69}],106:[function(e,t,r){"use strict";for(var n=[],o=0;256>o;o++)n.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){n[e.charCodeAt(0)]=1}),t.exports=function(e,t){var r,o=e.pos,i=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(o++,i>o){if(r=e.src.charCodeAt(o),256>r&&0!==n[r])return t||(e.pending+=e.src[o]),e.pos+=2,!0;if(10===r){for(t||e.push("hardbreak","br",0),o++;i>o&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}}return t||(e.pending+="\\"),e.pos++,!0}},{}],107:[function(e,t,r){"use strict";function n(e){var t=32|e;return t>=97&&122>=t}var o=e("../common/html_re").HTML_TAG_RE;t.exports=function(e,t){var r,i,s,a,u=e.pos;return e.md.options.html?(s=e.posMax,60!==e.src.charCodeAt(u)||u+2>=s?!1:(r=e.src.charCodeAt(u+1),(33===r||63===r||47===r||n(r))&&(i=e.src.slice(u).match(o))?(t||(a=e.push("html_inline","",0),a.content=e.src.slice(u,u+i[0].length)),e.pos+=i[0].length,!0):!1)):!1}},{"../common/html_re":67}],108:[function(e,t,r){"use strict";var n=e("../helpers/parse_link_label"),o=e("../helpers/parse_link_destination"),i=e("../helpers/parse_link_title"),s=e("../common/utils").normalizeReference;t.exports=function(e,t){var r,a,u,l,c,p,f,h,d,m,g,v,y="",k=e.pos,b=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(c=e.pos+2,l=n(e,e.pos+1,!1),0>l)return!1;if(p=l+1,b>p&&40===e.src.charCodeAt(p)){for(p++;b>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(p>=b)return!1;for(v=p,h=o(e.src,p,e.posMax),h.ok&&(y=e.md.normalizeLink(h.str),e.md.validateLink(y)?p=h.pos:y=""),v=p;b>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(h=i(e.src,p,e.posMax),b>p&&v!==p&&h.ok)for(d=h.str,p=h.pos;b>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);else d="";if(p>=b||41!==e.src.charCodeAt(p))return e.pos=k,!1;p++}else{if("undefined"==typeof e.env.references)return!1;for(;b>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(b>p&&91===e.src.charCodeAt(p)?(v=p+1,p=n(e,p),p>=0?u=e.src.slice(v,p++):p=l+1):p=l+1,u||(u=e.src.slice(c,l)),f=e.env.references[s(u)],!f)return e.pos=k,!1;y=f.href,d=f.title}if(!t){e.pos=c,e.posMax=l;var w=new e.md.inline.State(e.src.slice(c,l),e.md,e.env,g=[]);w.md.inline.tokenize(w),m=e.push("image","img",0),m.attrs=r=[["src",y],["alt",""]],m.children=g,d&&r.push(["title",d]); +}return e.pos=p,e.posMax=b,!0}},{"../common/utils":69,"../helpers/parse_link_destination":71,"../helpers/parse_link_label":72,"../helpers/parse_link_title":73}],109:[function(e,t,r){"use strict";var n=e("../helpers/parse_link_label"),o=e("../helpers/parse_link_destination"),i=e("../helpers/parse_link_title"),s=e("../common/utils").normalizeReference;t.exports=function(e,t){var r,a,u,l,c,p,f,h,d,m,g="",v=e.pos,y=e.posMax,k=e.pos;if(91!==e.src.charCodeAt(e.pos))return!1;if(c=e.pos+1,l=n(e,e.pos,!0),0>l)return!1;if(p=l+1,y>p&&40===e.src.charCodeAt(p)){for(p++;y>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(p>=y)return!1;for(k=p,f=o(e.src,p,e.posMax),f.ok&&(g=e.md.normalizeLink(f.str),e.md.validateLink(g)?p=f.pos:g=""),k=p;y>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(f=i(e.src,p,e.posMax),y>p&&k!==p&&f.ok)for(d=f.str,p=f.pos;y>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);else d="";if(p>=y||41!==e.src.charCodeAt(p))return e.pos=v,!1;p++}else{if("undefined"==typeof e.env.references)return!1;for(;y>p&&(a=e.src.charCodeAt(p),32===a||10===a);p++);if(y>p&&91===e.src.charCodeAt(p)?(k=p+1,p=n(e,p),p>=0?u=e.src.slice(k,p++):p=l+1):p=l+1,u||(u=e.src.slice(c,l)),h=e.env.references[s(u)],!h)return e.pos=v,!1;g=h.href,d=h.title}return t||(e.pos=c,e.posMax=l,m=e.push("link_open","a",1),m.attrs=r=[["href",g]],d&&r.push(["title",d]),e.md.inline.tokenize(e),m=e.push("link_close","a",-1)),e.pos=p,e.posMax=y,!0}},{"../common/utils":69,"../helpers/parse_link_destination":71,"../helpers/parse_link_label":72,"../helpers/parse_link_title":73}],110:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;for(r=e.pending.length-1,n=e.posMax,t||(r>=0&&32===e.pending.charCodeAt(r)?r>=1&&32===e.pending.charCodeAt(r-1)?(e.pending=e.pending.replace(/ +$/,""),e.push("hardbreak","br",0)):(e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0)):e.push("softbreak","br",0)),o++;n>o&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}},{}],111:[function(e,t,r){"use strict";function n(e,t,r,n){this.src=e,this.env=r,this.md=t,this.tokens=n,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={}}var o=e("../token");n.prototype.pushPending=function(){var e=new o("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e},n.prototype.push=function(e,t,r){this.pending&&this.pushPending();var n=new o(e,t,r);return 0>r&&this.level--,n.level=this.level,r>0&&this.level++,this.pendingLevel=this.level,this.tokens.push(n),n},n.prototype.Token=o,t.exports=n},{"../token":114}],112:[function(e,t,r){"use strict";function n(e,t){var r,n,a,u,l,c,p,f=t,h=!0,d=!0,m=e.posMax,g=e.src.charCodeAt(t);for(r=t>0?e.src.charCodeAt(t-1):32;m>f&&e.src.charCodeAt(f)===g;)f++;return f>=m&&(h=!1),a=f-t,n=m>f?e.src.charCodeAt(f):32,l=s(r)||i(String.fromCharCode(r)),p=s(n)||i(String.fromCharCode(n)),u=o(r),c=o(n),c?h=!1:p&&(u||l||(h=!1)),u?d=!1:l&&(c||p||(d=!1)),{can_open:h,can_close:d,delims:a}}var o=e("../common/utils").isWhiteSpace,i=e("../common/utils").isPunctChar,s=e("../common/utils").isMdAsciiPunct;t.exports=function(e,t){var r,o,i,s,a,u,l,c=e.posMax,p=e.pos,f=e.src.charCodeAt(p);if(126!==f)return!1;if(t)return!1;if(u=n(e,p),r=u.delims,!u.can_open)return e.pos+=r,e.pending+=e.src.slice(p,e.pos),!0;if(a=Math.floor(r/2),0>=a)return!1;for(e.pos=p+r;e.pos=a){e.pos+=o-2,s=!0;break}a-=i,e.pos+=o;continue}u.can_open&&(a+=i),e.pos+=o}return s?(e.posMax=e.pos,e.pos=p+2,l=e.push("s_open","s",1),l.markup="~~",e.md.inline.tokenize(e),l=e.push("s_close","s",-1),l.markup="~~",e.pos=e.posMax+2,e.posMax=c,!0):(e.pos=p,!1)}},{"../common/utils":69}],113:[function(e,t,r){"use strict";function n(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}t.exports=function(e,t){for(var r=e.pos;rr;r++)if(t[r][0]===e)return r;return-1},n.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},t.exports=n},{}],115:[function(e,t,r){"use strict";function n(e){var t,r,n=i[e];if(n)return n;for(n=i[e]=[],t=0;128>t;t++)r=String.fromCharCode(t),n.push(r);for(t=0;tt;t+=3)o=parseInt(e.slice(t+1,t+3),16),128>o?l+=r[o]:192===(224&o)&&n>t+3&&(i=parseInt(e.slice(t+4,t+6),16),128===(192&i))?(u=o<<6&1984|63&i,l+=128>u?"��":String.fromCharCode(u),t+=3):224===(240&o)&&n>t+6&&(i=parseInt(e.slice(t+4,t+6),16),s=parseInt(e.slice(t+7,t+9),16),128===(192&i)&&128===(192&s))?(u=o<<12&61440|i<<6&4032|63&s,l+=2048>u||u>=55296&&57343>=u?"���":String.fromCharCode(u),t+=6):240===(248&o)&&n>t+9&&(i=parseInt(e.slice(t+4,t+6),16),s=parseInt(e.slice(t+7,t+9),16),a=parseInt(e.slice(t+10,t+12),16),128===(192&i)&&128===(192&s)&&128===(192&a))?(u=o<<18&1835008|i<<12&258048|s<<6&4032|63&a,65536>u||u>1114111?l+="����":(u-=65536,l+=String.fromCharCode(55296+(u>>10),56320+(1023&u))),t+=9):l+="�";return l})}var i={};o.defaultChars=";/?:@&=+$,#",o.componentChars="",t.exports=o},{}],116:[function(e,t,r){"use strict";function n(e){var t,r,n=i[e];if(n)return n;for(n=i[e]=[],t=0;128>t;t++)r=String.fromCharCode(t),/^[0-9a-z]$/i.test(r)?n.push(r):n.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2));for(t=0;ti;i++)if(a=e.charCodeAt(i),r&&37===a&&s>i+2&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))c+=e.slice(i,i+3),i+=2;else if(128>a)c+=l[a];else if(a>=55296&&57343>=a){if(a>=55296&&56319>=a&&s>i+1&&(u=e.charCodeAt(i+1),u>=56320&&57343>=u)){c+=encodeURIComponent(e[i]+e[i+1]),i++;continue}c+="%EF%BF%BD"}else c+=encodeURIComponent(e[i]);return c}var i={};o.defaultChars=";/?:@&=+$,-_.!~*'()#",o.componentChars="-_.!~*'()",t.exports=o},{}],117:[function(e,t,r){"use strict";t.exports=function(e){var t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",t+=e.hostname&&-1!==e.hostname.indexOf(":")?"["+e.hostname+"]":e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||""}},{}],118:[function(e,t,r){"use strict";t.exports.encode=e("./encode"),t.exports.decode=e("./decode"),t.exports.format=e("./format"),t.exports.parse=e("./parse")},{"./decode":115,"./encode":116,"./format":117,"./parse":119}],119:[function(e,t,r){"use strict";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}function o(e,t){if(e&&e instanceof n)return e;var r=new n;return r.parse(e,t),r}var i=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,a=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=["<",">",'"',"`"," ","\r","\n"," "],l=["{","}","|","\\","^","`"].concat(u),c=["'"].concat(l),p=["%","/","?",";","#"].concat(c),f=["/","?","#"],h=255,d=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};n.prototype.parse=function(e,t){var r,n,o,s,u,l=e;if(l=l.trim(),!t&&1===e.split("#").length){var c=a.exec(l);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}var y=i.exec(l);if(y&&(y=y[0],o=y.toLowerCase(),this.protocol=y,l=l.substr(y.length)),(t||y||l.match(/^\/\/[^@\/]+@[^@\/]+/))&&(u="//"===l.substr(0,2),!u||y&&g[y]||(l=l.substr(2),this.slashes=!0)),!g[y]&&(u||y&&!v[y])){var k=-1;for(r=0;rs)&&(k=s);var b,w;for(w=-1===k?l.lastIndexOf("@"):l.lastIndexOf("@",k),-1!==w&&(b=l.slice(0,w),l=l.slice(w+1),this.auth=b),k=-1,r=0;rs)&&(k=s);-1===k&&(k=l.length),":"===l[k-1]&&k--;var _=l.slice(0,k);l=l.slice(k),this.parseHost(_),this.hostname=this.hostname||"";var x="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!x){var C=this.hostname.split(/\./);for(r=0,n=C.length;n>r;r++){var M=C[r];if(M&&!M.match(d)){for(var S="",A=0,O=M.length;O>A;A++)S+=M.charCodeAt(A)>127?"x":M[A];if(!S.match(d)){var P=C.slice(0,r),T=C.slice(r+1),E=M.match(m);E&&(P.push(E[1]),T.unshift(E[2])),T.length&&(l=T.join(".")+l),this.hostname=P.join(".");break}}}}this.hostname.length>h&&(this.hostname=""),x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var D=l.indexOf("#");-1!==D&&(this.hash=l.substr(D),l=l.slice(0,D));var j=l.indexOf("?");return-1!==j&&(this.search=l.substr(j),l=l.slice(0,j)),l&&(this.pathname=l),v[o]&&this.hostname&&!this.pathname&&(this.pathname=""),this},n.prototype.parseHost=function(e){var t=s.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},t.exports=o},{}],120:[function(e,t,r){t.exports=/[\0-\x1F\x7F-\x9F]/},{}],121:[function(e,t,r){t.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/},{}],122:[function(e,t,r){t.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDE38-\uDE3D]|\uD805[\uDCC6\uDDC1-\uDDC9\uDE41-\uDE43]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F/},{}],123:[function(e,t,r){t.exports=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/},{}],124:[function(e,t,r){t.exports.Any=e("./properties/Any/regex"),t.exports.Cc=e("./categories/Cc/regex"),t.exports.Cf=e("./categories/Cf/regex"),t.exports.P=e("./categories/P/regex"),t.exports.Z=e("./categories/Z/regex")},{"./categories/Cc/regex":120,"./categories/Cf/regex":121,"./categories/P/regex":122,"./categories/Z/regex":123,"./properties/Any/regex":125}],125:[function(e,t,r){t.exports=/[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]/},{}]},{},[1]); \ No newline at end of file diff --git a/src/main/resources/gitblit.css b/src/main/resources/gitblit.css index 0d36da7f..5b82e874 100644 --- a/src/main/resources/gitblit.css +++ b/src/main/resources/gitblit.css @@ -2072,10 +2072,6 @@ li.L5, li.L7, li.L9 { background: #fafafa !important; } -div.docs { - max-width: 880px; -} - div.docs ul.nav { margin-bottom: 0px !important; }