\");\n setCss($mimic, \"box-sizing\", \"border-box\");\n cloneCss($textarea, $mimic);\n\n $mimic.css(\"paddingBottom\", \"0.7em\");\n // $mimic.css('border', $textarea.css('border'));\n $mimic.css(\"width\", \"100%\");\n $mimic.css(\"visibility\", \"hidden\"); // not display:none as we want the layouting\n\n // adjust the textarea\n setCss($textarea, \"box-sizing\", \"border-box\");\n $textarea.css({\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n position: \"absolute\"\n });\n\n // replace it with container\n $container.insertAfter($textarea);\n $textarea.detach().appendTo($container);\n $mimic.appendTo($container);\n\n return {\n $container: $container,\n $mimic: $mimic,\n $textarea: $textarea\n };\n };\n\n var setupAutosize = function (markup) {\n markup.$textarea.css(\"resize\", \"none\"); // no manual sizing\n\n var autosize = function () {\n var text = htmlEscape(markup.$textarea.val()) + \"\u200B\";\n markup.$mimic.html(text);\n };\n markup.$textarea.on(\"change keydown keyup input\", autosize);\n markup.$textarea.on(\"bb:reclone\", () =>\n cloneCss(markup.$textarea, markup.$mimic)\n );\n return autosize;\n };\n\n /* Utility functions */\n\n var setCss = function ($elem, style, value) {\n $elem.css(style, value);\n var VENDOR_PREFIXES = [\"moz\", \"webkit\", \"ms\", \"o\"];\n for (var i = 0; i < VENDOR_PREFIXES.length; ++i) {\n var _style = \"-\" + VENDOR_PREFIXES[i] + \"-\" + style;\n $elem.css(_style, value);\n }\n };\n\n var htmlEscape = function (str) {\n return str\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\\n$/, \"
\")\n .replace(/ {2,}/g, function (spaces) {\n return repeat(\" \", spaces.length - 1) + \" \";\n });\n };\n\n var repeat = function (str, count) {\n return new Array(count + 1).join(str);\n };\n})(jQuery);\n", "//\n// showdown.js -- A javascript port of Markdown.\n//\n// Copyright (c) 2007 John Fraser.\n//\n// Original Markdown Copyright (c) 2004-2005 John Gruber\n//
\n//\n// Redistributable under a BSD-style open source license.\n// See license.txt for more information.\n//\n// The full source distribution is at:\n//\n//\t\t\t\tA A L\n//\t\t\t\tT C A\n//\t\t\t\tT K B\n//\n//
\n//\n\n//\n// Wherever possible, Showdown is a straight, line-by-line port\n// of the Perl version of Markdown.\n//\n// This is not a normal parser design; it's basically just a\n// series of string substitutions. It's hard to read and\n// maintain this way, but keeping Showdown close to the original\n// design makes it easier to port new features.\n//\n// More importantly, Showdown behaves like markdown.pl in most\n// edge cases. So web applications can do client-side preview\n// in Javascript, and then build identical HTML on the server.\n//\n// This port needs the new RegExp functionality of ECMA 262,\n// 3rd Edition (i.e. Javascript 1.5). Most modern web browsers\n// should do fine. Even with the new regular expression features,\n// We do a lot of work to emulate Perl's regex functionality.\n// The tricky changes in this file mostly have the \"attacklab:\"\n// label. Major or self-explanatory changes don't.\n//\n// Smart diff tools like Araxis Merge will be able to match up\n// this file with markdown.pl in a useful way. A little tweaking\n// helps: in a copy of markdown.pl, replace \"#\" with \"//\" and\n// replace \"$text\" with \"text\". Be sure to ignore whitespace\n// and line endings.\n//\n\n//\n// Showdown usage:\n//\n// var text = \"Markdown *rocks*.\";\n//\n// var converter = new Showdown.converter();\n// var html = converter.makeHtml(text);\n//\n// alert(html);\n//\n// Note: move the sample code to the bottom of this\n// file before uncommenting it.\n//\n\n//\n// Showdown namespace\n//\nvar Showdown = {};\n\n//\n// converter\n//\n// Wraps all \"globals\" so that the only thing\n// exposed is makeHtml().\n//\nShowdown.converter = function () {\n //\n // Globals:\n //\n\n // Global hashes, used by various utility routines\n var g_urls;\n var g_titles;\n var g_html_blocks;\n\n // Used to track when we're inside an ordered or unordered list\n // (see _ProcessListItems() for details):\n var g_list_level = 0;\n\n this.makeHtml = function (text, inline_only) {\n //\n // Main function. The order in which other subs are called here is\n // essential. Link and image substitutions need to happen before\n // _EscapeSpecialCharsWithinTagAttributes(), so that any *'s or _'s in the
\n // and
tags get encoded.\n //\n\n // Clear the global hashes. If we don't clear these, you get conflicts\n // from other articles when generating a page which contains more than\n // one article (e.g. an index page that shows the N most recent\n // articles):\n g_urls = new Array();\n g_titles = new Array();\n g_html_blocks = new Array();\n\n // attacklab: Replace ~ with ~T\n // This lets us use tilde as an escape char to avoid md5 hashes\n // The choice of character is arbitray; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/~/g, \"~T\");\n\n // attacklab: Replace $ with ~D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, \"~D\");\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, \"\\n\"); // DOS to Unix\n text = text.replace(/\\r/g, \"\\n\"); // Mac to Unix\n\n // Make sure text begins and ends with a couple of newlines:\n text = \"\\n\\n\" + text + \"\\n\\n\";\n\n // Convert all tabs to spaces.\n text = _Detab(text);\n\n // Strip any lines consisting only of spaces and tabs.\n // This makes subsequent regexen easier to write, because we can\n // match consecutive blank lines with /\\n+/ instead of something\n // contorted like /[ \\t]*\\n+/ .\n text = text.replace(/^[ \\t]+$/gm, \"\");\n\n // Turn block-level HTML blocks into hash entries\n text = _HashHTMLBlocks(text);\n\n // Strip link definitions, store in hashes.\n text = _StripLinkDefinitions(text);\n\n if (inline_only) text = _RunSpanGamut(text);\n else text = _RunBlockGamut(text);\n\n text = _UnescapeSpecialChars(text);\n\n // attacklab: Restore dollar signs\n text = text.replace(/~D/g, \"$$\");\n\n // attacklab: Restore tildes\n text = text.replace(/~T/g, \"~\");\n\n return text;\n };\n\n var _StripLinkDefinitions = function (text) {\n //\n // Strips link definitions from text, stores the URLs and titles in\n // hash references.\n //\n\n // Link defs are in the form: ^[id]: url \"optional title\"\n\n /*\n var text = text.replace(/\n ^[ ]{0,3}\\[(.+)\\]: // id = $1 attacklab: g_tab_width - 1\n [ \\t]*\n \\n?\t\t\t\t// maybe *one* newline\n [ \\t]*\n (\\S+?)>?\t\t\t// url = $2\n [ \\t]*\n \\n?\t\t\t\t// maybe one newline\n [ \\t]*\n (?:\n (\\n*)\t\t\t\t// any lines skipped = $3 attacklab: lookbehind removed\n [\"(]\n (.+?)\t\t\t\t// title = $4\n [\")]\n [ \\t]*\n )?\t\t\t\t\t// title is optional\n (?:\\n+|$)\n /gm,\n function(){...});\n */\n var text = text.replace(\n /^[ ]{0,3}\\[(.+)\\]:[ \\t]*\\n?[ \\t]*(\\S+?)>?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"(](.+?)[\")][ \\t]*)?(?:\\n+|\\Z)/gm,\n function (wholeMatch, m1, m2, m3, m4) {\n m1 = m1.toLowerCase();\n g_urls[m1] = _EncodeAmpsAndAngles(m2); // Link IDs are case-insensitive\n if (m3) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return m3 + m4;\n } else if (m4) {\n g_titles[m1] = m4.replace(/\"/g, \""\");\n }\n\n // Completely remove the definition from the text\n return \"\";\n }\n );\n\n return text;\n };\n\n var _HashHTMLBlocks = function (text) {\n // attacklab: Double up blank lines to reduce lookaround\n text = text.replace(/\\n/g, \"\\n\\n\");\n\n // Hashify HTML blocks:\n // We only want to do this for block-level HTML tags, such as headers,\n // lists, and tables. That's because we still want to wrap s around\n // \"paragraphs\" that are wrapped in non-block-level tags, such as anchors,\n // phrase emphasis, and spans. The list of tags we're looking for is\n // hard-coded:\n var block_tags_a =\n \"p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del\";\n var block_tags_b =\n \"p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math\";\n\n // First, look for nested blocks, e.g.:\n //
\n //
\n // tags for inner block must be indented.\n //
\n //
\n //\n // The outermost tags must start at the left margin for this to match, and\n // the inner nested divs must be indented.\n // We need to do this before the next, more liberal match, because the next\n // match will start at the first `` and stop at the first `
`.\n\n // attacklab: This regex can be expensive when it fails.\n /*\n var text = text.replace(/\n (\t\t\t\t\t\t// save in $1\n ^\t\t\t\t\t// start of line (with /m)\n <($block_tags_a)\t// start tag = $2\n \\b\t\t\t\t\t// word break\n // attacklab: hack around khtml/pcre bug...\n [^\\r]*?\\n\t\t\t// any number of lines, minimally matching\n \\2>\t\t\t\t// the matching end tag\n [ \\t]*\t\t\t\t// trailing spaces/tabs\n (?=\\n+)\t\t\t\t// followed by a newline\n )\t\t\t\t\t\t// attacklab: there are sentinel newlines at end of document\n /gm,function(){...}};\n */\n text = text.replace(\n /^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b[^\\r]*?\\n<\\/\\2>[ \\t]*(?=\\n+))/gm,\n hashElement\n );\n\n //\n // Now match more liberally, simply from `\\n` to `\\n`\n //\n\n /*\n var text = text.replace(/\n (\t\t\t\t\t\t// save in $1\n ^\t\t\t\t\t// start of line (with /m)\n <($block_tags_b)\t// start tag = $2\n \\b\t\t\t\t\t// word break\n // attacklab: hack around khtml/pcre bug...\n [^\\r]*?\t\t\t\t// any number of lines, minimally matching\n .*\\2>\t\t\t\t// the matching end tag\n [ \\t]*\t\t\t\t// trailing spaces/tabs\n (?=\\n+)\t\t\t\t// followed by a newline\n )\t\t\t\t\t\t// attacklab: there are sentinel newlines at end of document\n /gm,function(){...}};\n */\n text = text.replace(\n /^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\\b[^\\r]*?.*<\\/\\2>[ \\t]*(?=\\n+)\\n)/gm,\n hashElement\n );\n\n // Special case just for
. It was easier to make a special case than\n // to make the other regex more complicated.\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t// save in $1\n \\n\\n\t\t\t\t// Starting after a blank line\n [ ]{0,3}\n (<(hr)\t\t\t\t// start tag = $2\n \\b\t\t\t\t\t// word break\n ([^<>])*?\t\t\t//\n \\/?>)\t\t\t\t// the matching end tag\n [ \\t]*\n (?=\\n{2,})\t\t\t// followed by a blank line\n )\n /g,hashElement);\n */\n text = text.replace(\n /(\\n[ ]{0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n hashElement\n );\n\n // Special case for standalone HTML comments:\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t// save in $1\n \\n\\n\t\t\t\t// Starting after a blank line\n [ ]{0,3}\t\t\t// attacklab: g_tab_width - 1\n \n [ \\t]*\n (?=\\n{2,})\t\t\t// followed by a blank line\n )\n /g,hashElement);\n */\n text = text.replace(\n /(\\n\\n[ ]{0,3}[ \\t]*(?=\\n{2,}))/g,\n hashElement\n );\n\n // PHP and ASP-style processor instructions (...?> and <%...%>)\n\n /*\n text = text.replace(/\n (?:\n \\n\\n\t\t\t\t// Starting after a blank line\n )\n (\t\t\t\t\t\t// save in $1\n [ ]{0,3}\t\t\t// attacklab: g_tab_width - 1\n (?:\n <([?%])\t\t\t// $2\n [^\\r]*?\n \\2>\n )\n [ \\t]*\n (?=\\n{2,})\t\t\t// followed by a blank line\n )\n /g,hashElement);\n */\n text = text.replace(\n /(?:\\n\\n)([ ]{0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n hashElement\n );\n\n // attacklab: Undo double lines (see comment at top of this function)\n text = text.replace(/\\n\\n/g, \"\\n\");\n return text;\n };\n\n var hashElement = function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, \"\\n\");\n blockText = blockText.replace(/^\\n/, \"\");\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, \"\");\n\n // Replace the element text with a marker (\"~KxK\" where x is its key)\n blockText = \"\\n\\n~K\" + (g_html_blocks.push(blockText) - 1) + \"K\\n\\n\";\n\n return blockText;\n };\n\n var _RunBlockGamut = function (text) {\n //\n // These are all the transformations that form block-level\n // tags like paragraphs, headers, and list items.\n //\n text = _DoHeaders(text);\n\n // Do Horizontal Rules:\n var key = hashBlock(\"
\");\n text = text.replace(/^[ ]{0,2}([ ]?\\*[ ]?){3,}[ \\t]*$/gm, key);\n text = text.replace(/^[ ]{0,2}([ ]?\\-[ ]?){3,}[ \\t]*$/gm, key);\n text = text.replace(/^[ ]{0,2}([ ]?\\_[ ]?){3,}[ \\t]*$/gm, key);\n\n text = _DoLists(text);\n text = _DoCodeBlocks(text);\n text = _DoBlockQuotes(text);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n // tags around block-level tags.\n text = _HashHTMLBlocks(text);\n text = _FormParagraphs(text);\n\n return text;\n };\n\n var _RunSpanGamut = function (text) {\n //\n // These are all the transformations that occur *within* block-level\n // tags like paragraphs, headers, and list items.\n //\n\n text = _DoCodeSpans(text);\n text = _EscapeSpecialCharsWithinTagAttributes(text);\n text = _EncodeBackslashEscapes(text);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = _DoImages(text);\n text = _DoAnchors(text);\n\n // Make links out of things like ``\n // Must come after _DoAnchors(), because you can use < and >\n // delimiters in inline links like [this]().\n text = _DoAutoLinks(text);\n text = _EncodeAmpsAndAngles(text);\n text = _DoItalicsAndBold(text);\n\n // Do hard breaks:\n text = text.replace(/ +\\n/g, \"
\\n\");\n\n return text;\n };\n\n var _EscapeSpecialCharsWithinTagAttributes = function (text) {\n //\n // Within tags -- meaning between < and > -- encode [\\ ` * _] so they\n // don't conflict with their use in Markdown for code, italics and strong.\n //\n\n // Build a regex to find HTML tags and comments. See Friedl's\n // \"Mastering Regular Expressions\", 2nd Ed., pp. 200-201.\n var regex = /(<[a-z\\/!$](\"[^\"]*\"|'[^']*'|[^'\">])*>|)/gi;\n\n text = text.replace(regex, function (wholeMatch) {\n var tag = wholeMatch.replace(/(.)<\\/?code>(?=.)/g, \"$1`\");\n tag = escapeCharacters(tag, \"\\\\`*_\");\n return tag;\n });\n\n return text;\n };\n\n var _DoAnchors = function (text) {\n //\n // Turn Markdown link shortcuts into XHTML tags.\n //\n //\n // First, handle reference-style links: [link text] [id]\n //\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t\t// wrap whole match in $1\n \\[\n (\n (?:\n \\[[^\\]]*\\]\t\t// allow brackets nested one level\n |\n [^\\[]\t\t\t// or anything else\n )*\n )\n \\]\n\n [ ]?\t\t\t\t\t// one optional space\n (?:\\n[ ]*)?\t\t\t\t// one optional newline followed by spaces\n\n \\[\n (.*?)\t\t\t\t\t// id = $3\n \\]\n )()()()()\t\t\t\t\t// pad remaining backreferences\n /g,_DoAnchors_callback);\n */\n text = text.replace(\n /(\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\][ ]?(?:\\n[ ]*)?\\[(.*?)\\])()()()()/g,\n writeAnchorTag\n );\n\n //\n // Next, inline-style links: [link text](url \"optional title\")\n //\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t// wrap whole match in $1\n \\[\n (\n (?:\n \\[[^\\]]*\\]\t// allow brackets nested one level\n |\n [^\\[\\]]\t\t\t// or anything else\n )\n )\n \\]\n \\(\t\t\t\t\t\t// literal paren\n [ \\t]*\n ()\t\t\t\t\t\t// no id, so leave $3 empty\n (.*?)>?\t\t\t\t// href = $4\n [ \\t]*\n (\t\t\t\t\t\t// $5\n (['\"])\t\t\t\t// quote char = $6\n (.*?)\t\t\t\t// Title = $7\n \\6\t\t\t\t\t// matching quote\n [ \\t]*\t\t\t\t// ignore any spaces/tabs between closing quote and )\n )?\t\t\t\t\t\t// title is optional\n \\)\n )\n /g,writeAnchorTag);\n */\n text = text.replace(\n /(\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]\\([ \\t]*()(.*?)>?[ \\t]*((['\"])(.*?)\\6[ \\t]*)?\\))/g,\n writeAnchorTag\n );\n\n //\n // Last, handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n //\n\n /*\n text = text.replace(/\n ( // wrap whole match in $1\n \\[\n ([^\\[\\]]+)\t\t\t\t// link text = $2; can't contain '[' or ']'\n \\]\n )()()()()()\t\t\t\t\t// pad rest of backreferences\n /g, writeAnchorTag);\n */\n text = text.replace(/(\\[([^\\[\\]]+)\\])()()()()()/g, writeAnchorTag);\n\n return text;\n };\n\n var writeAnchorTag = function (wholeMatch, m1, m2, m3, m4, m5, m6, m7) {\n if (m7 == undefined) m7 = \"\";\n var whole_match = m1;\n var link_text = m2;\n var link_id = m3.toLowerCase();\n var url = m4;\n var title = m7;\n\n if (url == \"\") {\n if (link_id == \"\") {\n // lower-case and turn embedded newlines into spaces\n link_id = link_text.toLowerCase().replace(/ ?\\n/g, \" \");\n }\n url = \"#\" + link_id;\n\n if (g_urls[link_id] != undefined) {\n url = g_urls[link_id];\n if (g_titles[link_id] != undefined) {\n title = g_titles[link_id];\n }\n } else {\n if (whole_match.search(/\\(\\s*\\)$/m) > -1) {\n // Special case for explicit empty url\n url = \"\";\n } else {\n return whole_match;\n }\n }\n }\n\n url = escapeCharacters(url, \"*_\");\n var result = '\" + _EncodeBackslashEscapes(link_text) + \"\";\n\n return result;\n };\n\n var _DoImages = function (text) {\n //\n // Turn Markdown image shortcuts into
tags.\n //\n\n //\n // First, handle reference-style labeled images: ![alt text][id]\n //\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t// wrap whole match in $1\n !\\[\n (.*?)\t\t\t\t// alt text = $2\n \\]\n\n [ ]?\t\t\t\t// one optional space\n (?:\\n[ ]*)?\t\t\t// one optional newline followed by spaces\n\n \\[\n (.*?)\t\t\t\t// id = $3\n \\]\n )()()()()\t\t\t\t// pad rest of backreferences\n /g,writeImageTag);\n */\n text = text.replace(\n /(!\\[(.*?)\\][ ]?(?:\\n[ ]*)?\\[(.*?)\\])()()()()/g,\n writeImageTag\n );\n\n //\n // Next, handle inline images: \n // Don't forget: encode * and _\n\n /*\n text = text.replace(/\n (\t\t\t\t\t\t// wrap whole match in $1\n !\\[\n (.*?)\t\t\t\t// alt text = $2\n \\]\n \\s?\t\t\t\t\t// One optional whitespace character\n \\(\t\t\t\t\t// literal paren\n [ \\t]*\n ()\t\t\t\t\t// no id, so leave $3 empty\n (\\S+?)>?\t\t\t// src url = $4\n [ \\t]*\n (\t\t\t\t\t// $5\n (['\"])\t\t\t// quote char = $6\n (.*?)\t\t\t// title = $7\n \\6\t\t\t\t// matching quote\n [ \\t]*\n )?\t\t\t\t\t// title is optional\n \\)\n )\n /g,writeImageTag);\n */\n text = text.replace(\n /(!\\[(.*?)\\]\\s?\\([ \\t]*()(\\S+?)>?[ \\t]*((['\"])(.*?)\\6[ \\t]*)?\\))/g,\n writeImageTag\n );\n\n return text;\n };\n\n var writeImageTag = function (wholeMatch, m1, m2, m3, m4, m5, m6, m7) {\n var whole_match = m1;\n var alt_text = m2;\n var link_id = m3.toLowerCase();\n var url = m4;\n var title = m7;\n\n if (!title) title = \"\";\n\n if (url == \"\") {\n if (link_id == \"\") {\n // lower-case and turn embedded newlines into spaces\n link_id = alt_text.toLowerCase().replace(/ ?\\n/g, \" \");\n }\n url = \"#\" + link_id;\n\n if (g_urls[link_id] != undefined) {\n url = g_urls[link_id];\n if (g_titles[link_id] != undefined) {\n title = g_titles[link_id];\n }\n } else {\n return whole_match;\n }\n }\n\n alt_text = alt_text.replace(/\"/g, \""\");\n url = escapeCharacters(url, \"*_\");\n var result = '
\";\n\n return result;\n };\n\n var _DoHeaders = function (text) {\n // Setext-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n text = text.replace(\n /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n function (wholeMatch, m1) {\n return hashBlock(\"\" + _RunSpanGamut(m1) + \"
\");\n }\n );\n\n text = text.replace(\n /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm,\n function (matchFound, m1) {\n return hashBlock(\"\" + _RunSpanGamut(m1) + \"
\");\n }\n );\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n\n /*\n text = text.replace(/\n ^(\\#{1,6})\t\t\t\t// $1 = string of #'s\n [ \\t]*\n (.+?)\t\t\t\t\t// $2 = Header text\n [ \\t]*\n \\#*\t\t\t\t\t\t// optional closing #'s (not counted)\n \\n+\n /gm, function() {...});\n */\n\n text = text.replace(\n /^(\\#{1,6})[ \\t]*(.+?)[ \\t]*\\#*\\n+/gm,\n function (wholeMatch, m1, m2) {\n var h_level = m1.length;\n return hashBlock(\n \"\" + _RunSpanGamut(m2) + \"\"\n );\n }\n );\n\n return text;\n };\n\n // This declaration keeps Dojo compressor from outputting garbage:\n var _ProcessListItems;\n\n var _DoLists = function (text) {\n //\n // Form HTML ordered (numbered) and unordered (bulleted) lists.\n //\n\n // attacklab: add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += \"~0\";\n\n // Re-usable pattern to match any entirel ul or ol list:\n\n /*\n var whole_list = /\n (\t\t\t\t\t\t\t\t\t// $1 = whole list\n (\t\t\t\t\t\t\t\t// $2\n [ ]{0,3}\t\t\t\t\t// attacklab: g_tab_width - 1\n ([*+-]|\\d+[.])\t\t\t\t// $3 = first list item marker\n [ \\t]+\n )\n [^\\r]+?\n (\t\t\t\t\t\t\t\t// $4\n ~0\t\t\t\t\t\t\t// sentinel for workaround; should be $\n |\n \\n{2,}\n (?=\\S)\n (?!\t\t\t\t\t\t\t// Negative lookahead for another list item marker\n [ \\t]*\n (?:[*+-]|\\d+[.])[ \\t]+\n )\n )\n )/g\n */\n var whole_list =\n /^(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm;\n\n if (g_list_level) {\n text = text.replace(whole_list, function (wholeMatch, m1, m2) {\n var list = m1;\n var list_type = m2.search(/[*+-]/g) > -1 ? \"ul\" : \"ol\";\n\n // Turn double returns into triple returns, so that we can make a\n // paragraph for the last item in a list, if necessary:\n list = list.replace(/\\n{2,}/g, \"\\n\\n\\n\");\n var result = _ProcessListItems(list);\n\n // Trim any trailing whitespace, to put the closing `$list_type>`\n // up on the preceding line, to get it past the current stupid\n // HTML block parser. This is a hack to work around the terrible\n // hack that is the HTML block parser.\n result = result.replace(/\\s+$/, \"\");\n result = \"<\" + list_type + \">\" + result + \"\" + list_type + \">\\n\";\n return result;\n });\n } else {\n whole_list =\n /(\\n\\n|^\\n?)(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/g;\n text = text.replace(whole_list, function (wholeMatch, m1, m2, m3) {\n var runup = m1;\n var list = m2;\n\n var list_type = m3.search(/[*+-]/g) > -1 ? \"ul\" : \"ol\";\n // Turn double returns into triple returns, so that we can make a\n // paragraph for the last item in a list, if necessary:\n var list = list.replace(/\\n{2,}/g, \"\\n\\n\\n\");\n var result = _ProcessListItems(list);\n result =\n runup + \"<\" + list_type + \">\\n\" + result + \"\" + list_type + \">\\n\";\n return result;\n });\n }\n\n // attacklab: strip sentinel\n text = text.replace(/~0/, \"\");\n\n return text;\n };\n\n _ProcessListItems = function (list_str) {\n //\n // Process the contents of a single ordered or unordered list, splitting it\n // into individual list items.\n //\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n\n g_list_level++;\n\n // trim trailing blank lines:\n list_str = list_str.replace(/\\n{2,}$/, \"\\n\");\n\n // attacklab: add sentinel to emulate \\z\n list_str += \"~0\";\n\n /*\n list_str = list_str.replace(/\n (\\n)?\t\t\t\t\t\t\t// leading line = $1\n (^[ \\t]*)\t\t\t\t\t\t// leading whitespace = $2\n ([*+-]|\\d+[.]) [ \\t]+\t\t\t// list marker = $3\n ([^\\r]+?\t\t\t\t\t\t// list item text = $4\n (\\n{1,2}))\n (?= \\n* (~0 | \\2 ([*+-]|\\d+[.]) [ \\t]+))\n /gm, function(){...});\n */\n list_str = list_str.replace(\n /(\\n)?(^[ \\t]*)([*+-]|\\d+[.])[ \\t]+([^\\r]+?(\\n{1,2}))(?=\\n*(~0|\\2([*+-]|\\d+[.])[ \\t]+))/gm,\n function (wholeMatch, m1, m2, m3, m4) {\n var item = m4;\n var leading_line = m1;\n var leading_space = m2;\n\n if (leading_line || item.search(/\\n{2,}/) > -1) {\n item = _RunBlockGamut(_Outdent(item));\n } else {\n // Recursion for sub-lists:\n item = _DoLists(_Outdent(item));\n item = item.replace(/\\n$/, \"\"); // chomp(item)\n item = _RunSpanGamut(item);\n }\n\n return \"\" + item + \"\\n\";\n }\n );\n\n // attacklab: strip sentinel\n list_str = list_str.replace(/~0/g, \"\");\n\n g_list_level--;\n return list_str;\n };\n\n var _DoCodeBlocks = function (text) {\n //\n // Process Markdown `` blocks.\n //\n\n /*\n text = text.replace(text,\n /(?:\\n\\n|^)\n (\t\t\t\t\t\t\t\t// $1 = the code block -- one or more lines, starting with a space/tab\n (?:\n (?:[ ]{4}|\\t)\t\t\t// Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width\n .*\\n+\n )+\n )\n (\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))\t// attacklab: g_tab_width\n /g,function(){...});\n */\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += \"~0\";\n\n text = text.replace(\n /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))/g,\n function (wholeMatch, m1, m2) {\n var codeblock = m1;\n var nextChar = m2;\n\n codeblock = _EncodeCode(_Outdent(codeblock));\n codeblock = _Detab(codeblock);\n codeblock = codeblock.replace(/^\\n+/g, \"\"); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, \"\"); // trim trailing whitespace\n\n codeblock = \"\" + codeblock + \"\\n
\";\n\n return hashBlock(codeblock) + nextChar;\n }\n );\n\n // attacklab: strip sentinel\n text = text.replace(/~0/, \"\");\n\n return text;\n };\n\n var hashBlock = function (text) {\n text = text.replace(/(^\\n+|\\n+$)/g, \"\");\n return \"\\n\\n~K\" + (g_html_blocks.push(text) - 1) + \"K\\n\\n\";\n };\n\n var _DoCodeSpans = function (text) {\n //\n // * Backtick quotes are used for
spans.\n //\n // * You can use multiple backticks as the delimiters if you want to\n // include literal backticks in the code span. So, this input:\n //\n // Just type ``foo `bar` baz`` at the prompt.\n //\n // Will translate to:\n //\n // Just type foo `bar` baz
at the prompt.
\n //\n //\tThere's no arbitrary limit to the number of backticks you\n //\tcan use as delimters. If you need three consecutive backticks\n //\tin your code, use four for delimiters, etc.\n //\n // * You can use spaces to get literal backticks at the edges:\n //\n // ... type `` `bar` `` ...\n //\n // Turns to:\n //\n // ... type `bar`
...\n //\n\n /*\n text = text.replace(/\n (^|[^\\\\])\t\t\t\t\t// Character before opening ` can't be a backslash\n (`+)\t\t\t\t\t\t// $2 = Opening run of `\n (\t\t\t\t\t\t\t// $3 = The code block\n [^\\r]*?\n [^`]\t\t\t\t\t// attacklab: work around lack of lookbehind\n )\n \\2\t\t\t\t\t\t\t// Matching closer\n (?!`)\n /gm, function(){...});\n */\n\n text = text.replace(\n /(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3, m4) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, \"\"); // leading whitespace\n c = c.replace(/[ \\t]*$/g, \"\"); // trailing whitespace\n c = _EncodeCode(c);\n return m1 + \"\" + c + \"
\";\n }\n );\n\n return text;\n };\n\n var _EncodeCode = function (text) {\n //\n // Encode/escape certain characters inside Markdown code runs.\n // The point is that in code, these characters are literals,\n // and lose their special Markdown meanings.\n //\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text.replace(/&/g, \"&\");\n\n // Do the angle bracket song and dance:\n text = text.replace(//g, \">\");\n\n // Now, escape characters that are magic in Markdown:\n text = escapeCharacters(text, \"*_{}[]\\\\\", false);\n\n // jj the line above breaks this:\n //---\n\n //* Item\n\n // 1. Subitem\n\n // special char: *\n //---\n\n return text;\n };\n\n var _DoItalicsAndBold = function (text) {\n // must go first:\n text = text.replace(\n /(\\*\\*|__)(?=\\S)([^\\r]*?\\S[*_]*)\\1/g,\n \"$2\"\n );\n\n text = text.replace(/(\\*|_)(?=\\S)([^\\r]*?\\S)\\1/g, \"$2\");\n\n return text;\n };\n\n var _DoBlockQuotes = function (text) {\n /*\n text = text.replace(/\n (\t\t\t\t\t\t\t\t// Wrap whole match in $1\n (\n ^[ \\t]*>[ \\t]?\t\t\t// '>' at the start of a line\n .+\\n\t\t\t\t\t// rest of the first line\n (.+\\n)*\t\t\t\t\t// subsequent consecutive lines\n \\n*\t\t\t\t\t\t// blanks\n )+\n )\n /gm, function(){...});\n */\n\n text = text.replace(\n /((^[ \\t]*>[ \\t]?.+\\n(.+\\n)*\\n*)+)/gm,\n function (wholeMatch, m1) {\n var bq = m1;\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, \"~0\"); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/~0/g, \"\");\n\n bq = bq.replace(/^[ \\t]+$/gm, \"\"); // trim whitespace-only lines\n bq = _RunBlockGamut(bq); // recurse\n\n bq = bq.replace(/(^|\\n)/g, \"$1 \");\n // These leading spaces screw with content, so we need to fix that:\n bq = bq.replace(\n /(\\s*[^\\r]+?<\\/pre>)/gm,\n function (wholeMatch, m1) {\n var pre = m1;\n // attacklab: hack around Konqueror 3.5.4 bug:\n pre = pre.replace(/^ /gm, \"~0\");\n pre = pre.replace(/~0/g, \"\");\n return pre;\n }\n );\n\n return hashBlock(\"\\n\" + bq + \"\\n
\");\n }\n );\n return text;\n };\n\n var _FormParagraphs = function (text) {\n //\n // Params:\n // $text - string to process with html tags\n //\n\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, \"\");\n text = text.replace(/\\n+$/g, \"\");\n\n var grafs = text.split(/\\n{2,}/g);\n var grafsOut = new Array();\n\n //\n // Wrap
tags.\n //\n var end = grafs.length;\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n\n // if this is an HTML marker, copy it\n if (str.search(/~K(\\d+)K/g) >= 0) {\n grafsOut.push(str);\n } else if (str.search(/\\S/) >= 0) {\n str = _RunSpanGamut(str);\n str = str.replace(/^([ \\t]*)/g, \"
\");\n str += \"
\";\n grafsOut.push(str);\n }\n }\n\n //\n // Unhashify HTML blocks\n //\n end = grafsOut.length;\n for (var i = 0; i < end; i++) {\n // if this is a marker for an html block...\n while (grafsOut[i].search(/~K(\\d+)K/) >= 0) {\n var blockText = g_html_blocks[RegExp.$1];\n blockText = blockText.replace(/\\$/g, \"$$$$\"); // Escape any dollar signs\n grafsOut[i] = grafsOut[i].replace(/~K\\d+K/, blockText);\n }\n }\n\n return grafsOut.join(\"\\n\\n\");\n };\n\n var _EncodeAmpsAndAngles = function (text) {\n // Smart processing for ampersands and angle brackets that need to be encoded.\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, \"&\");\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?\\$!])/gi, \"<\");\n\n return text;\n };\n\n var _EncodeBackslashEscapes = function (text) {\n //\n // Parameter: String.\n // Returns:\tThe string, with after processing the following backslash\n // escape sequences.\n //\n\n // attacklab: The polite way to do this is with the new\n // escapeCharacters() function:\n //\n // text = escapeCharacters(text,\"\\\\\",true);\n // text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n //\n // ...but we're sidestepping its use of the (slow) RegExp constructor\n // as an optimization for Firefox. This function gets called a LOT.\n\n text = text.replace(/\\\\(\\\\)/g, escapeCharacters_callback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+-.!])/g, escapeCharacters_callback);\n return text;\n };\n\n var _DoAutoLinks = function (text) {\n text = text.replace(\n /<((https?|ftp|dict):[^'\">\\s]+)>/gi,\n '$1'\n );\n\n // Email addresses: \n\n /*\n text = text.replace(/\n <\n (?:mailto:)?\n (\n [-.\\w]+\n \\@\n [-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+\n )\n >\n /gi, _DoAutoLinks_callback());\n */\n text = text.replace(\n /<(?:mailto:)?([-.\\w]+\\@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n function (wholeMatch, m1) {\n return _EncodeEmailAddress(_UnescapeSpecialChars(m1));\n }\n );\n\n return text;\n };\n\n var _EncodeEmailAddress = function (addr) {\n //\n // Input: an email address, e.g. \"foo@example.com\"\n //\n // Output: the email address as a mailto link, with each character\n //\tof the address encoded as either a decimal or hex entity, in\n //\tthe hopes of foiling most address harvesting spam bots. E.g.:\n //\n //\tfoo\n // @example.com\n //\n // Based on a filter by Matthew Wickline, posted to the BBEdit-Talk\n // mailing list: \n //\n\n // attacklab: why can't javascript speak hex?\n function char2hex(ch) {\n var hexDigits = \"0123456789ABCDEF\";\n var dec = ch.charCodeAt(0);\n return hexDigits.charAt(dec >> 4) + hexDigits.charAt(dec & 15);\n }\n\n var encode = [\n function (ch) {\n return \"\" + ch.charCodeAt(0) + \";\";\n },\n function (ch) {\n return \"\" + char2hex(ch) + \";\";\n },\n function (ch) {\n return ch;\n }\n ];\n\n addr = \"mailto:\" + addr;\n\n addr = addr.replace(/./g, function (ch) {\n if (ch == \"@\") {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else if (ch != \":\") {\n // leave ':' alone (to spot mailto: later)\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch);\n }\n return ch;\n });\n\n addr = '' + addr + \"\";\n addr = addr.replace(/\">.+:/g, '\">'); // strip the mailto: from the visible part\n\n return addr;\n };\n\n var _UnescapeSpecialChars = function (text) {\n //\n // Swap back in all the special characters we've hidden.\n //\n text = text.replace(/~E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n return text;\n };\n\n var _Outdent = function (text) {\n //\n // Remove one level of line-leading tabs or spaces\n //\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n\n text = text.replace(/^(\\t|[ ]{1,4})/gm, \"~0\"); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/~0/g, \"\");\n\n return text;\n };\n\n var _Detab = function (text) {\n // attacklab: Detab's completely rewritten for speed.\n // In perl we could fix it by anchoring the regexp with \\G.\n // In javascript we're less fortunate.\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, \" \"); // attacklab: g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, \"~A~B\");\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/~B(.+?)~A/g, function (wholeMatch, m1, m2) {\n var leadingText = m1;\n var numSpaces = 4 - (leadingText.length % 4); // attacklab: g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) leadingText += \" \";\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/~A/g, \" \"); // attacklab: g_tab_width\n text = text.replace(/~B/g, \"\");\n\n return text;\n };\n\n //\n // attacklab: Utility functions\n //\n\n var escapeCharacters = function (text, charsToEscape, afterBackslash) {\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString =\n \"([\" + charsToEscape.replace(/([\\[\\]\\\\])/g, \"\\\\$1\") + \"])\";\n\n if (afterBackslash) {\n regexString = \"\\\\\\\\\" + regexString;\n }\n\n var regex = new RegExp(regexString, \"g\");\n text = text.replace(regex, escapeCharacters_callback);\n\n return text;\n };\n\n var escapeCharacters_callback = function (wholeMatch, m1) {\n var charCodeToEscape = m1.charCodeAt(0);\n return \"~E\" + charCodeToEscape + \"E\";\n };\n}; // end of Showdown.converter\n\nexport default Showdown;\n", "import { default as Showdown } from \"$showdown\";\nexport { converter };\n\nconst converter = new Showdown.converter();\n\nconst orig = converter.makeHtml.bind(converter);\nconverter.makeHtml = (text, inline) =>\n orig(text, inline).replace(//gi,\n onlyPhrasingInside = [\n \"P\",\n \"H1\",\n \"H2\",\n \"H3\",\n \"H4\",\n \"H5\",\n \"H6\",\n \"SPAN\",\n \"LABEL\",\n \"LEGEND\",\n \"CAPTION\"\n ];\n\n if (policy === \"legacy\") {\n onlyPhrasingInside.splice(9);\n }\n\n $.fn.showdown = function () {\n return this.each(function (i, e) {\n if (e.classList.contains(\"bb-p-showdown-labels\")) return;\n e = $(e);\n var html_in, html_out;\n var onlyPhrasing = allowOnlyPhrasing(e);\n let newline = \"\\n\";\n\n html_in = e.html().replace(br_re, newline);\n html_out = converter.makeHtml(html_in, onlyPhrasing);\n if (onlyPhrasing)\n html_out = html_out.trim().replace(newlineGlobRe, \"
\");\n\n if (topLevel !== 0)\n html_out = html_out.replace(/(<\\/?h)([1-6])/g, demoteHeading);\n\n e.html(html_out).addClass(\"bb-p-showdown-labels\");\n });\n };\n\n function allowOnlyPhrasing(e) {\n return (\n onlyPhrasingInside.indexOf(e.get(0).nodeName) > -1 ||\n (policy !== \"legacy\" && e.hasClass(\"bb-label\"))\n );\n }\n\n function demoteHeading(m, m1, m2) {\n return m1 + Math.min(6, topLevel + Number(m2));\n }\n\n $(document).on(\"bb:postHandleData\", function (event, data) {\n if (data && data.groups) {\n $(\".bb-md-able\").showdown();\n $(document).trigger(\"bb:md-done\");\n $(document).trigger(\"bb:resized\");\n }\n });\n });\n\n document.addEventListener(\n \"bb:updatedControl\",\n ({ detail: { control, Updates } }) => {\n if (has(\"value\", Updates) && isLabel(control) && updateLabels(conf)) {\n control._elt.classList.remove(\"bb-p-showdown-labels\");\n control.$elt.showdown();\n }\n if (\n has(\"value\", Updates) &&\n control.controltype === \"grid\" &&\n updateLabels(conf)\n ) {\n control.$elt.find(\".bb-md-able\").showdown();\n }\n }\n );\n})(jQuery);\n", "/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\n/*global define: false Mustache: true*/\n\nfunction mustacheFactory(mustache) {\n var objectToString = Object.prototype.toString;\n var isArray =\n Array.isArray ||\n function isArrayPolyfill(object) {\n return objectToString.call(object) === \"[object Array]\";\n };\n\n function isFunction(object) {\n return typeof object === \"function\";\n }\n\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n function typeStr(obj) {\n return isArray(obj) ? \"array\" : typeof obj;\n }\n\n function escapeRegExp(string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n }\n\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n function hasProperty(obj, propName) {\n return obj != null && typeof obj === \"object\" && propName in obj;\n }\n\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n var regExpTest = RegExp.prototype.test;\n function testRegExp(re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n function isWhitespace(string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"/\": \"/\",\n \"`\": \"`\",\n \"=\": \"=\"\n };\n\n function escapeHtml(string) {\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap(s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n */\n function parseTemplate(template, tags) {\n if (!template) return [];\n\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace() {\n if (hasTag && !nonSpace) {\n while (spaces.length) delete tokens[spaces.pop()];\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n function compileTags(tagsToCompile) {\n if (typeof tagsToCompile === \"string\")\n tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\n throw new Error(\"Invalid tags: \" + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + \"\\\\s*\");\n closingTagRe = new RegExp(\"\\\\s*\" + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp(\n \"\\\\s*\" + escapeRegExp(\"}\" + tagsToCompile[1])\n );\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n } else {\n nonSpace = true;\n }\n\n tokens.push([\"text\", chr, start, start + 1]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === \"\\n\") stripSpace();\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe)) break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || \"name\";\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === \"=\") {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === \"{\") {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = \"&\";\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe))\n throw new Error(\"Unclosed tag at \" + scanner.pos);\n\n token = [type, value, start, scanner.pos];\n tokens.push(token);\n\n if (type === \"#\" || type === \"^\") {\n sections.push(token);\n } else if (type === \"/\") {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection)\n throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value)\n throw new Error(\n 'Unclosed section \"' + openSection[1] + '\" at ' + start\n );\n } else if (type === \"name\" || type === \"{\" || type === \"&\") {\n nonSpace = true;\n } else if (type === \"=\") {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection)\n throw new Error(\n 'Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos\n );\n\n return nestTokens(squashTokens(tokens));\n }\n\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n function squashTokens(tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === \"text\" && lastToken && lastToken[0] === \"text\") {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n function nestTokens(tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case \"#\":\n case \"^\":\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case \"/\":\n section = sections.pop();\n section[5] = token[2];\n collector =\n sections.length > 0\n ? sections[sections.length - 1][4]\n : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n function Scanner(string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n Scanner.prototype.eos = function eos() {\n return this.tail === \"\";\n };\n\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n Scanner.prototype.scan = function scan(re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0) return \"\";\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n };\n\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n Scanner.prototype.scanUntil = function scanUntil(re) {\n var index = this.tail.search(re),\n match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = \"\";\n break;\n case 0:\n match = \"\";\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n };\n\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n function Context(view, parentContext) {\n this.view = view;\n this.cache = { \".\": this.view };\n this.parent = parentContext;\n }\n\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n Context.prototype.push = function push(view) {\n return new Context(view, this);\n };\n\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n Context.prototype.lookup = function lookup(name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this,\n names,\n index,\n lookupHit = false;\n\n while (context) {\n if (name.indexOf(\".\") > 0) {\n value = context.view;\n names = name.split(\".\");\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n **/\n while (value != null && index < names.length) {\n if (index === names.length - 1)\n lookupHit = hasProperty(value, names[index]);\n\n value = value[names[index++]];\n }\n } else {\n value = context.view[name];\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit) break;\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value)) value = value.call(this.view);\n\n return value;\n };\n\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n function Writer() {\n this.cache = {};\n }\n\n /**\n * Clears all cached templates in this writer.\n */\n Writer.prototype.clearCache = function clearCache() {\n this.cache = {};\n };\n\n /**\n * Parses and caches the given `template` and returns the array of tokens\n * that is generated from the parse.\n */\n Writer.prototype.parse = function parse(template, tags) {\n var cache = this.cache;\n var tokens = cache[template];\n\n if (tokens == null)\n tokens = cache[template] = parseTemplate(template, tags);\n\n return tokens;\n };\n\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n */\n Writer.prototype.render = function render(template, view, partials) {\n var tokens = this.parse(template);\n var context = view instanceof Context ? view : new Context(view);\n return this.renderTokens(tokens, context, partials, template);\n };\n\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n Writer.prototype.renderTokens = function renderTokens(\n tokens,\n context,\n partials,\n originalTemplate\n ) {\n var buffer = \"\";\n\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === \"#\")\n value = this.renderSection(token, context, partials, originalTemplate);\n else if (symbol === \"^\")\n value = this.renderInverted(token, context, partials, originalTemplate);\n else if (symbol === \">\")\n value = this.renderPartial(token, context, partials, originalTemplate);\n else if (symbol === \"&\") value = this.unescapedValue(token, context);\n else if (symbol === \"name\") value = this.escapedValue(token, context);\n else if (symbol === \"text\") value = this.rawValue(token);\n\n if (value !== undefined) buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection(\n token,\n context,\n partials,\n originalTemplate\n ) {\n var self = this;\n var buffer = \"\";\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender(template) {\n return self.render(template, context, partials);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n buffer += this.renderTokens(\n token[4],\n context.push(value[j]),\n partials,\n originalTemplate\n );\n }\n } else if (\n typeof value === \"object\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n buffer += this.renderTokens(\n token[4],\n context.push(value),\n partials,\n originalTemplate\n );\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== \"string\")\n throw new Error(\n \"Cannot use higher-order sections without the original template\"\n );\n\n // Extract the portion of the original template that the section contains.\n value = value.call(\n context.view,\n originalTemplate.slice(token[3], token[5]),\n subRender\n );\n\n if (value != null) buffer += value;\n } else {\n buffer += this.renderTokens(\n token[4],\n context,\n partials,\n originalTemplate\n );\n }\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted(\n token,\n context,\n partials,\n originalTemplate\n ) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || (isArray(value) && value.length === 0))\n return this.renderTokens(token[4], context, partials, originalTemplate);\n };\n\n Writer.prototype.renderPartial = function renderPartial(\n token,\n context,\n partials\n ) {\n if (!partials) return;\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null)\n return this.renderTokens(this.parse(value), context, partials, value);\n };\n\n Writer.prototype.unescapedValue = function unescapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return mustache.escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue(token) {\n return token[1];\n };\n\n mustache.name = \"mustache.js\";\n mustache.version = \"2.2.1\";\n mustache.tags = [\"{{\", \"}}\"];\n\n // All high-level mustache.* functions use this writer.\n var defaultWriter = new Writer();\n\n /**\n * Clears all cached templates in the default writer.\n */\n mustache.clearCache = function clearCache() {\n return defaultWriter.clearCache();\n };\n\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n mustache.parse = function parse(template, tags) {\n return defaultWriter.parse(template, tags);\n };\n\n /**\n * Renders the `template` with the given `view` and `partials` using the\n * default writer.\n */\n mustache.render = function render(template, view, partials) {\n if (typeof template !== \"string\") {\n throw new TypeError(\n 'Invalid template! Template should be a \"string\" ' +\n 'but \"' +\n typeStr(template) +\n '\" was given as the first ' +\n \"argument for mustache#render(template, view, partials)\"\n );\n }\n\n return defaultWriter.render(template, view, partials);\n };\n\n // This is here for backwards compatibility with 0.4.x.,\n /*eslint-disable */ // eslint wants camel cased function name\n mustache.to_html = function to_html(template, view, partials, send) {\n /*eslint-enable*/\n\n var result = mustache.render(template, view, partials);\n\n if (isFunction(send)) {\n send(result);\n } else {\n return result;\n }\n };\n\n // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n mustache.escape = escapeHtml;\n\n // Export these mainly for testing, but also for advanced usage.\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n}\n\nlet Mustache = {};\n\nmustacheFactory(Mustache);\n\nexport default Mustache;\nexport { Mustache };\n", "/* non-indenting-jumplist:\n *\n * Throw away indentation level information of the jumplist, so that a\n * flat jumplist will be created.\n *\n * This can be useful for horizontally layed-out jumplists.\n *\n * Copyright (C) 2010, 2011, 2015 by Berkeley Bridge\n *\n */\n\n(function ($) {\n $(document).on(\"bb:preHandleData\", function (event, data) {\n if (data.jumplist) {\n $.each(data.jumplist, function (group) {\n data.jumplist[group].level = 0;\n data.jumplist[group].screentitle =\n data.jumplist[group].screentitle.trim();\n });\n }\n });\n})(jQuery);\n", "import { bb } from \"$json\";\n/* postcode-soap:\n *\n * Prefill street and city fields based on postcode (dutch). Assumes a\n * Webservice running on the same host at the path ../postcode/postcode,\n * relative to document, accepting a soap request in the form returned by the\n * function soapBody().\n *\n * Fields are matched (fuzzily) by their accompanying labels:\n *\n * /[Pp]ostcode/ -> get postcode\n * /[Ss]traat/ -> set street\n * /[Pp]laats/ -> set cityname\n *\n * Copyright (C) 2013 by Berkeley Bridge\n *\n */\n\n(function ($) {\n var url = bb.propFinder(bb.conf, \"arbitrary.postcode-soap\")(\n \"url\",\n \"../postcode/postcode\"\n );\n\n function soapBody(cijfers, letters) {\n return `\n \n \n \n postcode\n postcode\n nietgeheimhoor\n \n ${cijfers}\n ${letters}\n \n \n \n`;\n }\n\n $(function () {\n function fillData(cijfers, letters, elt) {\n $.ajax({\n type: \"post\",\n url: url,\n contentType: \"text/xml; charset=utf-8\",\n data: soapBody(cijfers, letters),\n dataType: \"xml\",\n processData: false,\n beforeSend: function (xhr) {\n xhr.setRequestHeader(\n \"SOAPAction\",\n \"http://www.bridge-to-knowledge.nl/\" + \"postcode/postcode\"\n );\n },\n\n success: function (msg) {\n var txt = msg;\n if (!txt) this.error.apply(this, arguments);\n else {\n var streetNode, street, citynameNode, cityname;\n // Non-IE\n if (typeof txt.getElementsByTagNameNS === \"function\") {\n street = txt.getElementsByTagNameNS(\n \"www.berkeleybridge.nl/soap\",\n \"street\"\n )[0].textContent;\n cityname = txt.getElementsByTagNameNS(\n \"www.berkeleybridge.nl/soap\",\n \"cityname\"\n )[0].textContent;\n } else {\n // IE\n msg.setProperty(\n \"SelectionNamespaces\",\n 'xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" ' +\n 'xmlns:bb=\"www.berkeleybridge.nl/soap\"'\n );\n streetNode = msg.selectSingleNode(\n \"s:Envelope/s:Body/bb:postcode-data-out/bb:street\"\n );\n if (streetNode) street = streetNode.text;\n citynameNode = msg.selectSingleNode(\n \"s:Envelope/s:Body/bb:postcode-data-out/bb:cityname\"\n );\n if (citynameNode) cityname = citynameNode.text;\n }\n $.each(\n $(elt).parents(\".group, tr\").first().find('input[type=\"text\"]'),\n function () {\n if (/^([Ss]traat|[Aa]dres)/.test($(this).data(\"label\"))) {\n $(this).val(street);\n } else if (\n /([Pp]laatsnaam|[Ww]oonplaats)/.test($(this).data(\"label\"))\n ) {\n $(this).val(cityname);\n }\n }\n );\n }\n },\n error: function () {\n if (typeof console != \"undefined\" && console && console.log)\n console.log(\"error getting postcode\", arguments);\n }\n });\n }\n\n function autofillothers() {\n var pc = $.trim($(this).val());\n var matches = pc.match(/^([0-9]{4})\\s*([a-zA-Z]{2})$/);\n if (matches && matches.length == 3) {\n fillData(matches[1], matches[2], this);\n }\n }\n\n $(document).on(\"bb:postHandleData\", function () {\n $(\".group.selected\" + ' input[data-datatype*=\"StUF:Postcode\"]').each(\n function () {\n $(this).on(\"keydown\", function () {\n var val = $(this).val();\n var me = this;\n var fun = function () {\n if (val !== $(me).val()) autofillothers.call(me);\n };\n window.setTimeout(fun, 200);\n });\n }\n );\n });\n });\n})(jQuery);\n", "import { bb } from \"$json\";\n/* questionlabelgroup-wrapping-input:\n *\n * Next-generation questionlabelgroup plugin.\n *\n * It will eventually probably replace the default implementation.\n *\n * Author: Niels Giesen\n * Copyright 2013, 2017 Berkeley Bridge\n *\n */\n(function ($) {\n $(document).off(\"bb:questionlabelgroup\");\n\n var layoutmap = {\n edit: \"aside\",\n numedit: \"aside\",\n checkbox: \"aside\",\n datetimepicker: \"aside\",\n combobox: \"aside\",\n linklabel: \"below\",\n listlabel: \"below\",\n memo: \"below\",\n checkmultilist: \"below\",\n multilist: \"below\",\n grid: \"below\",\n listbox: \"below\",\n radio: \"below\"\n };\n\n bb.questionlabelgroup = function () {\n $(\".group:not(:has(.bb-questionlabelgroup))>.bb-label\").each(function () {\n var $this = $(this),\n control,\n input = $this.prev(\"[type=checkbox]\"),\n isCheckBox = !!input.length,\n itype,\n idatatype,\n classes,\n questionandlabel;\n\n if (!isCheckBox)\n input = $this.nextUntil(\n \".bb-label, .bb-text, a, [type=checkbox], img, .clearfix,\" +\n \"*[data-datatype]+ul\"\n );\n\n control = input.data(\"control\");\n if (control) {\n itype = control.controltype;\n idatatype = control.datatype;\n }\n classes = input.attr(\"class\");\n\n if (!isCheckBox) {\n input.wrapAll(\n ''\n );\n input = input.parent(\"div\");\n } else {\n input.addClass(\"bb-fields\");\n }\n\n questionandlabel = $this.add(input);\n\n if (questionandlabel.length > 1)\n questionandlabel.wrapAll(\n \"'\n );\n\n var parent = questionandlabel.parents(\".bb-questionlabelgroup\");\n parent.append('');\n $.each(parent.find(\"[data-type]\"), function () {\n var $this = $(this);\n if ($this.attr(\"class\")) {\n var classname = $this.attr(\"class\").match(/\\bbbm-[a-z0-9-]+\\b/);\n if (classname) {\n classname = classname[0].replace(/\\bbbm-/, \"bb-g-\");\n parent.addClass(classname);\n }\n }\n });\n // Propagate tags of all children to parent\n $.each(parent.find(\"*\"), function (i, elt) {\n $.each($(elt).data(\"tags\") || [], function (i, tag) {\n parent.addClass(\"bb-child-tagged-\" + tag);\n });\n });\n });\n };\n})(jQuery);\n", "import { bb } from \"$json\";\n/* sb:open:\n *\n * Open de snelbalie\n *\n * Author: niels giesen\n * Copyright 2012, 2013, 2015, 2016 Berkeley Bridge\n *\n */\n(function ($, win, doc) {\n $(function () {\n function open() {\n bb.ajax.post({\n url: \"open\",\n data: {\n modelname: \"vl\",\n fmt: \"json\"\n }\n });\n }\n\n function hasState() {\n try {\n return (\n win.history &&\n win.history.pushState &&\n (win.history.state ||\n (win.sessionStorage &&\n \"JSON\" in window &&\n JSON.parse(win.sessionStorage.getItem(\"state\"))))\n );\n } catch (err) {\n return false;\n }\n }\n\n if (win.location.search.length === 0 && !hasState()) {\n open();\n } else {\n $(doc).one(\"bb:postHandleData\", function (event, data) {\n if (\n (data && data.error && data.error.summary) ||\n (data && data.groups && !data.groups.length)\n ) {\n open();\n }\n });\n }\n });\n})(jQuery, window, document);\n", "import { gt, bb, _ } from \"$json\";\nimport { Mustache } from \"$mustache\";\n/* smart-attachments:\n *\n * Attach files smartly\n *\n * @dependencies: Mustache, faux-ajax\n *\n * For authors: define a dataset as \"DatasetSmartAttachments\"; the\n * last cell will then be used as smart attachments widget.\n *\n * Author: Niels Giesen\n * Copyright 2016 Berkeley Bridge\n *\n */\n(function ($, win, doc) {\n var finder = bb.propFinder(bb.conf, \"arbitrary.smart-attachments\");\n\n var translations = {\n \"Please provide just one file at a time\": {\n nl: \"Voeg maximaal 1 bestand toe per keer\"\n },\n \"File is too large ({0}). Maximum file size allowed: {1}\": {\n nl: \"Bestand is te groot ({0}). Maximum toegestane grootte: {1}\"\n },\n \"We only accept the following formats: \": {\n nl: \"Alleen de volgende bestandsformaten worden ondersteund: \"\n }\n };\n\n $(function () {\n gt.addTranslations(translations);\n });\n\n function humanSize(size) {\n if (size > 1024 * 1024)\n return (Math.round((size * 100) / (1024 * 1024)) / 100).toString() + \"MB\";\n else return (Math.round((size * 100) / 1024) / 100).toString() + \"KB\";\n }\n\n var $doc = $(doc),\n creds = {},\n addform,\n delform,\n forms;\n\n var isAdvancedUpload = (function () {\n var div = document.createElement(\"div\");\n return (\n (\"draggable\" in div || (\"ondragstart\" in div && \"ondrop\" in div)) &&\n \"FormData\" in window &&\n \"FileReader\" in window\n );\n })();\n\n if (isAdvancedUpload) {\n var droppedFiles = false;\n\n $doc\n .on(\n \"drag dragstart dragend dragover dragenter dragleave drop\",\n \".p-smart-attachments-upload\",\n function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n )\n .on(\"dragover dragenter\", \".p-smart-attachments-upload\", function () {\n $(this).addClass(\"is-dragover\");\n })\n .on(\"dragleave dragend drop\", \".p-smart-attachments-upload\", function () {\n $(this).removeClass(\"is-dragover\");\n })\n .on(\"drop\", \".p-smart-attachments-upload\", function (e) {\n var droppedFiles = e.originalEvent.dataTransfer.files,\n err;\n advancedUpload(e, this, droppedFiles);\n });\n }\n\n $(function () {\n addform = $(\"#p-smart-attachments-addform\").html();\n delform = $(\"#p-smart-attachments-delform\").html();\n forms = addform + delform;\n if (!(addform || delform))\n throw new Error(\n \"Plugin smart-attachments expected Mustache template #p-smart-attachments-addform\" +\n \" and #p-smart-attachment-delform. One or both of them are missing\"\n );\n });\n\n function getErrorElt(form) {\n return form.querySelector(\".p-smart-attachments-error\");\n }\n\n function clearError(form) {\n var elt = getErrorElt(form);\n if (elt) {\n elt.innerHTML = \"\";\n elt.style.display = \"none\";\n }\n }\n\n function setError(form, error) {\n var elt = getErrorElt(form);\n if (elt) {\n elt.innerHTML = error;\n elt.style.display = \"\";\n } else {\n bb.notify(\n \"Plugin smart-attachments would like to have a .p-smart-attachments-error \" +\n \"inside .p-smart-attachments-upload, so that can show the error inline.\"\n );\n $doc.trigger(\"bb:preHandleData\", { error: error });\n $doc.trigger(\"bb:handleData\", { error: error });\n $doc.trigger(\"bb:postHandleData\", { error: error });\n }\n }\n\n function rejectExtension(path) {\n if (finder(\"accepts.types\")) {\n if (\n finder(\"accepts.types\").indexOf(path.split(\".\").pop().toLowerCase()) ===\n -1\n ) {\n return finder(\n \"accepts.text\",\n _(\"We only accept the following formats: \") +\n finder(\"accepts.types\").join(\" \")\n );\n }\n }\n return undefined;\n }\n\n function advancedUpload(e, form, droppedFiles) {\n e.preventDefault();\n\n var err;\n // It happens in IE that this function is called twice. Do nothing\n // if that apparently happens.\n if (droppedFiles.length === 0) {\n return;\n }\n if (droppedFiles.length > 1) {\n setError(form, _(\"Please provide just one file at a time\"));\n return;\n }\n\n var ajaxData = new FormData(form),\n tag = form[\"tag\"].value,\n maxsize = form[\"addme\"].getAttribute(\"data-maxsize\"),\n file = droppedFiles.item(0);\n\n var errExtension = rejectExtension(file.name);\n if (errExtension) {\n setError(form, errExtension);\n return;\n }\n\n if (file.size > maxsize) {\n setError(\n form,\n bb.positionalFormat(\n _(\"File is too large ({0}). Maximum file size allowed: {1}\"),\n humanSize(file.size),\n humanSize(maxsize)\n )\n );\n return;\n }\n\n clearError(form);\n ajaxData.append(\"addable\", file);\n\n var xhr = $.ajax({\n url: form.getAttribute(\"action\"),\n type: form.getAttribute(\"method\"),\n data: ajaxData,\n dataType: \"json\",\n cache: false,\n contentType: false,\n processData: false,\n complete: function () {\n form.classList.add(\"is-uploading\");\n },\n success: function (data, textStatus, xhr) {\n form.classList.add(data.success == true ? \"is-success\" : \"is-error\");\n // @todo: sanity check\n if (data.error) {\n this.error(data, textStatus, xhr);\n } else {\n $doc\n .trigger(\"bb:preHandleData\", data)\n .trigger(\"bb:handleData\", data)\n .trigger(\"bb:postHandleData\", data);\n }\n },\n error: function (xhr, evtname, textStatus) {\n var m;\n if (xhr.responseJSON) {\n onStructuredError(xhr.responseJSON, form);\n } else if (!xhr) {\n setError(form, \"Unknown Error\");\n } else if (xhr.responseText) {\n setError(form, xhr.status + \" \" + xhr.responseText);\n } else if (xhr.status < 200 || xhr.status >= 400) {\n setError(form, \"Error \" + xhr.status + \": \" + textStatus);\n }\n },\n xhr: function () {\n var xhr = new window.XMLHttpRequest();\n //Upload progress\n xhr.upload.addEventListener(\n \"progress\",\n function (evt) {\n if (evt.lengthComputable) {\n showProgress(file, tag, { loaded: evt.loaded, total: evt.total });\n }\n },\n false\n );\n //Download progress\n // xhr.addEventListener('progress', function(evt){\n // if (evt.lengthComputable) {\n // var percentComplete = evt.loaded / evt.total;\n // //Do something with download progress\n // console.log(percentComplete);\n // }\n // }, false);\n return xhr;\n }\n });\n }\n\n function uploadProgress() {\n console.log(\"prog\", arguments);\n }\n\n Mustache.tags = [\"[[\", \"]]\"];\n\n function test(data) {\n return (\n data &&\n data.groups &&\n data.groups.some(function (group) {\n return (\n group.current &&\n group.controls.some(function (control) {\n return control.datatype === \"DatasetSmartAttachments\";\n })\n );\n })\n );\n }\n\n function isnew(data) {\n return (\n creds.uniquid !== data.uniqueid ||\n creds.sessionid !== data.sessionid ||\n creds.modelid !== data.modelid\n );\n }\n\n function remember(data) {\n creds.uniqueid = data.uniqueid;\n creds.sessionid = data.sessionid;\n creds.modelid = data.modelid;\n }\n\n function myown(data) {\n return typeof data.filelist !== \"undefined\";\n }\n\n function getCells() {\n return $(\n '.group.selected [data-datatype=\"DatasetSmartAttachments\"] td:last-child'\n );\n }\n\n function enhance(data) {\n var $cells = getCells(),\n tags = [],\n unassoc;\n\n // We probably started uploading, but did navigation in the mean\n // time. Ignore the response in that case.\n if ($cells.length === 0) return;\n\n $cells.each(function () {\n var $this = $(this),\n $label = $this.find(\":first\"),\n attachment = $label.data(\"control\"),\n files,\n html,\n tr,\n permit,\n tag;\n\n tr = this.parentNode;\n while (tr && !$(tr).hasClass(\"bb-newscope\"))\n tr = tr.parentNode.rows[tr.rowIndex - 1];\n\n if (tr === undefined) tr = this.parentNode;\n\n permit = $(tr.cells[0]).find(\":first\").data(\"control\");\n // Just to be sure, although we also normalized form-widgets-definitiosn\n tag = permit.value + \"/\" + attachment.value.replace(/\\r\\n/g, \"\\n\");\n\n files = $.grep(data.filelist, function (file) {\n return file.tag === tag;\n });\n (html = Mustache.render(\n forms,\n $.extend({}, creds, {\n tag: tag,\n name: attachment.value,\n files: files,\n heading: \"Toegevoegde bijlagen\",\n candrop: isAdvancedUpload,\n hasfiles: files.length > 0\n })\n )),\n // console.log(this, permit.value, $label.data('control').value);\n\n tags.push(tag);\n if (tag !== \"geen/geen\") {\n $this.toggleClass(\"p-smart-attachments-any\", files.length !== 0);\n if (!$this.hasClass(\"p-smart-attachments-initted\")) {\n $label\n .get(0)\n .insertAdjacentHTML(\n \"afterend\",\n ''\n );\n $label.attr(\"hidden\", true);\n $this.addClass(\"p-smart-attachments-initted\");\n }\n var $form = $this.find(\".p-smart-attachments-form\");\n $form.get(0).innerHTML = html;\n $form.find('[data-md=\"true\"]').each(function (_, mdable) {\n $(this).showdown();\n $(document).trigger(\"bb:resized\");\n });\n }\n });\n unassoc = getUnassociatedFiles(data, tags);\n $(\".p-smart-attachments-unassociated\").html(\n Mustache.render(\n delform,\n $.extend({}, creds, {\n files: unassoc,\n heading:\n \"Onderstaande bijlagen lijken nu niet meer van toepassing.\" +\n \" Verwijder ze zo nodig.\",\n hasfiles: unassoc.length > 0\n })\n )\n );\n $doc.trigger(\"bb:resized\");\n }\n\n function showProgress(file, tag, stats) {\n var cells = getCells().toArray();\n // We probably started uploading, but did navigation in the mean\n // time. Ignore the response in that case.\n if (cells.length === 0) return;\n\n var progress = stats.loaded / stats.total;\n cells.some(function (c) {\n var $this = $(c),\n thistag = $this.find(\":first\").text(),\n el;\n if (tag === thistag) {\n el = c.querySelector('[data-progresses=\"' + file.name + '\"]');\n if (progress === 1) {\n if (el) {\n el.parentNode.removeChild(el);\n }\n } else {\n if (el) {\n el.querySelector(\"progress\").value = progress;\n } else {\n c.insertAdjacentHTML(\n \"beforeend\",\n '' +\n '
\" +\n '
' +\n file.name +\n \"\" +\n \"
\"\n );\n }\n }\n $doc.trigger(\"bb:resized\");\n return true;\n } else {\n return false;\n }\n });\n\n // console.log(progress, file, tag);\n }\n\n function getUnassociatedFiles(data, tags) {\n return data.filelist.filter(function (file) {\n return tags.indexOf(file.tag) === -1;\n });\n }\n\n function onStructuredError(data, form) {\n var m;\n if (data.error.code === 29) {\n m = data.error.summary.match(\n /^Uploaded file \\(([0-9]+) KB\\) is too big \\(max ([0-9]+) KB\\)$/\n );\n if (m)\n setError(\n form,\n bb.positionalFormat(\n _(\"File is too large ({0}). Maximum file size allowed: {1}\"),\n humanSize(m[1] * 1024),\n humanSize(m[2] * 1024)\n )\n );\n }\n if (!m)\n // either undefined (code != 29) or no match (null)\n $doc\n .trigger(\"bb:preHandleData\", data)\n .trigger(\"bb:handleData\", data)\n .trigger(\"bb:postHandleData\", data);\n }\n\n $(doc).on(\"focus\", \".p-smart-attachments-upload-widget\", function (e) {\n $(this).addClass(\"focus\");\n });\n $(doc).on(\"blur\", \".p-smart-attachments-upload-widget\", function (e) {\n $(this).removeClass(\"focus\");\n });\n\n $(doc).on(\"change\", '[name=\"addme\"]', function (e) {\n if (isAdvancedUpload) {\n var droppedFiles = this.files;\n\n // Important - we do not want to double-send this one\n this.setAttribute(\"disabled\", true);\n advancedUpload(e, this.form, droppedFiles);\n this.removeAttribute(\"disabled\");\n this.value = \"\";\n } else {\n this.setAttribute(\"name\", \"addable\");\n var errExtension = rejectExtension(this.value);\n if (errExtension) {\n setError(this.form, errExtension);\n } else {\n bb.Plugins[\"faux-ajax\"].send(this.form);\n }\n\n // Listen again\n this.setAttribute(\"name\", \"addme\");\n // We don't want this value inside FormData (causing havoc in\n // Dragging uploader)\n this.value = \"\";\n }\n });\n\n $(function () {\n $(doc).on(\"bb:postHandleData\", function (event, data) {\n if (test(data)) {\n if (isnew(data)) {\n remember(data);\n }\n bb.ajax.post({\n url: \"getfiles\",\n data: $.extend({}, creds, { fmt: \"json\" })\n });\n }\n if (myown(data)) {\n enhance(data);\n } else {\n $(\".p-smart-attachments-unassociated\").html(\"\");\n }\n });\n });\n})(jQuery, window, document);\n", "/* xsl-to-pdf:\n *\n * Request server to serve pdf variant of generated xsl or html\n * document instead of the original by adding &fmt=pdf to the end and\n * setting the mimetype.\n *\n * Note this only gives the desired effect with server >= 4.1\n *\n * Author: Niels Giesen\n * Copyright 2016 Berkeley Bridge\n *\n */\n(function ($, win, doc) {\n $(function () {\n $(doc).on(\"bb:preHandleData\", function (event, data) {\n if (data && data.groups) {\n $.each(data.groups, function (_, group) {\n $.each(group.controls, function (_, control) {\n if (\n control.controltype === \"linklabel\" &&\n control.isreport &&\n /^[^?]+\\.(xsl|html)\\?/.test(control.url)\n ) {\n control.url += \"&fmt=pdf\";\n control.mimetype = {\n mimetype: \"application/pdf\",\n ext: \"pdf\"\n };\n }\n });\n });\n }\n });\n });\n})(jQuery, window, document);\n"],
"mappings": "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",
"names": []
}