diff --git a/.gitignore b/.gitignore index 2fc292c..95f1db1 100644 --- a/.gitignore +++ b/.gitignore @@ -16,5 +16,4 @@ app/tmp/main.go .project public/config.codekit files -/gulpfile.js /node_modules diff --git a/Gulpfile.js b/Gulpfile.js new file mode 100644 index 0000000..43e4aeb --- /dev/null +++ b/Gulpfile.js @@ -0,0 +1,138 @@ +var gulp = require('gulp'); +var clean = require('gulp-clean'); +var uglify = require('gulp-uglify'); +var rename = require('gulp-rename'); +var minifyHtml = require("gulp-minify-html"); +var concat = require('gulp-concat'); +var replace = require('gulp-replace'); +var inject = require('gulp-inject'); +var gulpSequence = require('gulp-sequence'); + +var fs = require('fs'); + +var leanoteBase = './'; +var base = leanoteBase + '/public'; // public base +var noteDev = leanoteBase + '/app/views/note/note-dev.html'; +var noteProBase = leanoteBase + '/app/views/note'; + +// 合并Js, 这些js都是不怎么修改, 且是依赖 +// 840kb, 非常耗时!! +gulp.task('concatDepJs', function() { + var jss = [ + 'js/jquery-1.9.0.min.js', + 'js/jquery.ztree.all-3.5-min.js', + 'js/tinymce/tinymce.full.min.js', // 使用打成的包, 加载速度快 + // 'libs/ace/ace.js', + 'js/jQuery-slimScroll-1.3.0/jquery.slimscroll-min.js', + 'js/contextmenu/jquery.contextmenu-min.js', + 'js/bootstrap-min.js', + 'js/object_id-min.js', + ]; + + for(var i in jss) { + jss[i] = base + '/' + jss[i]; + } + + return gulp + .src(jss) + // .pipe(uglify()) // 压缩 + .pipe(concat('dep.min.js')) + .pipe(gulp.dest(base + '/js')); +}); + +// 合并app js 这些js会经常变化 90kb +gulp.task('concatAppJs', function() { + var jss = [ + 'js/common.js', + 'js/app/note.js', + 'js/app/page.js', // 写作模式下, page依赖note + 'js/app/tag.js', + 'js/app/notebook.js', + 'js/app/share.js', + ]; + + for(var i in jss) { + jss[i] = base + '/' + jss[i]; + } + + return gulp + .src(jss) + .pipe(uglify()) // 压缩 + .pipe(concat('app.min.js')) + .pipe(gulp.dest(base + '/js')); +}); + +// 合并requirejs和markdown为一个文件 +gulp.task('concatMarkdownJs', function() { + var jss = [ + 'js/require.js', + 'dist/main.min.js', + ]; + + for(var i in jss) { + jss[i] = base + '/' + jss[i]; + } + + return gulp + .src(jss) + .pipe(uglify()) // 压缩 + .pipe(concat('markdown.min.js')) + .pipe(gulp.dest(base + '/js')); +}); + +// note-dev.html -> note.html, 替换css, js +// TODO 加?t=2323232, 强制浏览器更新, 一般只需要把app.min.js上加 +gulp.task('devToProHtml', function() { + return gulp + .src(noteDev) + .pipe(replace(/[.\s\S]+?/g, '')) // 把dev 去掉 + .pipe(replace(//, '')) // 替换 + .pipe(replace(//, '')) // 替换 + .pipe(replace(//, '')) // 替换 + .pipe(replace(//, "var tinyMCEPreInit = {base: '/public/js/tinymce', suffix: '.min'};")) // 替换 + // 连续两个空行换成一个空行, 没用 + .pipe(replace(/\n\n/g, '\n')) + .pipe(replace(/\n\n/g, '\n')) + .pipe(replace('console.log(o);', '')) + // .pipe(minifyHtml()) // 不行, 压缩后golang报错 + .pipe(rename('note.html')) + .pipe(gulp.dest(noteProBase)); +}); + +// tinymce + +var tinymceBase = base + '/tinymce_4.1.9'; +gulp.task('tinymce', function() { + // 先清理 + fs.unlink(tinymceBase + '/js/tinymce/tinymce.dev.js'); + fs.unlink(tinymceBase + '/js/tinymce/tinymce.jquery.dev.js'); + fs.unlink(tinymceBase + '/js/tinymce/tinymce.full.js'); + fs.unlink(tinymceBase + '/js/tinymce/tinymce.full.min.js'); + + var cp = require('child_process'); + + var bundleCmd = 'grunt bundle --themes leanote --plugins autolink,link,leaui_image,leaui_mind,lists,hr,paste,searchreplace,leanote_nav,leanote_code,tabfocus,table,directionality,textcolor'; + // build + cp.exec('grunt minify', {cwd: tinymceBase}, function(err, stdout, stderr) { + console.log('stdout: ' + stdout); + console.log('stderr: ' + stderr); + + // 将所有都合并成一起 + cp.exec(bundleCmd, {cwd: tinymceBase}, function(err, stdout, stderr) { + console.log('stdout: ' + stdout); + console.log('stderr: ' + stderr); + }); + }); +}); + +// 合并css, 无用 +gulp.task('concatCss', function() { + return gulp + .src([markdownRaw + '/css/default.css', markdownRaw + '/css/md.css']) + .pipe(concat('all.css')) + .pipe(gulp.dest(markdownMin)); +}); + +gulp.task('concat', ['concatDepJs', 'concatAppJs', 'concatMarkdownJs']); +gulp.task('html', ['devToProHtml']); +gulp.task('default', ['concat', 'html']); diff --git a/app/views/note/note.html b/app/views/note/note.html index ea34300..997b2a5 100644 --- a/app/views/note/note.html +++ b/app/views/note/note.html @@ -18,13 +18,15 @@ + + @@ -60,7 +62,7 @@ function log(o) {
@@ -68,14 +70,15 @@ function log(o) {
- - + + {{msg . "newNote"}} {{msg . "new"}} | - - Markdown + + + {{msg . "newMarkdown"}} Md - @@ -86,7 +89,7 @@ function log(o) { @@ -95,14 +98,14 @@ function log(o) {
- +
      @@ -541,7 +544,7 @@ function log(o) {
      -
      +
      @@ -549,10 +552,10 @@ function log(o) {
      -
      +
      @@ -581,16 +584,15 @@ function log(o) {
      -
      - +
      "];var e=tinymce.activeEditor;if(e){var n=$(e.getBody()).clone();if(n.find(".toggle-raw").remove(),window.LeaAce&&LeaAce.getAce)for(var o=n.find("pre"),r=0;r/g,">"),i.removeAttr("style","").removeAttr("contenteditable").removeClass("ace_editor"),i.html(l)}}if(n.find("pinit").remove(),n.find(".thunderpin").remove(),n.find(".pin").parent().remove(),n=$(n).html())for(;;){var c=n.lastIndexOf("");if(-1==c)return n;var u=n.length;if(u-9!=c)return n;var f=n.lastIndexOf("',"",'
      <%= documentHTML %>
      ',""].join("\n"),pdfTemplate:["","","",'',"<%= documentTitle %>",'','",'',"","<%= documentHTML %>",""].join("\n"),pdfOptions:["{",' "marginTop": 25,',' "marginRight": 25,',' "marginBottom": 25,',' "marginLeft": 25,',' "pageSize": "A4"',"}"].join("\n"),couchdbUrl:e.COUCHDB_URL,extensionSettings:{}};try{t.extend(r,JSON.parse(n.settings))}catch(i){}return r}),function(t,e){function n(t,e,n){return t.addEventListener?void t.addEventListener(e,n,!1):void t.attachEvent("on"+e,n)}function r(t){if("keypress"==t.type){var e=String.fromCharCode(t.which);return t.shiftKey||(e=e.toLowerCase()),e}return C[t.which]?C[t.which]:E[t.which]?E[t.which]:String.fromCharCode(t.which).toLowerCase()}function i(t,e){return t.sort().join(",")===e.sort().join(",")}function a(t){t=t||{};var e,n=!1;for(e in R)t[e]?n=!0:R[e]=0;n||(L=!1)}function o(t,e,n,r,a,o){var s,l,c=[],u=n.type;if(!I[t])return[];for("keyup"==u&&d(t)&&(e=[t]),s=0;s95&&112>t||C.hasOwnProperty(t)&&(_[C[t]]=t)}return _}function m(t,e,n){return n||(n=g()[t]?"keydown":"keypress"),"keypress"==n&&e.length&&(n="keydown"),n}function v(t,e,n,i){function o(e){return function(){L=e,++R[t],p()}}function s(e){u(n,e,t),"keyup"!==i&&(A=r(e)),setTimeout(a,10)}R[t]=0;for(var l=0;l1?void v(t,s,e,n):(a=x(t,n),I[a.key]=I[a.key]||[],o(a.key,a.modifiers,{type:a.action},r,t,i),void I[a.key][r?"unshift":"push"]({callback:e,modifiers:a.modifiers,action:a.action,seq:r,level:i,combo:t}))}function w(t,e,n){for(var r=0;r":".","?":"/","|":"\\"},T={option:"alt",command:"meta","return":"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},I={},N={},R={},A=!1,M=!1,L=!1,O=1;20>O;++O)C[111+O]="f"+O;for(O=0;9>=O;++O)C[O+96]=O;n(e,"keypress",f),n(e,"keydown",f),n(e,"keyup",f);var D={bind:function(t,e,n){return t=t instanceof Array?t:[t],w(t,e,n),this},unbind:function(t,e){return D.bind(t,function(){},e)},trigger:function(t,e){return N[t+":"+e]&&N[t+":"+e]({},t),this},reset:function(){return I={},N={},this},stopCallback:function(t,e){return(" "+e.className+" ").indexOf(" mousetrap ")>-1?!1:"INPUT"==e.tagName||"SELECT"==e.tagName||"TEXTAREA"==e.tagName||e.isContentEditable},handleKey:h};t.Mousetrap=D,"function"==typeof define&&define.amd&&define("mousetrap",D)}(window,document),define("logger",[],function(){var t={log:function(){},info:function(){},warn:function(){},error:function(){}};return/(\?|&)console($|&)/.test(location.search)?console:t}),define("classes/Extension",[],function(){function t(t,e,n,r){this.extensionId=t,this.extensionName=e,this.isOptional=n,this.disableInViewer=r}return t}),function(){var t=function(t,e,n,r){this.rawMessage=t,this.parsedLine=void 0!==e?e:-1,this.snippet=void 0!==n?n:null,this.parsedFile=void 0!==r?r:null,this.updateRepr(),this.message=t};t.prototype={name:"YamlParseException",message:null,parsedFile:null,parsedLine:-1,snippet:null,rawMessage:null,isDefined:function(t){return void 0!=t&&null!=t},getSnippet:function(){return this.snippet},setSnippet:function(t){this.snippet=t,this.updateRepr()},getParsedFile:function(){return this.parsedFile},setParsedFile:function(t){this.parsedFile=t,this.updateRepr()},getParsedLine:function(){return this.parsedLine},setParsedLine:function(t){this.parsedLine=t,this.updateRepr()},updateRepr:function(){this.message=this.rawMessage;var t=!1;"."===this.message.charAt(this.message.length-1)&&(this.message=this.message.substring(0,this.message.length-1),t=!0),null!==this.parsedFile&&(this.message+=" in "+JSON.stringify(this.parsedFile)),this.parsedLine>=0&&(this.message+=" at line "+this.parsedLine),this.snippet&&(this.message+=' (near "'+this.snippet+'")'),t&&(this.message+=".")}};var e=!1,n=function(){};n.prototype={parseFile:function(e,r){if(null==r){var i=this.getFileContents(e),a=null;try{a=this.parse(i)}catch(o){throw o instanceof t&&o.setParsedFile(e),o}return a}this.getFileContents(e,function(t){r((new n).parse(t))})},parse:function(t){var e=new a;return e.parse(t)},dump:function(t,e,n){null==e&&(e=2);var r=new s;return n&&(r.numSpacesForIndentation=n),r.dump(t,e)},getXHR:function(){if(window.XMLHttpRequest)return new XMLHttpRequest;if(window.ActiveXObject)for(var t=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"],e=0;4>e;e++)try{return new ActiveXObject(t[e])}catch(n){}return null},getFileContents:function(t,n){if(e){var r=require("fs");if(null==n){var i=r.readFileSync(t);return null==i?null:""+i}r.readFile(t,function(t,e){n(t?null:e)})}else{var a=this.getXHR();if(null==n)return a.open("GET",t,!1),a.send(null),200==a.status||0==a.status?a.responseText:null;a.onreadystatechange=function(){4==a.readyState&&n(200==a.status||0==a.status?a.responseText:null)},a.open("GET",t,!0),a.send(null)}}};var r={stringify:function(t,e,r){return(new n).dump(t,e,r)},parse:function(t){return(new n).parse(t)},load:function(t,e){return(new n).parseFile(t,e)}};"undefined"!=typeof exports&&"undefined"!=typeof module&&module.exports&&(exports=module.exports=r,e=!0,function(){var t=function(t,e){t.exports=r.load(e)};void 0!==require.extensions&&(require.extensions[".yml"]=t,require.extensions[".yaml"]=t)}()),"undefined"!=typeof window&&(window.YAML=r);var i=function(){};i.prototype={i:null,parse:function(e){var n=null;if(e=this.trim(e),0==e.length)return"";switch(e.charAt(0)){case"[":n=this.parseSequence(e);break;case"{":n=this.parseMapping(e);break;default:n=this.parseScalar(e)}if(""!=e.substr(this.i+1).replace(/^\s*#.*$/,""))throw console.log("oups "+e.substr(this.i+1)),new t('Unexpected characters near "'+e.substr(this.i)+'".');return n},dump:function(t){if(void 0==t||null==t)return"null";if(t instanceof Date)return t.toISOString();if("object"==typeof t)return this.dumpObject(t);if("boolean"==typeof t)return t?"true":"false";if(/^\d+$/.test(t))return"string"==typeof t?"'"+t+"'":parseInt(t);if(this.isNumeric(t))return"string"==typeof t?"'"+t+"'":parseFloat(t);if("number"==typeof t)return 1/0==t?".Inf":t==-1/0?"-.Inf":isNaN(t)?".NAN":t;var e=new YamlEscaper;return e.requiresDoubleQuoting(t)?e.escapeWithDoubleQuotes(t):e.requiresSingleQuoting(t)?e.escapeWithSingleQuotes(t):""==t?'""':this.getTimestampRegex().test(t)?"'"+t+"'":this.inArray(t.toLowerCase(),["null","~","true","false"])?"'"+t+"'":t},dumpObject:function(t){var e,n=this.getKeys(t),r=null,i=n.length;if(t instanceof Array){for(r=[],e=0;i>e;e++)r.push(this.dump(t[n[e]]));return"["+r.join(", ")+"]"}for(r=[],e=0;i>e;e++)r.push(this.dump(n[e])+": "+this.dump(t[n[e]]));return"{ "+r.join(", ")+" }"},parseScalar:function(e,n,r,i,a){void 0==n&&(n=null),void 0==r&&(r=['"',"'"]),void 0==i&&(i=0),void 0==a&&(a=!0);var o=null,s=null,l=null;if(this.inArray(e[i],r)){if(o=this.parseQuotedScalar(e,i),i=this.i,null!==n){var c=e.substr(i).replace(/^\s+/,"");if(!this.inArray(c.charAt(0),n))throw new t("Unexpected characters ("+e.substr(i)+").")}}else{if(n){if(!(l=new RegExp("^(.+?)("+n.join("|")+")").exec((e+"").substring(i))))throw new t("Malformed inline YAML string ("+e+").");o=l[1],i+=o.length}else o=(e+"").substring(i),i+=o.length,s=o.indexOf(" #"),-1!=s&&(o=o.substr(0,s).replace(/\s+$/g,""));o=a?this.evaluateScalar(o):o}return this.i=i,o},parseQuotedScalar:function(e,n){var r=null;if(!(r=new RegExp("^"+i.REGEX_QUOTED_STRING).exec((e+"").substring(n))))throw new t("Malformed inline YAML string ("+(e+"").substring(n)+").");var a=r[0].substr(1,r[0].length-2),s=new o;return a='"'==(e+"").charAt(n)?s.unescapeDoubleQuotedString(a):s.unescapeSingleQuotedString(a),n+=r[0].length,this.i=n,a},parseSequence:function(e,n){void 0==n&&(n=0);var r=[],i=e.length;for(n+=1;i>n;){switch(e.charAt(n)){case"[":r.push(this.parseSequence(e,n)),n=this.i;break;case"{":r.push(this.parseMapping(e,n)),n=this.i;break;case"]":return this.i=n,r;case",":case" ":break;default:var a=this.inArray(e.charAt(n),['"',"'"]),o=this.parseScalar(e,[",","]"],['"',"'"],n);if(n=this.i,!a&&-1!=(o+"").indexOf(": "))try{o=this.parseMapping("{"+o+"}")}catch(s){if(!(s instanceof t))throw s}r.push(o),n--}n++}throw new t('Malformed inline YAML string "'+e+'"')},parseMapping:function(e,n){void 0==n&&(n=0);var r={},i=e.length;n+=1;for(var a=!1,o=!1;i>n;){switch(o=!1,e.charAt(n)){case" ":case",":n++,o=!0;break;case"}":return this.i=n,r}if(!o){var s=this.parseScalar(e,[":"," "],['"',"'"],n,!1);for(n=this.i,a=!1;i>n;){switch(e.charAt(n)){case"[":r[s]=this.parseSequence(e,n),n=this.i,a=!0;break;case"{":r[s]=this.parseMapping(e,n),n=this.i,a=!0;break;case":":case" ":break;default:r[s]=this.parseScalar(e,[",","}"],['"',"'"],n),n=this.i,a=!0,n--}if(++n,a){o=!0;break}}}}throw new t('Malformed inline YAML string "'+e+'"')},evaluateScalar:function(t){t=this.trim(t);var e=null,n=null;return"null"==t.toLowerCase()||""==t||"~"==t?null:0==(t+"").indexOf("!str ")?(""+t).substring(5):0==(t+"").indexOf("! ")?parseInt(this.parseScalar((t+"").substr(2))):/^\d+$/.test(t)?(e=t,n=parseInt(t),"0"==t.charAt(0)?this.octdec(t):""+e==""+n?n:e):"true"==(t+"").toLowerCase()?!0:"false"==(t+"").toLowerCase()?!1:this.isNumeric(t)?"0x"==(t+"").substr(0,2)?this.hexdec(t):parseFloat(t):".inf"==t.toLowerCase()?1/0:".nan"==t.toLowerCase()?NaN:"-.inf"==t.toLowerCase()?-1/0:/^(-|\+)?[0-9,]+(\.[0-9]+)?$/.test(t)?parseFloat(t.split(",").join("")):this.getTimestampRegex().test(t)?new Date(this.strtotime(t)):""+t},getTimestampRegex:function(){return new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[ ]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:.([0-9]*))?(?:[ ]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?)?$","gi")},trim:function(t){return(t+"").replace(/^\s+/,"").replace(/\s+$/,"")},isNumeric:function(t){return t-0==t&&t.length>0&&""!=t.replace(/\s+/g,"")},inArray:function(t,e){var n,r=e.length;for(n=0;r>n;n++)if(t==e[n])return!0;return!1},getKeys:function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e},octdec:function(t){return parseInt((t+"").replace(/[^0-7]/gi,""),8)},hexdec:function(t){return t=this.trim(t),"0x"==(t+"").substr(0,2)&&(t=(t+"").substring(2)),parseInt((t+"").replace(/[^a-f0-9]/gi,""),16)},strtotime:function(t,e){var n,r,i,a,o="";if(t=(t+"").replace(/\s{2,}|^\s|\s$/g," ").replace(/[\t\r\n]/g,""),"now"===t)return null===e||isNaN(e)?(new Date).getTime()||0:e||0;if(!isNaN(o=Date.parse(t)))return o||0;e=e?new Date(e):new Date,t=t.toLowerCase();var s={day:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},mon:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"]},l=function(t){var n=t[2]&&"ago"===t[2],r=(r="last"===t[0]?-1:1)*(n?-1:1);switch(t[0]){case"last":case"next":switch(t[1].substring(0,3)){case"yea":e.setFullYear(e.getFullYear()+r);break;case"wee":e.setDate(e.getDate()+7*r);break;case"day":e.setDate(e.getDate()+r);break;case"hou":e.setHours(e.getHours()+r);break;case"min":e.setMinutes(e.getMinutes()+r);break;case"sec":e.setSeconds(e.getSeconds()+r);break;case"mon":if("month"===t[1]){e.setMonth(e.getMonth()+r);break}default:var i=s.day[t[1].substring(0,3)];if("undefined"!=typeof i){var a=i-e.getDay();0===a?a=7*r:a>0?"last"===t[0]&&(a-=7):"next"===t[0]&&(a+=7),e.setDate(e.getDate()+a),e.setHours(0,0,0,0)}}break;default:if(!/\d+/.test(t[0]))return!1;switch(r*=parseInt(t[0],10),t[1].substring(0,3)){case"yea":e.setFullYear(e.getFullYear()+r);break;case"mon":e.setMonth(e.getMonth()+r);break;case"wee":e.setDate(e.getDate()+7*r);break;case"day":e.setDate(e.getDate()+r);break;case"hou":e.setHours(e.getHours()+r);break;case"min":e.setMinutes(e.getMinutes()+r);break;case"sec":e.setSeconds(e.getSeconds()+r)}}return!0};if(i=t.match(/^(\d{2,4}-\d{2}-\d{2})(?:\s(\d{1,2}:\d{2}(:\d{2})?)?(?:\.(\d+))?)?$/),null!==i)return i[2]?i[3]||(i[2]+=":00"):i[2]="00:00:00",a=i[1].split(/-/g),a[1]=s.mon[a[1]-1]||a[1],a[0]=+a[0],a[0]=a[0]>=0&&a[0]<=69?"20"+(a[0]<10?"0"+a[0]:a[0]+""):a[0]>=70&&a[0]<=99?"19"+a[0]:a[0]+"",parseInt(this.strtotime(a[2]+" "+a[1]+" "+a[0]+" "+i[2])+(i[4]?i[4]:""),10);var c="([+-]?\\d+\\s(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday)|(last|next)\\s(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday))(\\sago)?";if(i=t.match(new RegExp(c,"gi")),null===i)return!1;for(n=0,r=i.length;r>n;n++)if(!l(i[n].split(" ")))return!1;return e.getTime()||0}},i.REGEX_QUOTED_STRING="(?:\"(?:[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\"|'(?:[^']*(?:''[^']*)*)')";var a=function(t){this.offset=void 0!==t?t:0};a.prototype={offset:0,lines:[],currentLineNb:-1,currentLine:"",refs:{},parse:function(e){this.currentLineNb=-1,this.currentLine="",this.lines=this.cleanup(e).split("\n");for(var n=null,r=null;this.moveToNextLine();)if(!this.isCurrentLineEmpty()){if(" "==this.currentLine.charAt(0))throw new t("A YAML file cannot contain tabs as indentation.",this.getRealCurrentLineNb()+1,this.currentLine);var o=!1,s=!1,l=!1,c=null,u=null,h=null,f=null,d=null,p=null,g=null,m=null,v=null;if(c=/^\-((\s+)(.+?))?\s*$/.exec(this.currentLine)){if(r&&"mapping"==r)throw new t("You cannot define a sequence item when in a mapping",this.getRealCurrentLineNb()+1,this.currentLine);r="sequence",this.isDefined(n)||(n=[]),c={leadspaces:c[2],value:c[3]},this.isDefined(c.value)&&(u=/^&([^ ]+) *(.*)/.exec(c.value))&&(u={ref:u[1],value:u[2]},o=u.ref,c.value=u.value),this.isDefined(c.value)&&""!=this.trim(c.value)&&"#"!=c.value.replace(/^ +/,"").charAt(0)?this.isDefined(c.leadspaces)&&" "==c.leadspaces&&(u=new RegExp("^("+i.REGEX_QUOTED_STRING+"|[^ '\"{[].*?) *:(\\s+(.+?))?\\s*$").exec(c.value))?(u={key:u[1],value:u[3]},h=this.getRealCurrentLineNb(),f=new a(h),f.refs=this.refs,d=c.value,this.isNextLineIndented()||(d+="\n"+this.getNextEmbedBlock(this.getCurrentLineIndentation()+2)),n.push(f.parse(d)),this.refs=f.refs):n.push(this.parseValue(c.value)):(h=this.getRealCurrentLineNb()+1,f=new a(h),f.refs=this.refs,n.push(f.parse(this.getNextEmbedBlock())),this.refs=f.refs)}else{if(!(c=new RegExp("^("+i.REGEX_QUOTED_STRING+"|[^ '\"[{].*?) *:(\\s+(.+?))?\\s*$").exec(this.currentLine))){if(2==this.lines.length&&this.isEmpty(this.lines[1])){try{e=(new i).parse(this.lines[0])}catch(y){throw y instanceof t&&(y.setParsedLine(this.getRealCurrentLineNb()+1),y.setSnippet(this.currentLine)),y}if(this.isObject(e)){var x=e[0];if("string"==typeof e&&"*"==x.charAt(0)){n=[],m=e.length;for(var b=0;m>b;b++)n.push(this.refs[e[b].substr(1)]);e=n}}return e}throw new t("Unable to parse.",this.getRealCurrentLineNb()+1,this.currentLine)}if(this.isDefined(n)||(n={}),r&&"sequence"==r)throw new t("You cannot define a mapping item when in a sequence",this.getRealCurrentLineNb()+1,this.currentLine);r="mapping",c={key:c[1],value:c[3]};try{p=(new i).parseScalar(c.key)}catch(y){throw y instanceof t&&(y.setParsedLine(this.getRealCurrentLineNb()+1),y.setSnippet(this.currentLine)),y}if("<<"==p)if(this.isDefined(c.value)&&"*"==(c.value+"").charAt(0)){if(s=c.value.substr(1),void 0==this.refs[s])throw new t('Reference "'+e+'" does not exist',this.getRealCurrentLineNb()+1,this.currentLine)}else{e=this.isDefined(c.value)&&""!=c.value?c.value:this.getNextEmbedBlock(),h=this.getRealCurrentLineNb()+1,f=new a(h),f.refs=this.refs,g=f.parse(e),this.refs=f.refs;var w=[];if(!this.isObject(g))throw new t("YAML merge keys used with a scalar value instead of an array",this.getRealCurrentLineNb()+1,this.currentLine);if(this.isDefined(g[0])){v=this.reverseArray(g),m=v.length;for(var b=0;m>b;b++){if(v[b],!this.isObject(v[b]))throw new t("Merge items must be arrays",this.getRealCurrentLineNb()+1,this.currentLine);w=this.mergeObject(v[b],w)}}else w=this.mergeObject(w,g);l=w}else this.isDefined(c.value)&&(u=/^&([^ ]+) *(.*)/.exec(c.value))&&(u={ref:u[1],value:u[2]},o=u.ref,c.value=u.value);l?n=l:this.isDefined(c.value)&&""!=this.trim(c.value)&&"#"!=this.trim(c.value).charAt(0)?s?n=this.refs[s]:n[p]=this.parseValue(c.value):this.isNextLineIndented()&&!this.isNextLineUnIndentedCollection()?n[p]=null:(h=this.getRealCurrentLineNb()+1,f=new a(h),f.refs=this.refs,n[p]=f.parse(this.getNextEmbedBlock()),this.refs=f.refs)}if(o)if(n instanceof Array)this.refs[o]=n[n.length-1];else{var _=null;for(var S in n)n.hasOwnProperty(S)&&(_=S);this.refs[o]=n[S]}}return this.isEmpty(n)?null:n},getRealCurrentLineNb:function(){return this.currentLineNb+this.offset},getCurrentLineIndentation:function(){return this.currentLine.length-this.currentLine.replace(/^ +/g,"").length},getNextEmbedBlock:function(e){this.moveToNextLine();var n=null,r=null;if(this.isDefined(e))n=e;else{n=this.getCurrentLineIndentation();var i=this.isStringUnIndentedCollectionItem(this.currentLine);if(!this.isCurrentLineEmpty()&&0==n&&!i)throw new t("Indentation problem A",this.getRealCurrentLineNb()+1,this.currentLine)}var a=[this.currentLine.substr(n)],o=this.isStringUnIndentedCollectionItem(this.currentLine),s=-1;for(o===!0&&(s=1+/^\-((\s+)(.+?))?\s*$/.exec(this.currentLine)[2].length);this.moveToNextLine();){if(o&&!this.isStringUnIndentedCollectionItem(this.currentLine)&&this.getCurrentLineIndentation()!=s){this.moveToPreviousLine();break}if(this.isCurrentLineEmpty())this.isCurrentLineBlank()&&a.push(this.currentLine.substr(n));else{r=this.getCurrentLineIndentation();var l;if(l=/^( *)$/.exec(this.currentLine))a.push(l[1]);else{if(!(r>=n)){if(0==r){this.moveToPreviousLine();break}throw new t("Indentation problem B",this.getRealCurrentLineNb()+1,this.currentLine)}a.push(this.currentLine.substr(n))}}}return a.join("\n")},moveToNextLine:function(){return this.currentLineNb>=this.lines.length-1?!1:(this.currentLineNb++,this.currentLine=this.lines[this.currentLineNb],!0)},moveToPreviousLine:function(){this.currentLineNb--,this.currentLine=this.lines[this.currentLineNb]},parseValue:function(e){if("*"==(e+"").charAt(0)){if(e="#"==this.trim(e).charAt(0)?(e+"").substr(1,e.indexOf("#")-2):(e+"").substr(1),void 0==this.refs[e])throw new t('Reference "'+e+'" does not exist',this.getRealCurrentLineNb()+1,this.currentLine);return this.refs[e]}var n=null;if(n=/^(\||>)(\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?( +#.*)?$/.exec(e)){n={separator:n[1],modifiers:n[2],comments:n[3]};var r=this.isDefined(n.modifiers)?n.modifiers:"";return this.parseFoldedScalar(n.separator,r.replace(/\d+/g,""),Math.abs(parseInt(r)))}try{return(new i).parse(e)}catch(a){throw a instanceof t&&(a.setParsedLine(this.getRealCurrentLineNb()+1),a.setSnippet(this.currentLine)),a}},parseFoldedScalar:function(t,e,n){void 0==e&&(e=""),void 0==n&&(n=0),t="|"==t?"\n":" ";for(var r="",i=null,a=this.moveToNextLine();a&&this.isCurrentLineBlank();)r+="\n",a=this.moveToNextLine();if(!a)return"";var o=null;if(!(o=new RegExp("^("+(n?this.strRepeat(" ",n):" +")+")(.*)$").exec(this.currentLine)))return this.moveToPreviousLine(),"";o={indent:o[1],text:o[2]};var s=o.indent,l=0;for(r+=o.text+t;this.currentLineNb+1=0;r--)e.push(t[r]);return e},merge:function(t,e){var n,r={};for(n in t)t.hasOwnProperty(n)&&(/^\d+$/.test(n)?r.push(t):r[n]=t[n]);for(n in e)e.hasOwnProperty(n)&&(/^\d+$/.test(n)?r.push(e):r[n]=e[n]);return r},strRepeat:function(t,e){var n,r="";for(n=0;e>n;n++)r+=t;return r},subStrCount:function(t,e,n,r){var i=0;t=""+t,e=""+e,void 0!=n&&(t=t.substr(n)),void 0!=r&&(t=t.substr(0,r));for(var a=t.length,o=e.length,s=0;a>s;s++)e==t.substr(s,o)&&i++,s+=o-1;return i},trim:function(t){return(t+"").replace(/^ +/,"").replace(/ +$/,"")}},YamlEscaper=function(){},YamlEscaper.prototype={requiresDoubleQuoting:function(t){return new RegExp(YamlEscaper.REGEX_CHARACTER_TO_ESCAPE).test(t)},escapeWithDoubleQuotes:function(t){t+="";for(var e=YamlEscaper.escapees.length,n=YamlEscaper.escaped.length,r=YamlEscaper.escaped,i=0;e>i;++i)i>=n&&r.push("");var a="";return a=t.replace(new RegExp(YamlEscaper.escapees.join("|"),"g"),function(t){for(var n=0;e>n;++n)if(t==YamlEscaper.escapees[n])return r[n]}),'"'+a+'"'},requiresSingleQuoting:function(t){return/[\s'":{}[\],&*#?]|^[-?|<>=!%@`]/.test(t)},escapeWithSingleQuotes:function(t){return"'"+t.replace(/'/g,"''")+"'"}},YamlEscaper.REGEX_CHARACTER_TO_ESCAPE="[\\x00-\\x1f]|…| |
|
",YamlEscaper.escapees=["\\\\",'\\"','"',"\x00","","","","","","","","\b"," ","\n"," ","\f","\r","","","","","","","","","","","","","","","","","","","…"," ","
","
"],YamlEscaper.escaped=['\\"',"\\\\",'\\"',"\\0","\\x01","\\x02","\\x03","\\x04","\\x05","\\x06","\\a","\\b","\\t","\\n","\\v","\\f","\\r","\\x0e","\\x0f","\\x10","\\x11","\\x12","\\x13","\\x14","\\x15","\\x16","\\x17","\\x18","\\x19","\\x1a","\\e","\\x1c","\\x1d","\\x1e","\\x1f","\\N","\\_","\\L","\\P"];var o=function(){};o.prototype={unescapeSingleQuotedString:function(t){return t.replace(/''/g,"'")},unescapeDoubleQuotedString:function(t){var e=function(t){return(new o).unescapeCharacter(t)};return t.replace(new RegExp(o.REGEX_ESCAPED_CHARACTER,"g"),e)},unescapeCharacter:function(t){switch(t.charAt(1)){case"0":return String.fromCharCode(0);case"a":return String.fromCharCode(7);case"b":return String.fromCharCode(8);case"t":return" ";case" ":return" ";case"n":return"\n";case"v":return String.fromCharCode(11);case"f":return String.fromCharCode(12);case"r":return String.fromCharCode(13);case"e":return"";case" ":return" ";case'"':return'"';case"/":return"/";case"\\":return"\\";case"N":return"\x00…";case"_":return"\x00 ";case"L":return" (";case"P":return" )";case"x":return this.pack("n",(new i).hexdec(t.substr(2,2)));case"u":return this.pack("n",(new i).hexdec(t.substr(2,4)));case"U":return this.pack("N",(new i).hexdec(t.substr(2,8)))}},pack:function(t){for(var e,n,r=0,i=1,a="",o=0;rarguments.length-i)throw new Error("Warning: pack() Type "+e+": too few arguments");for(o=0;n>o;o++)a+=String.fromCharCode(arguments[i]>>8&255),a+=String.fromCharCode(255&arguments[i]),i++;break;case"N":if("*"===n&&(n=arguments.length-i),n>arguments.length-i)throw new Error("Warning: pack() Type "+e+": too few arguments");for(o=0;n>o;o++)a+=String.fromCharCode(arguments[i]>>24&255),a+=String.fromCharCode(arguments[i]>>16&255),a+=String.fromCharCode(arguments[i]>>8&255),a+=String.fromCharCode(255&arguments[i]),i++;break;default:throw new Error("Warning: pack() Type "+e+": unknown format code")}}if(i=e||!this.isObject(t)||this.isEmpty(t))r=new i,a+=o+r.dump(t);else{var s,l=!this.arrayEquals(this.getKeys(t),this.range(0,t.length-1));for(var c in t)t.hasOwnProperty(c)&&(s=0>=e-1||!this.isObject(t[c])||this.isEmpty(t[c]),l&&(r=new i),a+=o+""+(l?r.dump(c)+":":"-")+(s?" ":"\n")+this.dump(t[c],e-1,s?0:n+this.numSpacesForIndentation)+(s?"\n":""))}return a},strRepeat:function(t,e){var n,r="";for(n=0;e>n;n++)r+=t;return r},isObject:function(t){return this.isDefined(t)&&"object"==typeof t},isEmpty:function(t){var e=void 0==t||null==t||""==t||0==t||"0"==t||0==t;if(!(e||"object"!=typeof t||t instanceof Array)){var n=0;for(var r in t)t.hasOwnProperty(r)&&n++;e=!n}return e},isDefined:function(t){return void 0!=t&&null!=t},getKeys:function(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e},range:function(t,e){if(t>e)return[];for(var n=[],r=t;e>=r;r++)n.push(r);return n},arrayEquals:function(t,e){if(t.length!=e.length)return!1;for(var n=t.length,r=0;n>r;r++)if(t[r]!=e[r])return!1;return!0}}}(),define("yaml-js",function(t){return function(){var e;return e||t.YAML}}(this)),define("extensions/yamlFrontMatterParser",["underscore","classes/Extension","yaml-js"],function(t,e,n){function r(e,r){if(e===o){var i=s.exec(r),a=i[1],l=i[2];if(l){if(!o.frontMatter||o.frontMatter._frontMatter!=a){o.frontMatter=void 0;try{o.frontMatter=n.parse(l),t.isObject(o.frontMatter)||(o.frontMatter=void 0),o.frontMatter._yaml=l,o.frontMatter._frontMatter=a}catch(c){}}}else o.frontMatter=void 0}}var i,a=new e("yamlFrontMatterParser","YAML front matter");a.onEventMgrCreated=function(t){i=t};var o;a.onFileSelected=function(t){o=t};var s=/^(\s*-{3}\s*\n([\w\W]+?)\n\s*-{3}\s*?\n)?([\w\W]*)$/;return a.onFileOpen=r,a.onContentChanged=r,a}),define("text",["module"],function(t){var e,n,r,i,a,o=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],s=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,l=/]*>\s*([\s\S]+)\s*<\/body>/im,c="undefined"!=typeof location&&location.href,u=c&&location.protocol&&location.protocol.replace(/\:/,""),h=c&&location.hostname,f=c&&(location.port||void 0),d={},p=t.config&&t.config()||{};return e={version:"2.0.13",strip:function(t){if(t){t=t.replace(s,"");var e=t.match(l);e&&(t=e[1])}else t="";return t},jsEscape:function(t){return t.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:p.createXhr||function(){var t,e,n;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(e=0;3>e;e+=1){n=o[e];try{t=new ActiveXObject(n)}catch(r){}if(t){o=[n];break}}return t},parseName:function(t){var e,n,r,i=!1,a=t.lastIndexOf("."),o=0===t.indexOf("./")||0===t.indexOf("../");return-1!==a&&(!o||a>1)?(e=t.substring(0,a),n=t.substring(a+1)):e=t,r=n||e,a=r.indexOf("!"),-1!==a&&(i="strip"===r.substring(a+1),r=r.substring(0,a),n?n=r:e=r),{moduleName:e,ext:n,strip:i}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(t,n,r,i){var a,o,s,l=e.xdRegExp.exec(t);return l?(a=l[2],o=l[3],o=o.split(":"),s=o[1],o=o[0],!(a&&a!==n||o&&o.toLowerCase()!==r.toLowerCase()||(s||o)&&s!==i)):!0},finishLoad:function(t,n,r,i){r=n?e.strip(r):r,p.isBuild&&(d[t]=r),i(r)},load:function(t,n,r,i){if(i&&i.isBuild&&!i.inlineText)return void r();p.isBuild=i&&i.isBuild;var a=e.parseName(t),o=a.moduleName+(a.ext?"."+a.ext:""),s=n.toUrl(o),l=p.useXhr||e.useXhr;return 0===s.indexOf("empty:")?void r():void(!c||l(s,u,h,f)?e.get(s,function(n){e.finishLoad(t,a.strip,n,r)},function(t){r.error&&r.error(t)}):n([o],function(t){e.finishLoad(a.moduleName+"."+a.ext,a.strip,t,r)}))},write:function(t,n,r){if(d.hasOwnProperty(n)){var i=e.jsEscape(d[n]);r.asModule(t+"!"+n,"define(function () { return '"+i+"';});\n")}},writeFile:function(t,n,r,i,a){var o=e.parseName(n),s=o.ext?"."+o.ext:"",l=o.moduleName+s,c=r.toUrl(o.moduleName+s)+".js";e.load(l,r,function(){var n=function(t){return i(c,t)};n.asModule=function(t,e){return i.asModule(t,c,e)},e.write(t,l,n,a)},a)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(n=require.nodeRequire("fs"),e.get=function(t,e,r){try{var i=n.readFileSync(t,"utf8");"\ufeff"===i[0]&&(i=i.substring(1)),e(i)}catch(a){r&&r(a)}}):"xhr"===p.env||!p.env&&e.createXhr()?e.get=function(t,n,r,i){var a,o=e.createXhr();if(o.open("GET",t,!0),i)for(a in i)i.hasOwnProperty(a)&&o.setRequestHeader(a.toLowerCase(),i[a]);p.onXhr&&p.onXhr(o,t),o.onreadystatechange=function(){var e,i;4===o.readyState&&(e=o.status||0,e>399&&600>e?(i=new Error(t+" HTTP status: "+e),i.xhr=o,r&&r(i)):n(o.responseText),p.onXhrComplete&&p.onXhrComplete(o,t))},o.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?e.get=function(t,e){var n,r,i="utf-8",a=new java.io.File(t),o=java.lang.System.getProperty("line.separator"),s=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(a),i)),l="";try{for(n=new java.lang.StringBuffer,r=s.readLine(),r&&r.length()&&65279===r.charAt(0)&&(r=r.substring(1)),null!==r&&n.append(r);null!==(r=s.readLine());)n.append(o),n.append(r);l=String(n.toString())}finally{s.close()}e(l)}:("xpconnect"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(r=Components.classes,i=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),a="@mozilla.org/windows-registry-key;1"in r,e.get=function(t,e){var n,o,s,l={};a&&(t=t.replace(/\//g,"\\")),s=new FileUtils.File(t);try{n=r["@mozilla.org/network/file-input-stream;1"].createInstance(i.nsIFileInputStream),n.init(s,1,0,!1),o=r["@mozilla.org/intl/converter-input-stream;1"].createInstance(i.nsIConverterInputStream),o.init(n,"utf-8",n.available(),i.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),o.readString(n.available(),l),o.close(),n.close(),e(l.value)}catch(c){throw new Error((s&&s.path||"")+": "+c)}}),e}),define("text!html/markdownExtraSettingsBlock.html",[],function(){return'

      Adds extra features to the original Markdown syntax.

      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \nMore info'});var IN_GLOBAL_SCOPE=!0;window.PR_SHOULD_USE_CONTINUATION=!0;var prettyPrintOne,prettyPrint;!function(){function t(t){function e(t){var e=t.charCodeAt(0);if(92!==e)return e;var n=t.charAt(1);return e=h[n],e?e:n>="0"&&"7">=n?parseInt(t.substring(1),8):"u"===n||"x"===n?parseInt(t.substring(2),16):t.charCodeAt(1)}function n(t){if(32>t)return(16>t?"\\x0":"\\x")+t.toString(16);var e=String.fromCharCode(t);return"\\"===e||"-"===e||"]"===e||"^"===e?"\\"+e:e}function r(t){var r=t.substring(1,t.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),i=[],a="^"===r[0],o=["["];a&&o.push("^");for(var s=a?1:0,l=r.length;l>s;++s){var c=r[s];if(/\\[bdsw]/i.test(c))o.push(c);else{var u,h=e(c);l>s+2&&"-"===r[s+1]?(u=e(r[s+2]),s+=2):u=h,i.push([h,u]),65>u||h>122||(65>u||h>90||i.push([32|Math.max(65,h),32|Math.min(u,90)]),97>u||h>122||i.push([-33&Math.max(97,h),-33&Math.min(u,122)]))}}i.sort(function(t,e){return t[0]-e[0]||e[1]-t[1]});for(var f=[],d=[],s=0;sp[0]&&(p[1]+1>p[0]&&o.push("-"),o.push(n(p[1])))}return o.push("]"),o.join("")}function i(t){for(var e=t.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),i=e.length,s=[],l=0,c=0;i>l;++l){var u=e[l];if("("===u)++c;else if("\\"===u.charAt(0)){var h=+u.substring(1);h&&(c>=h?s[h]=-1:e[l]=n(h))}}for(var l=1;ll;++l){var u=e[l];if("("===u)++c,s[c]||(e[l]="(?:");else if("\\"===u.charAt(0)){var h=+u.substring(1);h&&c>=h&&(e[l]="\\"+s[h])}}for(var l=0;i>l;++l)"^"===e[l]&&"^"!==e[l+1]&&(e[l]="");if(t.ignoreCase&&o)for(var l=0;i>l;++l){var u=e[l],f=u.charAt(0);u.length>=2&&"["===f?e[l]=r(u):"\\"!==f&&(e[l]=u.replace(/[a-zA-Z]/g,function(t){var e=t.charCodeAt(0);return"["+String.fromCharCode(-33&e,32|e)+"]"}))}return e.join("")}for(var a=0,o=!1,s=!1,l=0,c=t.length;c>l;++l){var u=t[l];if(u.ignoreCase)s=!0;else if(/[a-z]/i.test(u.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){o=!0,s=!1;break}}for(var h={b:8,t:9,n:10,v:11,f:12,r:13},f=[],l=0,c=t.length;c>l;++l){var u=t[l];if(u.global||u.multiline)throw new Error(""+u);f.push("(?:"+i(u)+")")}return new RegExp(f.join("|"),s?"gi":"g")}function e(t,e){function n(t){var l=t.nodeType;if(1==l){if(r.test(t.className))return;for(var c=t.firstChild;c;c=c.nextSibling)n(c);var u=t.nodeName.toLowerCase();("br"===u||"li"===u)&&(i[s]="\n",o[s<<1]=a++,o[s++<<1|1]=t)}else if(3==l||4==l){var h=t.nodeValue;h.length&&(h=e?h.replace(/\r\n?/g,"\n"):h.replace(/[ \t\r\n]+/g," "),i[s]=h,o[s<<1]=a,a+=h.length,o[s++<<1|1]=t)}}var r=/(?:^|\s)nocode(?:\s|$)/,i=[],a=0,o=[],s=0;return n(t),{sourceCode:i.join("").replace(/\n$/,""),spans:o}}function n(t,e,n,r){if(e){var i={sourceCode:e,basePos:t};n(i),r.push.apply(r,i.decorations)}}function r(t){for(var e=void 0,n=t.firstChild;n;n=n.nextSibling){var r=n.nodeType;e=1===r?e?t:n:3===r&&q.test(n.nodeValue)?t:e}return e===t?void 0:e}function i(e,r){var i,a={};!function(){for(var n=e.concat(r),o=[],s={},l=0,c=n.length;c>l;++l){var u=n[l],h=u[3];if(h)for(var f=h.length;--f>=0;)a[h.charAt(f)]=u;var d=u[1],p=""+d;s.hasOwnProperty(p)||(o.push(d),s[p]=null)}o.push(/[\0-\uffff]/),i=t(o)}();var o=r.length,s=function(t){for(var e=t.sourceCode,l=t.basePos,u=[l,D],h=0,f=e.match(i)||[],d={},p=0,g=f.length;g>p;++p){var m,v=f[p],y=d[v],x=void 0;if("string"==typeof y)m=!1;else{var b=a[v.charAt(0)];if(b)x=v.match(b[1]),y=b[0];else{for(var w=0;o>w;++w)if(b=r[w],x=v.match(b[1])){y=b[0];break}x||(y=D)}m=y.length>=5&&"lang-"===y.substring(0,5),!m||x&&"string"==typeof x[1]||(m=!1,y=B),m||(d[v]=y)}var _=h;if(h+=v.length,m){var S=x[1],C=v.indexOf(S),E=C+S.length;x[2]&&(E=v.length-x[2].length,C=E-S.length);var k=y.substring(5);n(l+_,v.substring(0,C),s,u),n(l+_+C,S,c(k,S),u),n(l+_+E,v.substring(E),s,u)}else u.push(l+_,y)}t.decorations=u};return s}function a(t){var e=[],n=[];e.push(t.tripleQuotedStrings?[N,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]:t.multiLineStrings?[N,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]:[N,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),t.verbatimStrings&&n.push([N,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=t.hashComments;r&&(t.cStyleComments?(e.push(r>1?[A,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]:[A,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),n.push([N,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):e.push([A,/^#[^\r\n]*/,null,"#"])),t.cStyleComments&&(n.push([A,/^\/\/[^\r\n]*/,null]),n.push([A,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var a=t.regexLiterals;if(a){var o=a>1?"":"\n\r",s=o?".":"[\\S\\s]",l="/(?=[^/*"+o+"])(?:[^/\\x5B\\x5C"+o+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+o+"]|\\x5C"+s+")*(?:\\x5D|$))+/";n.push(["lang-regex",RegExp("^"+U+"("+l+")")])}var c=t.types;c&&n.push([M,c]);var u=(""+t.keywords).replace(/^ | $/g,"");u.length&&n.push([R,new RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),null]),e.push([D,/^\s+/,null," \r\n  "]);var h="^.[^\\s\\w.$@'\"`/\\\\]*";return t.regexLiterals&&(h+="(?!s*/)"),n.push([L,/^@[a-z_$][a-z_$@0-9]*/i,null],[M,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[D,/^[a-z_$][a-z_$@0-9]*/i,null],[L,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[D,/^\\[\s\S]?/,null],[O,new RegExp(h),null]),i(e,n)}function o(t,e,n){function r(t){var e=t.nodeType;if(1!=e||a.test(t.className)){if((3==e||4==e)&&n){var l=t.nodeValue,c=l.match(o);if(c){var u=l.substring(0,c.index);t.nodeValue=u;var h=l.substring(c.index+c[0].length);if(h){var f=t.parentNode;f.insertBefore(s.createTextNode(h),t.nextSibling)}i(t),u||t.parentNode.removeChild(t)}}}else if("br"===t.nodeName)i(t),t.parentNode&&t.parentNode.removeChild(t);else for(var d=t.firstChild;d;d=d.nextSibling)r(d)}function i(t){function e(t,n){var r=n?t.cloneNode(!1):t,i=t.parentNode;if(i){var a=e(i,1),o=t.nextSibling;a.appendChild(r);for(var s=o;s;s=o)o=s.nextSibling,a.appendChild(s)}return r}for(;!t.nextSibling;)if(t=t.parentNode,!t)return;for(var n,r=e(t.nextSibling,0);(n=r.parentNode)&&1===n.nodeType;)r=n;c.push(r)}for(var a=/(?:^|\s)nocode(?:\s|$)/,o=/\r\n?|\n/,s=t.ownerDocument,l=s.createElement("li");t.firstChild;)l.appendChild(t.firstChild);for(var c=[l],u=0;uu;++u)l=c[u],l.className="L"+(u+f)%10,l.firstChild||l.appendChild(s.createTextNode(" ")),h.appendChild(l);t.appendChild(h)}function s(t){var e=/\bMSIE\s(\d+)/.exec(navigator.userAgent);e=e&&+e[1]<=8;var n=/\n/g,r=t.sourceCode,i=r.length,a=0,o=t.spans,s=o.length,l=0,c=t.decorations,u=c.length,h=0;c[u]=i;var f,d;for(d=f=0;u>d;)c[d]!==c[d+2]?(c[f++]=c[d++],c[f++]=c[d++]):d+=2;for(u=f,d=f=0;u>d;){for(var p=c[d],g=c[d+1],m=d+2;u>=m+2&&c[m+1]===g;)m+=2;c[f++]=p,c[f++]=g,d=m}u=c.length=f;var v,y=t.sourceNode;y&&(v=y.style.display,y.style.display="none");try{for(;s>l;){var x,b=(o[l],o[l+2]||i),w=c[h+2]||i,m=Math.min(b,w),_=o[l+1];if(1!==_.nodeType&&(x=r.substring(a,m))){e&&(x=x.replace(n,"\r")),_.nodeValue=x;var S=_.ownerDocument,C=S.createElement("span");C.className=c[h+1];var E=_.parentNode;E.replaceChild(C,_),C.appendChild(_),b>a&&(o[l+1]=_=S.createTextNode(r.substring(m,b)),E.insertBefore(_,C.nextSibling))}a=m,a>=b&&(l+=2),a>=w&&(h+=2)}}finally{y&&(y.style.display=v)}}function l(t,e){for(var n=e.length;--n>=0;){var r=e[n];z.hasOwnProperty(r)?d.console&&console.warn("cannot override language handler %s",r):z[r]=t}}function c(t,e){return t&&z.hasOwnProperty(t)||(t=/^\s*"+t+"",r=r.firstChild,n&&o(r,n,!0);var i={langExtension:e,numberLines:n,sourceNode:r,pre:1};return u(i),r.innerHTML}function f(t,e){function n(t){return a.getElementsByTagName(t)}function i(){for(var e=d.PR_SHOULD_USE_CONTINUATION?g.now()+250:1/0;vf;++f)c.push(l[h][f]);l=null;var g=Date;g.now||(g={now:function(){return+new Date}});var m,v=0,y=/\blang(?:uage)?-([\w.]+)(?!\S)/,x=/\bprettyprint\b/,b=/\bprettyprinted\b/,w=/pre|xmp/i,_=/^code$/i,S=/^(?:pre|code|xmp)$/i,C={};i()}var d=window,p=["break,continue,do,else,for,if,return,while"],g=[p,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],m=[g,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],v=[m,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],y=[m,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],x=[y,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],b="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",w=[m,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],_="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",S=[p,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],C=[p,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],E=[p,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],k=[p,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],T=[v,x,w,_,S,C,k],I=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,N="str",R="kwd",A="com",M="typ",L="lit",O="pun",D="pln",F="tag",P="dec",B="src",j="atn",$="atv",H="nocode",U="(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*",q=/\S/,G=a({keywords:T,hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),z={};l(G,["default-code"]),l(i([],[[D,/^[^]*(?:>|$)/],[A,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[O,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),l(i([[D,/^[\s]+/,null," \r\n"],[$,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[F,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[j,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[O,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]),l(i([],[[$,/^[\s\S]+/]]),["uq.val"]),l(a({keywords:v,hashComments:!0,cStyleComments:!0,types:I}),["c","cc","cpp","cxx","cyc","m"]),l(a({keywords:"null,true,false"}),["json"]),l(a({keywords:x,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:I}),["cs"]),l(a({keywords:y,cStyleComments:!0}),["java"]),l(a({keywords:k,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]),l(a({keywords:S,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]),l(a({keywords:_,hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]),l(a({keywords:C,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]),l(a({keywords:w,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]),l(a({keywords:b,hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),l(a({keywords:E,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]),l(i([],[[N,/^[\s\S]+/]]),["regex"]);var W=d.PR={createSimpleLexer:i,registerLangHandler:l,sourceDecorator:a,PR_ATTRIB_NAME:j,PR_ATTRIB_VALUE:$,PR_COMMENT:A,PR_DECLARATION:P,PR_KEYWORD:R,PR_LITERAL:L,PR_NOCODE:H,PR_PLAIN:D,PR_PUNCTUATION:O,PR_SOURCE:B,PR_STRING:N,PR_TAG:F,PR_TYPE:M,prettyPrintOne:IN_GLOBAL_SCOPE?d.prettyPrintOne=h:prettyPrintOne=h,prettyPrint:prettyPrint=IN_GLOBAL_SCOPE?d.prettyPrint=f:prettyPrint=f};"function"==typeof define&&define.amd&&define("google-code-prettify",[],function(){return W})}();var Markdown;Markdown="object"==typeof exports&&"function"==typeof require?exports:{},function(){function t(t){return t}function e(){return!1}function n(){}function r(){}n.prototype={chain:function(e,n){var r=this[e];if(!r)throw new Error("unknown hook "+e);this[e]=r===t?n:function(){var t=Array.prototype.slice.call(arguments,0);return t[0]=r.apply(null,t),n.apply(null,t)}},set:function(t,e){if(!this[t])throw new Error("unknown hook "+t);this[t]=e},addNoop:function(e){this[e]=t},addFalse:function(t){this[t]=e}},Markdown.HookCollection=n,r.prototype={set:function(t,e){this["s_"+t]=e},get:function(t){return this["s_"+t]}},Markdown.Converter=function(){function t(t){return t=t.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm,function(t,e,n,r,i,a){return e=e.toLowerCase(),D.set(e,S(n)),i?r:(a&&F.set(e,a.replace(/"/g,""")),"")})}function e(t){return t=t.replace(/^(<(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,i),t=t.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?<\/\2>[ \t]*(?=\n+)\n)/gm,i),t=t.replace(/\n[ ]{0,3}((<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,i),t=t.replace(/\n\n[ ]{0,3}(-]|-[^>])(?:[^-]|-[^-])*)--)>[ \t]*(?=\n{2,}))/g,i),t=t.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,i)}function i(t,e){var n=e;return n=n.replace(/^\n+/,""),n=n.replace(/\n+$/g,""),n="\n\n~K"+(P.push(n)-1)+"K\n\n"}function a(t,n){t=O.preBlockGamut(t,j),t=d(t);var r="
      \n";return t=t.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,r),t=t.replace(/^[ ]{0,2}([ ]?-[ ]?){3,}[ \t]*$/gm,r),t=t.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \t]*$/gm,r),t=p(t),t=m(t),t=w(t),t=O.postBlockGamut(t,j),t=e(t),t=_(t,n)}function o(t){return t=O.preSpanGamut(t),t=y(t),t=s(t),t=C(t),t=u(t),t=l(t),t=k(t),t=t.replace(/~P/g,"://"),t=S(t),t=L._DoItalicsAndBold?L._DoItalicsAndBold(t):b(t),t=t.replace(/ +\n/g,"
      \n"),t=O.postSpanGamut(t)}function s(t){var e=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|-]|-[^>])(?:[^-]|-[^-])*)--)>)/gi;return t=t.replace(e,function(t){var e=t.replace(/(.)<\/?code>(?=.)/g,"$1`");return e=A(e,"!"==t.charAt(1)?"\\`*_/":"\\`*_")})}function l(t){return t=t.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,c),t=t.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,c),t=t.replace(/(\[([^\[\]]+)\])()()()()()/g,c)}function c(t,e,n,r,i,a,o,s){void 0==s&&(s="");var l=e,c=n.replace(/:\/\//g,"~P"),u=r.toLowerCase(),f=i,d=s;if(""==f)if(""==u&&(u=c.toLowerCase().replace(/ ?\n/g," ")),f="#"+u,void 0!=D.get(u))f=D.get(u),void 0!=F.get(u)&&(d=F.get(u));else{if(!(l.search(/\(\s*\)$/m)>-1))return l;f=""}f=R(f),f=A(f,"*_");var p='"}function u(t){return t=t.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,f),t=t.replace(/(!\[(.*?)\]\s?\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,f)}function h(t){return t.replace(/>/g,">").replace(/"+o(e)+"\n\n"}),t=t.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(t,e){return"

      "+o(e)+"

      \n\n"}),t=t.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(t,e,n){var r=e.length;return""+o(n)+"\n\n"})}function p(t,e){t+="~0";var n=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return B?t=t.replace(n,function(t,n,r){var i=n,a=r.search(/[*+-]/g)>-1?"ul":"ol",o=g(i,a,e);return o=o.replace(/\s+$/,""),o="<"+a+">"+o+"\n"}):(n=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g,t=t.replace(n,function(t,e,n,r){var i=e,a=n,o=r.search(/[*+-]/g)>-1?"ul":"ol",s=g(a,o);return s=i+"<"+o+">\n"+s+"\n"})),t=t.replace(/~0/,"")}function g(t,e,n){B++,t=t.replace(/\n{2,}$/,"\n"),t+="~0";var r=$[e],i=new RegExp("(^[ \\t]*)("+r+")[ \\t]+([^\\r]+?(\\n+))(?=(~0|\\1("+r+")[ \\t]+))","gm"),s=!1;return t=t.replace(i,function(t,e,r,i){var l=i,c=/\n\n$/.test(l),u=c||l.search(/\n{2,}/)>-1;return u||s?l=a(I(l),!0):(l=p(I(l),!0),l=l.replace(/\n$/,""),n||(l=o(l))),s=c,"
    • "+l+"
    • \n"}),t=t.replace(/~0/g,""),B--,t}function m(t){return t+="~0",t=t.replace(/(?:\n\n|^\n?)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,function(t,e,n){var r=e,i=n;return r=x(I(r)),r=N(r),r=r.replace(/^\n+/g,""),r=r.replace(/\n+$/g,""),r="
      "+r+"\n
      ","\n\n"+r+"\n\n"+i}),t=t.replace(/~0/,"")}function v(t){return t=t.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(P.push(t)-1)+"K\n\n"}function y(t){return t=t.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(t,e,n,r){var i=r;return i=i.replace(/^([ \t]*)/g,""),i=i.replace(/[ \t]*$/g,""),i=x(i),i=i.replace(/:\/\//g,"~P"),e+""+i+""})}function x(t){return t=t.replace(/&/g,"&"),t=t.replace(//g,">"),t=A(t,"*_{}[]\\",!1)}function b(t){return t=t.replace(/([\W_]|^)(\*\*|__)(?=\S)([^\r]*?\S[\*_]*)\2([\W_]|$)/g,"$1$3$4"),t=t.replace(/([\W_]|^)(\*|_)(?=\S)([^\r\*_]*?\S)\2([\W_]|$)/g,"$1$3$4")}function w(t){return t=t.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(t,e){var n=e;return n=n.replace(/^[ \t]*>[ \t]?/gm,"~0"),n=n.replace(/~0/g,""),n=n.replace(/^[ \t]+$/gm,""),n=a(n),n=n.replace(/(^|\n)/g,"$1 "),n=n.replace(/(\s*
      [^\r]+?<\/pre>)/gm,function(t,e){var n=e;return n=n.replace(/^  /gm,"~0"),n=n.replace(/~0/g,"")}),v("
      \n"+n+"\n
      ")})}function _(t,e){t=t.replace(/^\n+/g,""),t=t.replace(/\n+$/g,"");for(var n=t.split(/\n{2,}/g),r=[],i=/~K(\d+)K/,a=n.length,s=0;a>s;s++){var l=n[s];i.test(l)?r.push(l):/\S/.test(l)&&(l=o(l),l=l.replace(/^([ \t]*)/g,"

      "),l+="

      ",r.push(l))}if(!e){a=r.length;for(var s=0;a>s;s++)for(var c=!0;c;)c=!1,r[s]=r[s].replace(/~K(\d+)K/g,function(t,e){return c=!0,P[e]})}return r.join("\n\n")}function S(t){return t=t.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),t=t.replace(/<(?![a-z\/?!]|~D)/gi,"<")}function C(t){return t=t.replace(/\\(\\)/g,M),t=t.replace(/\\([`*_{}\[\]()>#+-.!])/g,M)}function E(t,e,n,r){if(e)return t;if(")"!==r.charAt(r.length-1))return"<"+n+r+">";for(var i=r.match(/[()]/g),a=0,o=0;o=a?a=1:a++:a--;var s="";if(0>a){var l=new RegExp("\\){1,"+-a+"}$");r=r.replace(l,function(t){return s=t,""})}if(s){var c=r.charAt(r.length-1);G.test(c)||(s=c+s,r=r.substr(0,r.length-1))}return"<"+n+r+">"+s}function k(t){t=t.replace(q,E);var e=function(t,e){return'
      '+O.plainLinkText(e)+""};return t=t.replace(/<((https?|ftp):[^'">\s]+)>/gi,e)}function T(t){ +return t=t.replace(/~E(\d+)E/g,function(t,e){var n=parseInt(e);return String.fromCharCode(n)})}function I(t){return t=t.replace(/^(\t|[ ]{1,4})/gm,"~0"),t=t.replace(/~0/g,"")}function N(t){if(!/\t/.test(t))return t;var e,n=[" "," "," "," "],r=0;return t.replace(/[\n\t]/g,function(t,i){return"\n"===t?(r=i+1,t):(e=(i-r)%4,r=i+1,n[e])})}function R(t){return t?(t.length,t.replace(z,function(t){return"~D"==t?"%24":":"==t?":":"%"+t.charCodeAt(0).toString(16)})):""}function A(t,e,n){var r="(["+e.replace(/([\[\]\\])/g,"\\$1")+"])";n&&(r="\\\\"+r);var i=new RegExp(r,"g");return t=t.replace(i,M)}function M(t,e){var n=e.charCodeAt(0);return"~E"+n+"E"}var L={};this.setOptions=function(t){L=t};var O=this.hooks=new n;O.addNoop("plainLinkText"),O.addNoop("preConversion"),O.addNoop("postNormalization"),O.addNoop("preBlockGamut"),O.addNoop("postBlockGamut"),O.addNoop("preSpanGamut"),O.addNoop("postSpanGamut"),O.addNoop("postConversion");var D,F,P,B;this.makeHtml=function(n){if(D)throw new Error("Recursive call to converter.makeHtml");return D=new r,F=new r,P=[],B=0,n=O.preConversion(n),n=n.replace(/~/g,"~T"),n=n.replace(/\$/g,"~D"),n=n.replace(/\r\n/g,"\n"),n=n.replace(/\r/g,"\n"),n="\n\n"+n+"\n\n",n=N(n),n=n.replace(/^[ \t]+$/gm,""),n=O.postNormalization(n),n=e(n),n=t(n),n=a(n),n=T(n),n=n.replace(/~D/g,"$$"),n=n.replace(/~T/g,"~"),n=O.postConversion(n),P=F=D=null,n};var j=function(t){return a(t)},$={ol:"\\d+[.]",ul:"[*+-]"},H="[-A-Z0-9+&@#/%?=~_|[\\]()!:,.;]",U="[-A-Z0-9+&@#/%=~_|[\\])]",q=new RegExp('(="|<)?\\b(https?|ftp)(://'+H+"*"+U+")(?=$|\\W)","gi"),G=new RegExp(U,"i"),z=/(?:["'*()[\]:]|~D)/g}}(),define("libs/Markdown.Converter",function(){}),function(){function t(t){return t.replace(/^\s+|\s+$/g,"")}function e(t){return t.replace(/\s+$/g,"")}function n(t){return t.replace(new RegExp("^(\\t|[ ]{1,4})","gm"),"")}function r(t,e){return-1!=t.indexOf(e)}function i(t,e){return t.replace(/<[^>]*>?/gi,function(t){return t.match(e)?t:""})}function a(t,e){for(var n={},r=0;r]*>|","<(br)\\s?\\/?>)$"].join(""),"i");Array.indexOf||(Array.prototype.indexOf=function(t){for(var e=0;e~X"+(this.hashBlocks.push(t)-1)+"X

      \n"},Markdown.Extra.prototype.hashExtraInline=function(t){return"~X"+(this.hashBlocks.push(t)-1)+"X"},Markdown.Extra.prototype.unHashExtraBlocks=function(t){function e(){var r=!1;t=t.replace(/(?:

      )?~X(\d+)X(?:<\/p>)?/g,function(t,e){r=!0;var i=parseInt(e,10);return n.hashBlocks[i]}),r===!0&&e()}var n=this;return e(),t},Markdown.Extra.prototype.wrapHeaders=function(t){function e(t){return"\n"+t+"\n"}return t=t.replace(/^.+[ \t]*\n=+[ \t]*\n+/gm,e),t=t.replace(/^.+[ \t]*\n-+[ \t]*\n+/gm,e),t=t.replace(/^\#{1,6}[ \t]*.+?[ \t]*\#*\n+/gm,e)};var m="\\{[ \\t]*((?:[#.][-_:a-zA-Z0-9]+[ \\t]*)+)\\}",v=new RegExp("^(#{1,6}.*#{0,6})[ \\t]+"+m+"[ \\t]*(?:\\n|0x03)","gm"),y=new RegExp("^(.*)[ \\t]+"+m+"[ \\t]*\\n(?=[\\-|=]+\\s*(?:\\n|0x03))","gm"),x=new RegExp("^(```[^`\\n]*)[ \\t]+"+m+"[ \\t]*\\n(?=([\\s\\S]*?)\\n```[ \\t]*(\\n|0x03))","gm");Markdown.Extra.prototype.hashHeaderAttributeBlocks=function(t){function e(t,e,r){return"

      ~XX"+(n.hashBlocks.push(r)-1)+"XX

      \n"+e+"\n"}var n=this;return t=t.replace(v,e),t=t.replace(y,e)},Markdown.Extra.prototype.hashFcbAttributeBlocks=function(t){function e(t,e,r){return"

      ~XX"+(n.hashBlocks.push(r)-1)+"XX

      \n"+e+"\n"}var n=this;return t.replace(x,e)},Markdown.Extra.prototype.applyAttributeBlocks=function(t){var e=this,n=new RegExp('

      ~XX(\\d+)XX

      [\\s]*(?:<(h[1-6]|pre)(?: +class="(\\S+)")?(>[\\s\\S]*?))',"gm");return t=t.replace(n,function(t,n,r,i,o){if(!r)return"";for(var s=parseInt(n,10),l=e.hashBlocks[s],c=l.match(/#[^\s#.]+/g)||[],u=c[0]?' id="'+c[0].substr(1,c[0].length-1)+'"':"",h=l.match(/\.[^\s#.]+/g)||[],f=0;f0&&(d=' class="'+h.join(" ")+'"'),"<"+r+u+d+o})},Markdown.Extra.prototype.tables=function(e){function n(e,n,i,a){n=n.replace(/^ *[|]/m,""),i=i.replace(/^ *[|]/m,""),a=a.replace(/^ *[|]/gm,""),n=n.replace(/[|] *$/m,""),i=i.replace(/[|] *$/m,""),a=a.replace(/[|] *$/gm,""),alignspecs=i.split(/ *[|] */),align=[];for(var o=0;o\n","\n","\n"].join("");for(o=0;u>o;o++){var d=l(t(c[o]),r);f+=[" ",d,"\n"].join("")}f+="\n\n";var p=a.split("\n");for(o=0;ov;v++)g.push("");for(f+="\n",v=0;u>v;v++){var y=l(t(g[v]),r);f+=[" ",y,"\n"].join("")}f+="\n"}return f+="\n",r.hashExtraBlock(f)}var r=this,i=new RegExp(["^","[ ]{0,3}","[|]","(.+)\\n","[ ]{0,3}","[|]([ ]*[-:]+[-| :]*)\\n","(","(?:[ ]*[|].*\\n?)*",")","(?:\\n|$)"].join(""),"gm"),a=new RegExp(["^","[ ]{0,3}","(\\S.*[|].*)\\n","[ ]{0,3}","([-:]+[ ]*[|][-| :]*)\\n","(","(?:.*[|].*\\n?)*",")","(?:\\n|$)"].join(""),"gm");return e=e.replace(i,n),e=e.replace(a,n)},Markdown.Extra.prototype.stripFootnoteDefinitions=function(t){var e=this;return t=t.replace(/\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/g,function(t,n,r){return n=d(n),r+="\n",r=r.replace(/^[ ]{0,3}/g,""),e.footnotes[n]=r,"\n"})},Markdown.Extra.prototype.doFootnotes=function(t){var e=this;if(e.isConvertingFootnote===!0)return t;var n=0;return t=t.replace(/\[\^(.+?)\]/g,function(t,r){var i=d(r),a=e.footnotes[i];if(void 0===a)return t;n++,e.usedFootnotes.push(i);var o=''+n+"";return e.hashExtraInline(o)})},Markdown.Extra.prototype.printFootnotes=function(t){var e=this;if(0===e.usedFootnotes.length)return t;t+='\n\n
      \n
      \n
        \n\n';for(var n=0;n'+a+' \n\n'}return t+="
      \n
      "},Markdown.Extra.prototype.fencedCodeBlocks=function(e){function n(t){return t=t.replace(/&/g,"&"),t=t.replace(//g,">"),t=t.replace(/~D/g,"$$"),t=t.replace(/~T/g,"~")}var r=this;return e=e.replace(/(?:^|\n)```([^`\n]*)\n([\s\S]*?)\n```[ \t]*(?=\n)/g,function(e,i,a){var o=t(i),s=a,l=r.googleCodePrettify?' class="prettyprint"':"",c="";o&&(c=r.googleCodePrettify||r.highlightJs?' class="language-'+o+'"':' class="'+o+'"');var u=["",n(s),"
      "].join("");return r.hashExtraBlock(u)})},Markdown.Extra.prototype.educatePants=function(t){var e=this,n="",r=0;t.replace(/(?:)|(<)([a-zA-Z1-6]+)([^\n]*?>)([\s\S]*?)(<\/\2>)/g,function(i,a,o,s,l,c,u){var h=t.substring(r,u);return n+=e.applyPants(h),e.smartyPantsLastChar=n.substring(n.length-1),r=u+i.length,a?(/code|kbd|pre|script|noscript|iframe|math|ins|del|pre/i.test(o)?e.smartyPantsLastChar=l.substring(l.length-1):l=e.educatePants(l),void(n+=a+o+s+l+c)):void(n+=i)});var i=t.substring(r);return n+=e.applyPants(i),e.smartyPantsLastChar=n.substring(n.length-1),n},Markdown.Extra.prototype.applyPants=function(t){return t=t.replace(/---/g,"—").replace(/--/g,"–"),t=t.replace(/\.\.\./g,"…").replace(/\.\s\.\s\./g,"…"),t=t.replace(/``/g,"“").replace(/''/g,"”"),/^'$/.test(t)?/\S/.test(this.smartyPantsLastChar)?"’":"‘":/^"$/.test(t)?/\S/.test(this.smartyPantsLastChar)?"”":"“":(t=t.replace(/^'(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/,"’"),t=t.replace(/^"(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/,"”"),t=t.replace(/"'(?=\w)/g,"“‘"),t=t.replace(/'"(?=\w)/g,"‘“"),t=t.replace(/'(?=\d{2}s)/g,"’"),t=t.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)'(?=\w)/g,"$1‘"),t=t.replace(/([^\s\[\{\(\-])'/g,"$1’"),t=t.replace(/'(?=\s|s\b)/g,"’"),t=t.replace(/'/g,"‘"),t=t.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)"(?=\w)/g,"$1“"),t=t.replace(/([^\s\[\{\(\-])"/g,"$1”"),t=t.replace(/"(?=\s)/g,"”"),t=t.replace(/"/gi,"“"))},Markdown.Extra.prototype.runSmartyPants=function(t){return this.smartyPantsLastChar="",t=this.educatePants(t),t=t.replace(/(<([a-zA-Z1-6]+)\b([^\n>]*?)(\/)?>)/g,p)},Markdown.Extra.prototype.definitionLists=function(e){var n=new RegExp(["(\\x02\\n?|\\n\\n)","(?:","(","(","[ ]{0,3}","((?:[ \\t]*\\S.*\\n)+)","\\n?","[ ]{0,3}:[ ]+",")","([\\s\\S]+?)","(","(?=\\0x03)","|","(?=","\\n{2,}","(?=\\S)","(?!","[ ]{0,3}","(?:\\S.*\\n)+?","\\n?","[ ]{0,3}:[ ]+",")","(?!","[ ]{0,3}:[ ]+",")",")",")",")",")"].join(""),"gm"),r=this;return e=o(e),e=e.replace(n,function(e,n,i){var a=t(r.processDefListItems(i));return a="
      \n"+a+"\n
      ",n+r.hashExtraBlock(a)+"\n\n"}),s(e)},Markdown.Extra.prototype.processDefListItems=function(r){var i=this,a=new RegExp(["(\\x02\\n?|\\n\\n+)","(","[ ]{0,3}","(?![:][ ]|[ ])","(?:\\S.*\\n)+?",")","(?=\\n?[ ]{0,3}:[ ])"].join(""),"gm"),u=new RegExp(["\\n(\\n+)?","(","[ ]{0,3}","[:][ ]+",")","([\\s\\S]+?)","(?=\\n*","(?:","\\n[ ]{0,3}[:][ ]|","
      |\\x03",")",")"].join(""),"gm");return r=o(r),r=r.replace(/\n{2,}(?=\\x03)/,"\n"),r=r.replace(a,function(e,n,r){for(var a=t(r).split("\n"),o="",s=0;s"+c+"
      "}return o+"\n"}),r=r.replace(u,function(t,r,a,o){return r||o.match(/\n{2,}/)?(o=Array(a.length+1).join(" ")+o,o=n(o)+"\n\n",o="\n"+c(o,i)+"\n"):(o=e(o),o=l(n(o),i)),"\n
      "+o+"
      \n"}),s(r)},Markdown.Extra.prototype.strikethrough=function(t){return t.replace(/([\W_]|^)~T~T(?=\S)([^\r]*?\S[\*_]*)~T~T([\W_]|$)/g,"$1$2$3")},Markdown.Extra.prototype.newlines=function(t){return t.replace(/(<(?:br|\/li)>)?\n/g,function(t,e){return e?t:"
      \n"})}}(),define("pagedownExtra",function(){}),define("extensions/markdownExtra",["underscore","utils","logger","classes/Extension","text!html/markdownExtraSettingsBlock.html","google-code-prettify","crel","pagedownExtra"],function(t,e,n,r,i,a){var o=new r("markdownExtra","Markdown Extra",!0);o.settingsBlock=i,o.defaultConfig={extensions:["fenced_code_gfm","tables","def_list","attr_list","footnotes","smartypants","strikethrough","newlines"],intraword:!0,comments:!0,highlighter:"highlight"},o.onLoadSettings=function(){function n(e){return t.some(o.config.extensions,function(t){return t==e})}e.setInputChecked("#input-markdownextra-fencedcodegfm",n("fenced_code_gfm")),e.setInputChecked("#input-markdownextra-tables",n("tables")),e.setInputChecked("#input-markdownextra-deflist",n("def_list")),e.setInputChecked("#input-markdownextra-attrlist",n("attr_list")),e.setInputChecked("#input-markdownextra-footnotes",n("footnotes")),e.setInputChecked("#input-markdownextra-smartypants",n("smartypants")),e.setInputChecked("#input-markdownextra-strikethrough",n("strikethrough")),e.setInputChecked("#input-markdownextra-newlines",n("newlines")),e.setInputChecked("#input-markdownextra-intraword",o.config.intraword),e.setInputChecked("#input-markdownextra-comments",o.config.comments),e.setInputValue("#input-markdownextra-highlighter",o.config.highlighter)},o.onSaveSettings=function(t){t.extensions=[],e.getInputChecked("#input-markdownextra-fencedcodegfm")&&t.extensions.push("fenced_code_gfm"),e.getInputChecked("#input-markdownextra-tables")&&t.extensions.push("tables"),e.getInputChecked("#input-markdownextra-deflist")&&t.extensions.push("def_list"),e.getInputChecked("#input-markdownextra-attrlist")&&t.extensions.push("attr_list"),e.getInputChecked("#input-markdownextra-footnotes")&&t.extensions.push("footnotes"),e.getInputChecked("#input-markdownextra-smartypants")&&t.extensions.push("smartypants"),e.getInputChecked("#input-markdownextra-strikethrough")&&t.extensions.push("strikethrough"),e.getInputChecked("#input-markdownextra-newlines")&&t.extensions.push("newlines"),t.intraword=e.getInputChecked("#input-markdownextra-intraword"),t.comments=e.getInputChecked("#input-markdownextra-comments"),t.highlighter=e.getInputValue("#input-markdownextra-highlighter")};var s;o.onEventMgrCreated=function(t){s=t};var l;return o.onReady=function(){l=document.getElementById("preview-contents")},o.onPagedownConfigure=function(t){var e=t.getConverter(),n={extensions:o.config.extensions,highlighter:"prettify"};if(o.config.intraword===!0){var r={_DoItalicsAndBold:function(t){return t=t.replace(/([^\w*]|^)(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\2(?=[^\w*]|$)/g,"$1$3"),t=t.replace(/([^\w*]|^)(\*|_)(?=\S)(.+?)(?=\S)\2(?=[^\w*]|$)/g,"$1$3"),t=t.replace(/([^\w*]|^)(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\2(?=[^\w*]|$)/g,"$1$3")}};e.setOptions(r)}o.config.comments===!0&&e.hooks.chain("postConversion",function(t){return t.replace(//g,function(t){return t.replace(/^$/,' $1 ')})}),t.hooks.chain("onPreviewRefresh",function(){$("#preview-contents pre").addClass("prettyprint linenums"),a.prettyPrint()}),Markdown.Extra.init(e,n)},o}),define("text!html/mathJaxSettingsBlock.html",[],function(){return'

      Allows StackEdit to interpret LaTeX mathematical expressions.

      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \nMore info'}),define("text!libs/mathjax_config.js",[],function(){return'MathJax.Hub.Config({\n skipStartupTypeset: true,\n "HTML-CSS": {\n preferredFont: "TeX",\n availableFonts: [\n "STIX",\n "TeX"\n ],\n linebreaks: {\n automatic: true\n },\n EqnChunk: 10,\n imageFont: null\n },\n tex2jax: <%= tex2jax || \'{ inlineMath: [["$","$"],["\\\\\\\\\\\\\\\\(","\\\\\\\\\\\\\\\\)"]], displayMath: [["$$","$$"],["\\\\\\\\[","\\\\\\\\]"]], processEscapes: true }\' %>,\n TeX: $.extend({\n noUndefined: {\n attributes: {\n mathcolor: "red",\n mathbackground: "#FFEEEE",\n mathsize: "90%"\n }\n },\n Safe: {\n allow: {\n URLs: "safe",\n classes: "safe",\n cssIDs: "safe",\n styles: "safe",\n fontsize: "all"\n }\n }\n }, <%= tex %>),\n messageStyle: "none"\n});\n'}),define("libs/mathjax_init",["settings","text!libs/mathjax_config.js"],function(t,e){var n=document.createElement("script");n.type="text/x-mathjax-config",n.innerHTML=_.template(e,{tex:t.extensionSettings.mathJax?t.extensionSettings.mathJax.tex:"undefined",tex2jax:t.extensionSettings.mathJax?t.extensionSettings.mathJax.tex2jax:void 0}),document.getElementsByTagName("head")[0].appendChild(n)}),define("extensions/mathJax",["utils","classes/Extension","text!html/mathJaxSettingsBlock.html","mathjax"],function(t,e,n){function r(t,e,n){var r=u.slice(t,e+1).join("").replace(/&/g,"&").replace(//g,">");for(b.Browser.isMSIE&&(r=r.replace(/(%[^\n]*)\n/g,"$1
      \n"));e>t;)u[e]="",e--;u[t]="@@"+g.length+"@@",n&&(r=n(r)),g.push(r),h=f=d=null}function i(t){h=f=d=null,g=[];var e;/`/.test(t)?(t=t.replace(/~/g,"~T").replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,function(t){return t.replace(/\$/g,"~D")}),e=function(t){return t.replace(/~([TD])/g,function(t,e){return{T:"~",D:"$"}[e]})}):e=function(t){return t},u=w(t.replace(/\r\n?/g,"\n"),_);for(var n=1,i=u.length;i>n;n+=2){var a=u[n];"@"===a.charAt(0)?(u[n]="@@"+g.length+"@@",g.push(a)):h?f==x&&"\n"==a.charAt(0)?(d&&(n=d,r(h,n,e)),h=f=d=null,p=0):a===f?p?d=n:r(h,n,e):a.match(/\n.*\n/)?(d&&(n=d,r(h,n,e)),h=f=d=null,p=0):"{"===a?p++:"}"===a&&p&&p--:a===x||"$$"===a?(h=n,f=a,p=0):"begin"===a.substr(1,5)&&(h=n,f="\\end"+a.substr(6),p=0)}return d&&r(h,d,e),e(u.join(""))}function a(t){return t=t.replace(/@@(\d+)@@/g,function(t,e){return g[e]}),g=null,t}function o(){v=!1,b.cancelTypeset=!1,b.Queue(["Typeset",b,y]),b.Queue(c)}function s(){v||(v=!0,b.Cancel(),b.Queue(o))}var l=new e("mathJax","MathJax",!0);l.settingsBlock=n,l.defaultConfig={tex:"{}",tex2jax:'{ inlineMath: [["$","$"],["\\\\\\\\(","\\\\\\\\)"]], displayMath: [["$$","$$"],["\\\\[","\\\\]"]], processEscapes: true }'},l.onLoadSettings=function(){t.setInputValue("#input-mathjax-config-tex",l.config.tex),t.setInputValue("#input-mathjax-config-tex2jax",l.config.tex2jax)},l.onSaveSettings=function(e,n){e.tex=t.getInputJsValue("#input-mathjax-config-tex",n),e.tex2jax=t.getInputJsValue("#input-mathjax-config-tex2jax",n)},l.onPagedownConfigure=function(t){y=document.getElementById("preview-contents");var e=t.getConverter();e.hooks.chain("preConversion",i),e.hooks.chain("postConversion",a)};var c;l.onAsyncPreview=function(t){c=t,s()};var u,h,f,d,p,g,m=!1,v=!1,y=null,x="$",b=MathJax.Hub;b.Queue(function(){m=!0,b.processUpdateTime=50,b.Config({"HTML-CSS":{EqnChunk:10,EqnChunkFactor:1},SVG:{EqnChunk:10,EqnChunkFactor:1}})});var w,_=/(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[\\{}$]|[{}]|(?:\n\s*)+|@@\d+@@)/i;return w=3==="aba".split(/(b)/).length?function(t,e){return t.split(e)}:function(t,e){var n,r=[];if(!e.global){n=e.toString();var i="";n=n.replace(/^\/(.*)\/([im]*)$/,function(t,e,n){return i=n,e}),e=RegExp(n,i+"g")}for(var a=e.lastIndex=0;n=e.exec(t);)r.push(t.substring(a,n.index)),r.push.apply(r,n.slice(1)),a=n.index+n[0].length;return r.push(t.substring(a)),r},function(){var t=MathJax.Hub;if(!t.Cancel){t.cancelTypeset=!1,t.Register.StartupHook("HTML-CSS Jax Config",function(){var e=MathJax.OutputJax["HTML-CSS"],n=e.Translate;e.Augment({Translate:function(r,i){if(t.cancelTypeset||i.cancelled)throw Error("MathJax Canceled");return n.call(e,r,i)}})}),t.Register.StartupHook("SVG Jax Config",function(){var e=MathJax.OutputJax.SVG,n=e.Translate;e.Augment({Translate:function(r,i){if(t.cancelTypeset||i.cancelled)throw Error("MathJax Canceled");return n.call(e,r,i)}})}),t.Register.StartupHook("TeX Jax Config",function(){var e=MathJax.InputJax.TeX,n=e.Translate;e.Augment({Translate:function(r,i){if(t.cancelTypeset||i.cancelled)throw Error("MathJax Canceled");return n.call(e,r,i)}})});var e=t.processError;t.processError=function(n,r,i){return"MathJax Canceled"!==n.message?e.call(t,n,r,i):(MathJax.Message.Clear(0,0),r.jaxIDs=[],r.jax={},r.scripts=[],r.i=r.j=0,r.cancelled=!0,null)},t.Cancel=function(){this.cancelTypeset=!0}}}(),l}),define("text!html/partialRenderingSettingsBlock.html",[],function(){return"

      Renders modified sections only.

      \n
      \n

      Note: Document sections are based on title elements (h1, h2...). Therefore if\n your document does not contain any title, performance will not be increased.

      \n
      "}),define("extensions/partialRendering",["underscore","crel","extensions/markdownExtra","classes/Extension","text!html/partialRenderingSettingsBlock.html"],function(t,e,n,r,i){function a(){var e=[],n="\n";if(g=!1,t.each(m,function(t){var r='\n
      \n\n'+t.text+"\n\n";p&&(r=r.replace(/^```.*\n[\s\S]*?\n```|\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/gm,function(t,e){return e?(g=!0,n+=t.replace(/^\s*\n/gm,"")+"\n",""):t})),r=r.replace(/^```.*\n[\s\S]*?\n```|^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm,function(t,e){return e?(n+=t.replace(/^\s*\n/gm,"")+"\n",""):t}),e.push({id:t.id,text:r+"\n"})}),x=[],y=[],h=void 0,b===!0||u!=n)return b=!1,u=n,y=v,v=e,void(x=e);var r=v.length;t.some(v,function(t,n){return n>=e.length||t.text!=e[n].text?(r=n,!0):void 0});var i=-v.length;t.some(v.slice().reverse(),function(t,n){return n>=e.length||t.text!=e[e.length-n-1].text?(i=-n,!0):void 0}),r-i>v.length&&(i=r-v.length);var a=v.slice(0,r);x=e.slice(r,e.length+i);var o=v.slice(v.length+i,v.length);h=t.first(o),y=v.slice(r,v.length+i),v=a.concat(x).concat(o)}function o(t){var e=t.id.substring(3),n=w[e];n&&_.removeChild(n),w[e]=t,_.appendChild(t)}function s(){function n(n){for(var r=e("div",{id:"wmd-preview-section-"+n.id,"class":"wmd-preview-section preview-content"}),a=!1;i;){var s=i.nextSibling,l="se-preview-section-delimiter"==i.className;if(a===!0&&"DIV"==i.tagName&&l)break;a=!0,"DIV"==i.tagName&&"footnotes"==i.className?t.each(i.querySelectorAll("ol > li"),o):l||r.appendChild(i),i=s}return r}t.each(y,function(t){var e=document.getElementById("wmd-preview-section-"+t.id);d.removeChild(e)});var r=document.getElementById("wmd-preview"),i=r.firstChild,a=document.createDocumentFragment();t.each(x,function(t){a.appendChild(n(t))}),r.innerHTML="";var s=f;void 0!==h&&(s=document.getElementById("wmd-preview-section-"+h.id)),d.insertBefore(a,s),f.innerHTML="";var l=[];if(g===!0){var c=e("ol");t.each(d.querySelectorAll("a.footnote"),function(t,e){t.textContent=e+1;var n=t.id.substring(6);l.push(n);var r=w[n];r&&c.appendChild(r.cloneNode(!0))}),l.length>0&&f.appendChild(e("div",{"class":"footnotes"},e("hr"),c)),Object.keys(w).forEach(function(t){-1===l.indexOf(t)&&(_.removeChild(w[t]),delete w[t])})}}var l=new r("partialRendering","Partial Rendering",!0);l.settingsBlock=i;var c,u,h,f,d,p=!1,g=!1,m=[],v=[],y=[],x=[],b=!1,w={},_=document.createDocumentFragment();return l.onSectionsCreated=function(t){m=t},l.onPagedownConfigure=function(e){c=e.getConverter(),c.hooks.chain("preConversion",function(){a();var e=t.map(x,function(t){return t.text});return e.push(u+"\n\n"),e.join("")}),e.hooks.chain("onPreviewRefresh",function(){s()})},l.onInit=function(){n.enabled&&t.some(n.config.extensions,function(t){return"footnotes"==t})&&(p=!0)},l.onReady=function(){f=e("div",{id:"wmd-preview-section-footnotes","class":"preview-content"}),d=document.getElementById("preview-contents"),d.appendChild(f)},l.onFileSelected=function(){b=!0},l}),define("extensions/markdownSectionParser",["underscore","extensions/markdownExtra","extensions/mathJax","extensions/partialRendering","classes/Extension","crel"],function(t,e,n,r,i,a){function o(t,e){function n(t,e){var n=a.substring(o,e);u.push({id:++d,text:n,textWithFrontMatter:r+n}),r=""}if(t===f){var r=(f.frontMatter||{})._frontMatter||"",i=e.substring(r.length),a=i+"\n\n";u=[];var o=0;a.replace(h,function(t,e){n(o,e),o=e}),n(o,i.length),s.onSectionsCreated(u)}}var s,l=new i("markdownSectionParser","Markdown section parser");l.onEventMgrCreated=function(t){s=t};var c,u=[],h="^.+[ \\t]*\\n=+[ \\t]*\\n+|^.+[ \\t]*\\n-+[ \\t]*\\n+|^\\#{1,6}[ \\t]*.+?[ \\t]*\\#*\\n+";l.onPagedownConfigure=function(i){e.enabled&&t.some(e.config.extensions,function(t){return"fenced_code_gfm"==t})&&(h="^```[^`\\n]*\\n[\\s\\S]*?\\n```|"+h),n.enabled&&(h="^[ \\t]*\\n\\$\\$[\\s\\S]*?\\$\\$|"+h,h="^[ \\t]*\\n\\\\\\\\[[\\s\\S]*?\\\\\\\\]|"+h,h="^[ \\t]*\\n\\\\?\\\\begin\\{[a-z]*\\*?\\}[\\s\\S]*?\\\\end\\{[a-z]*\\*?\\}|"+h),h=new RegExp(h,"gm");var o=i.getConverter();r.enabled||(o.hooks.chain("preConversion",function(){return t.reduce(u,function(t,e){return t+'\n
      \n\n'+e.text+"\n\n"},"")}),i.hooks.chain("onPreviewRefresh",function(){function t(){for(var t=a("div",{"class":"wmd-preview-section preview-content"}),e=!1;n;){var r=n.nextSibling,i="se-preview-section-delimiter"==n.className;if(e===!0&&"DIV"==n.tagName&&i)break;e=!0,i||t.appendChild(n),n=r}return t}var e=document.getElementById("wmd-preview"),n=e.firstChild,r=document.createDocumentFragment();u.forEach(function(e){r.appendChild(t(e))}),c.innerHTML="",c.appendChild(e),c.appendChild(r)}))},l.onReady=function(){c=document.getElementById("preview-contents")};var f;l.onFileSelected=function(t){f=t};var d=0;return l.onFileOpen=o,l.onContentChanged=o,l}),define("extensions/workingIndicator",["underscore","crel","classes/Extension"],function(t,e,n){var r,i,a=new n("workingIndicator","Working Indicator"),o=["@<%= prefix %>keyframes <%= name %> {"," 0% { opacity:<%= z %>; }"," <%= start %>.01% { opacity:<%= alpha %>; }"," <%= start %>.02% { opacity:1; }"," <%= ((start + trail) % 100) %>.01% { opacity:<%= alpha %>; }"," 100% { opacity:<%= z %>; }","}"].join("\n");return a.onAsyncRunning=function(t){r.toggleClass("working",t),i.toggleClass("hide",!t)},a.onReady=function(){function n(e){e.z=Math.max(1-(1-e.alpha)/e.trail*(100-e.start),e.alpha),a+=t.template(o,t.extend({prefix:""},e)),a+=t.template(o,t.extend({prefix:"-webkit-"},e))}var a="";r=$(document.body),i=$('
      '),$(".working-indicator").append(i);for(var s=0;3>s;s++){var l="working-indicator-bar"+s;n({name:l,alpha:.25,start:20*s,trail:50});var c=l+" 0.7s linear infinite";i.append($('
      ').css({animation:c,"-webkit-animation":c}))}var u=e("style",{type:"text/css"});document.head.appendChild(u),u.innerHTML=a},a}),function(t){var e=function(){return!1===t.support.boxModel&&t.support.objectAll&&t.support.leadingWhitespace}();t.jGrowl=function(e,n){0==t("#jGrowl").size()&&t('
      ').addClass(n&&n.position?n.position:t.jGrowl.defaults.position).appendTo("body"),t("#jGrowl").jGrowl(e,n)},t.fn.jGrowl=function(e,n){if(t.isFunction(this.each)){var r=arguments;return this.each(function(){void 0==t(this).data("jGrowl.instance")&&(t(this).data("jGrowl.instance",t.extend(new t.fn.jGrowl,{notifications:[],element:null,interval:null})),t(this).data("jGrowl.instance").startup(this)),t.isFunction(t(this).data("jGrowl.instance")[e])?t(this).data("jGrowl.instance")[e].apply(t(this).data("jGrowl.instance"),t.makeArray(r).slice(1)):t(this).data("jGrowl.instance").create(e,n)})}},t.extend(t.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"
      [ close all ]
      ",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(e,n){var n=t.extend({},this.defaults,n);"undefined"!=typeof n.speed&&(n.openDuration=n.speed,n.closeDuration=n.speed),this.notifications.push({message:e,options:n}),n.log.apply(this.element,[this.element,e,n])},render:function(e){var n=this,r=e.message,i=e.options;i.themeState=""==i.themeState?"":"ui-state-"+i.themeState;var e=t("
      ").addClass("jGrowl-notification "+i.themeState+" ui-corner-all"+(void 0!=i.group&&""!=i.group?" "+i.group:"")).append(t("
      ").addClass("jGrowl-close").html(i.closeTemplate)).append(t("
      ").addClass("jGrowl-header").html(i.header)).append(t("
      ").addClass("jGrowl-message").html(r)).data("jGrowl",i).addClass(i.theme).children("div.jGrowl-close").bind("click.jGrowl",function(){t(this).parent().trigger("jGrowl.beforeClose")}).parent();t(e).bind("mouseover.jGrowl",function(){t("div.jGrowl-notification",n.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){t("div.jGrowl-notification",n.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){i.beforeOpen.apply(e,[e,r,i,n.element])!==!1&&t(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){i.open.apply(e,[e,r,i,n.element])!==!1&&("after"==i.glue?t("div.jGrowl-notification:last",n.element).after(e):t("div.jGrowl-notification:first",n.element).before(e),t(this).animate(i.animateOpen,i.openDuration,i.easing,function(){t.support.opacity===!1&&this.style.removeAttribute("filter"),null!==t(this).data("jGrowl")&&(t(this).data("jGrowl").created=new Date),t(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){i.afterOpen.apply(e,[e,r,i,n.element])}).bind("jGrowl.beforeClose",function(){i.beforeClose.apply(e,[e,r,i,n.element])!==!1&&t(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){ +t(this).data("jGrowl.pause",!0),t(this).animate(i.animateClose,i.closeDuration,i.easing,function(){t.isFunction(i.close)?i.close.apply(e,[e,r,i,n.element])!==!1&&t(this).remove():t(this).remove()})}).trigger("jGrowl.beforeOpen"),""!=i.corners&&void 0!=t.fn.corner&&t(e).corner(i.corners),t("div.jGrowl-notification:parent",n.element).size()>1&&0==t("div.jGrowl-closer",n.element).size()&&this.defaults.closer!==!1&&t(this.defaults.closerTemplate).addClass("jGrowl-closer "+this.defaults.themeState+" ui-corner-all").addClass(this.defaults.theme).appendTo(n.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){t(this).siblings().trigger("jGrowl.beforeClose"),t.isFunction(n.defaults.closer)&&n.defaults.closer.apply(t(this).parent()[0],[t(this).parent()[0]])})},update:function(){t(this.element).find("div.jGrowl-notification:parent").each(function(){void 0!=t(this).data("jGrowl")&&void 0!==t(this).data("jGrowl").created&&t(this).data("jGrowl").created.getTime()+parseInt(t(this).data("jGrowl").life)<(new Date).getTime()&&t(this).data("jGrowl").sticky!==!0&&(void 0==t(this).data("jGrowl.pause")||t(this).data("jGrowl.pause")!==!0)&&t(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0==this.defaults.pool||t(this.element).find("div.jGrowl-notification:parent").size()
      '),this.interval=setInterval(function(){t(n).data("jGrowl.instance").update()},parseInt(this.defaults.check)),e&&t(this.element).addClass("ie6")},shutdown:function(){t(this.element).removeClass("jGrowl").find("div.jGrowl-notification").trigger("jGrowl.close").parent().empty(),clearInterval(this.interval)},close:function(){t(this.element).find("div.jGrowl-notification").each(function(){t(this).trigger("jGrowl.beforeClose")})}}),t.jGrowl.defaults=t.fn.jGrowl.prototype.defaults}(jQuery),define("jgrowl",function(t){return function(){var e;return e||t.jQuery.jGrowl}}(this)),define("text!html/notificationsSettingsBlock.html",[],function(){return'

      Shows notification messages in the bottom-right corner of the\n screen.

      \n
      \n
      \n \n
      \n ms\n
      \n
      \n
      '}),define("extensions/notifications",["underscore","utils","logger","classes/Extension","jgrowl","text!html/notificationsSettingsBlock.html"],function(t,e,n,r,i,a){function o(){f===!1&&(i.defaults.life=c.config.timeout,i.defaults.closer=!1,i.defaults.closeTemplate="",i.defaults.position="bottom-right",f=!0)}function s(e,r,a){if(n.info(e),o(),e){var s=e.indexOf("|");(-1===s||(e=e.substring(0,s)))&&(a=a||{},r=r||"icon-info-circled",i(" "+t.escape(e).replace(/\n/g,"
      "),a))}}function l(){d!==!1&&(u.toggleClass("hide",!p),h.toggleClass("hide",p))}var c=new r("notifications","Notifications");c.settingsBlock=a,c.defaultConfig={timeout:8e3},c.onLoadSettings=function(){e.setInputValue("#input-notifications-timeout",c.config.timeout)},c.onSaveSettings=function(t,n){t.timeout=e.getInputIntValue("#input-notifications-timeout",n,1,6e4)};var u,h,f=!1,d=!1;c.onReady=function(){d=!0,u=$(".navbar .offline-status"),h=$(".navbar .extension-buttons"),l()},c.onMessage=function(t){s(t)},c.onError=function(e){n.error(e),t.isString(e)?s(e,"icon-attention"):t.isObject(e)&&s(e.message,"icon-attention")};var p=!1;return c.onOfflineChanged=function(t){p=t,l(),p===!0?s("You are offline.","icon-attention-circled msg-offline"):s("You are back online!","icon-signal")},c.onSyncImportSuccess=function(e,n){var r=t.map(e,function(t){return t.title}).join(", ");s(r+" imported successfully from "+n.providerName+".")},c.onSyncExportSuccess=function(t,e){s('"'+t.title+'" will now be synchronized on '+e.provider.providerName+".")},c.onSyncRemoved=function(t,e){s(e.provider.providerName+" synchronized location has been removed.")},c.onPublishSuccess=function(t){s('"'+t.title+'" successfully published.')},c.onNewPublishSuccess=function(t,e){s('"'+t.title+'" is now published on '+e.provider.providerName+".")},c.onPublishRemoved=function(t,e){s(e.provider.providerName+" publish location has been removed.")},c}),define("text!html/umlDiagramsSettingsBlock.html",[],function(){return'

      Creates UML diagrams from plain text description.

      \n\n
      \n
      \n \n
      \n \n
      \n
      \n
      \n
      \n

      Sequence diagrams:

      \n
      ```sequence\nAlice->Bob: Hello Bob, how are you?\nBob-->Alice: I am good thanks!\n```\n
      \n\n

      Flow charts:

      \n
      ```flow\nst=>start: Start\ne=>end\nop=>operation: My Operation\ncond=>condition: Yes or No?\nst->op->cond\ncond(yes)->e\ncond(no)->op\n```\n
      \n
      \n

      Note: Markdown Extra extension has to be enabled with GFM fenced code blocks option.

      \n
      \n'}),function(t){var e,n,r="0.4.2",i="hasOwnProperty",a=/[\.\/]/,o="*",s=function(){},l=function(t,e){return t-e},c={n:{}},u=function(t,r){t=String(t);var i,a=n,o=Array.prototype.slice.call(arguments,2),s=u.listeners(t),c=0,h=[],f={},d=[],p=e;e=t,n=0;for(var g=0,m=s.length;m>g;g++)"zIndex"in s[g]&&(h.push(s[g].zIndex),s[g].zIndex<0&&(f[s[g].zIndex]=s[g]));for(h.sort(l);h[c]<0;)if(i=f[h[c++]],d.push(i.apply(r,o)),n)return n=a,d;for(g=0;m>g;g++)if(i=s[g],"zIndex"in i)if(i.zIndex==h[c]){if(d.push(i.apply(r,o)),n)break;do if(c++,i=f[h[c]],i&&d.push(i.apply(r,o)),n)break;while(i)}else f[i.zIndex]=i;else if(d.push(i.apply(r,o)),n)break;return n=a,e=p,d.length?d:null};u._events=c,u.listeners=function(t){var e,n,r,i,s,l,u,h,f=t.split(a),d=c,p=[d],g=[];for(i=0,s=f.length;s>i;i++){for(h=[],l=0,u=p.length;u>l;l++)for(d=p[l].n,n=[d[f[i]],d[o]],r=2;r--;)e=n[r],e&&(h.push(e),g=g.concat(e.f||[]));p=h}return g},u.on=function(t,e){if(t=String(t),"function"!=typeof e)return function(){};for(var n=t.split(a),r=c,i=0,o=n.length;o>i;i++)r=r.n,r=r.hasOwnProperty(n[i])&&r[n[i]]||(r[n[i]]={n:{}});for(r.f=r.f||[],i=0,o=r.f.length;o>i;i++)if(r.f[i]==e)return s;return r.f.push(e),function(t){+t==+t&&(e.zIndex=+t)}},u.f=function(t){var e=[].slice.call(arguments,1);return function(){u.apply(null,[t,null].concat(e).concat([].slice.call(arguments,0)))}},u.stop=function(){n=1},u.nt=function(t){return t?new RegExp("(?:\\.|\\/|^)"+t+"(?:\\.|\\/|$)").test(e):e},u.nts=function(){return e.split(a)},u.off=u.unbind=function(t,e){if(!t)return void(u._events=c={n:{}});var n,r,s,l,h,f,d,p=t.split(a),g=[c];for(l=0,h=p.length;h>l;l++)for(f=0;fl;l++)for(n=g[l];n.n;){if(e){if(n.f){for(f=0,d=n.f.length;d>f;f++)if(n.f[f]==e){n.f.splice(f,1);break}!n.f.length&&delete n.f}for(r in n.n)if(n.n[i](r)&&n.n[r].f){var m=n.n[r].f;for(f=0,d=m.length;d>f;f++)if(m[f]==e){m.splice(f,1);break}!m.length&&delete n.n[r].f}}else{delete n.f;for(r in n.n)n.n[i](r)&&n.n[r].f&&delete n.n[r].f}n=n.n}},u.once=function(t,e){var n=function(){return u.unbind(t,n),e.apply(this,arguments)};return u.on(t,n)},u.version=r,u.toString=function(){return"You are running Eve "+r},"undefined"!=typeof module&&module.exports?module.exports=u:"undefined"!=typeof define?define("eve",[],function(){return u}):t.eve=u}(this),function(t,e){"function"==typeof define&&define.amd?define("raphael",["eve"],function(n){return e(t,n)}):e(t,t.eve)}(this,function(t,e){function n(t){if(n.is(t,"function"))return b?t():e.on("raphael.DOMload",t);if(n.is(t,X))return n._engine.create[N](n,t.splice(0,3+n.is(t[0],z))).add(t);var r=Array.prototype.slice.call(arguments,0);if(n.is(r[r.length-1],"function")){var i=r.pop();return b?i.call(n._engine.create[N](n,r)):e.on("raphael.DOMload",function(){i.call(n._engine.create[N](n,r))})}return n._engine.create[N](n,arguments)}function r(t){if("function"==typeof t||Object(t)!==t)return t;var e=new t.constructor;for(var n in t)t[E](n)&&(e[n]=r(t[n]));return e}function i(t,e){for(var n=0,r=t.length;r>n;n++)if(t[n]===e)return t.push(t.splice(n,1)[0])}function a(t,e,n){function r(){var a=Array.prototype.slice.call(arguments,0),o=a.join("␀"),s=r.cache=r.cache||{},l=r.count=r.count||[];return s[E](o)?(i(l,o),n?n(s[o]):s[o]):(l.length>=1e3&&delete s[l.shift()],l.push(o),s[o]=t[N](e,a),n?n(s[o]):s[o])}return r}function o(){return this.hex}function s(t,e){for(var n=[],r=0,i=t.length;i-2*!e>r;r+=2){var a=[{x:+t[r-2],y:+t[r-1]},{x:+t[r],y:+t[r+1]},{x:+t[r+2],y:+t[r+3]},{x:+t[r+4],y:+t[r+5]}];e?r?i-4==r?a[3]={x:+t[0],y:+t[1]}:i-2==r&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[i-2],y:+t[i-1]}:i-4==r?a[3]=a[2]:r||(a[0]={x:+t[r],y:+t[r+1]}),n.push(["C",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return n}function l(t,e,n,r,i){var a=-3*e+9*n-9*r+3*i,o=t*a+6*e-12*n+6*r;return t*o-3*e+3*n}function c(t,e,n,r,i,a,o,s,c){null==c&&(c=1),c=c>1?1:0>c?0:c;for(var u=c/2,h=12,f=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],d=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,g=0;h>g;g++){var m=u*f[g]+u,v=l(m,t,n,i,o),y=l(m,e,r,a,s),x=v*v+y*y;p+=d[g]*j.sqrt(x)}return u*p}function u(t,e,n,r,i,a,o,s,l){if(!(0>l||c(t,e,n,r,i,a,o,s)p;)f/=2,d+=(l>u?1:-1)*f,u=c(t,e,n,r,i,a,o,s,d);return d}}function h(t,e,n,r,i,a,o,s){if(!($(t,n)$(i,o)||$(e,r)$(a,s))){var l=(t*r-e*n)*(i-o)-(t-n)*(i*s-a*o),c=(t*r-e*n)*(a-s)-(e-r)*(i*s-a*o),u=(t-n)*(a-s)-(e-r)*(i-o);if(u){var h=l/u,f=c/u,d=+h.toFixed(2),p=+f.toFixed(2);if(!(d<+H(t,n).toFixed(2)||d>+$(t,n).toFixed(2)||d<+H(i,o).toFixed(2)||d>+$(i,o).toFixed(2)||p<+H(e,r).toFixed(2)||p>+$(e,r).toFixed(2)||p<+H(a,s).toFixed(2)||p>+$(a,s).toFixed(2)))return{x:h,y:f}}}}function f(t,e,r){var i=n.bezierBBox(t),a=n.bezierBBox(e);if(!n.isBBoxIntersect(i,a))return r?0:[];for(var o=c.apply(0,t),s=c.apply(0,e),l=$(~~(o/5),1),u=$(~~(s/5),1),f=[],d=[],p={},g=r?0:[],m=0;l+1>m;m++){var v=n.findDotsAtSegment.apply(n,t.concat(m/l));f.push({x:v.x,y:v.y,t:m/l})}for(m=0;u+1>m;m++)v=n.findDotsAtSegment.apply(n,e.concat(m/u)),d.push({x:v.x,y:v.y,t:m/u});for(m=0;l>m;m++)for(var y=0;u>y;y++){var x=f[m],b=f[m+1],w=d[y],_=d[y+1],S=U(b.x-x.x)<.001?"y":"x",C=U(_.x-w.x)<.001?"y":"x",E=h(x.x,x.y,b.x,b.y,w.x,w.y,_.x,_.y);if(E){if(p[E.x.toFixed(4)]==E.y.toFixed(4))continue;p[E.x.toFixed(4)]=E.y.toFixed(4);var k=x.t+U((E[S]-x[S])/(b[S]-x[S]))*(b.t-x.t),T=w.t+U((E[C]-w[C])/(_[C]-w[C]))*(_.t-w.t);k>=0&&1.001>=k&&T>=0&&1.001>=T&&(r?g++:g.push({x:E.x,y:E.y,t1:H(k,1),t2:H(T,1)}))}}return g}function d(t,e,r){t=n._path2curve(t),e=n._path2curve(e);for(var i,a,o,s,l,c,u,h,d,p,g=r?0:[],m=0,v=t.length;v>m;m++){var y=t[m];if("M"==y[0])i=l=y[1],a=c=y[2];else{"C"==y[0]?(d=[i,a].concat(y.slice(1)),i=d[6],a=d[7]):(d=[i,a,i,a,l,c,l,c],i=l,a=c);for(var x=0,b=e.length;b>x;x++){var w=e[x];if("M"==w[0])o=u=w[1],s=h=w[2];else{"C"==w[0]?(p=[o,s].concat(w.slice(1)),o=p[6],s=p[7]):(p=[o,s,o,s,u,h,u,h],o=u,s=h);var _=f(d,p,r);if(r)g+=_;else{for(var S=0,C=_.length;C>S;S++)_[S].segment1=m,_[S].segment2=x,_[S].bez1=d,_[S].bez2=p;g=g.concat(_)}}}}}return g}function p(t,e,n,r,i,a){null!=t?(this.a=+t,this.b=+e,this.c=+n,this.d=+r,this.e=+i,this.f=+a):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function g(){return this.x+L+this.y+L+this.width+" × "+this.height}function m(t,e,n,r,i,a){function o(t){return((h*t+u)*t+c)*t}function s(t,e){var n=l(t,e);return((p*n+d)*n+f)*n}function l(t,e){var n,r,i,a,s,l;for(i=t,l=0;8>l;l++){if(a=o(i)-t,U(a)i)return n;if(i>r)return r;for(;r>n;){if(a=o(i),U(a-t)a?n=i:r=i,i=(r-n)/2+n}return i}var c=3*e,u=3*(r-e)-c,h=1-c-u,f=3*n,d=3*(i-n)-f,p=1-f-d;return s(t,1/(200*a))}function v(t,e){var n=[],r={};if(this.ms=e,this.times=1,t){for(var i in t)t[E](i)&&(r[Z(i)]=t[i],n.push(Z(i)));n.sort(ht)}this.anim=r,this.top=n[n.length-1],this.percents=n}function y(t,r,i,a,o,s){i=Z(i);var l,c,u,h,f,d,g=t.ms,v={},y={},x={};if(a)for(w=0,S=le.length;S>w;w++){var b=le[w];if(b.el.id==r.id&&b.anim==t){b.percent!=i?(le.splice(w,1),u=1):c=b,r.attr(b.totalOrigin);break}}else a=+y;for(var w=0,S=t.percents.length;S>w;w++){if(t.percents[w]==i||t.percents[w]>a*t.top){i=t.percents[w],f=t.percents[w-1]||0,g=g/t.top*(i-f),h=t.percents[w+1],l=t.anim[i];break}a&&r.attr(t.anim[t.percents[w]])}if(l){if(c)c.initstatus=a,c.start=new Date-c.ms*a;else{for(var C in l)if(l[E](C)&&(rt[E](C)||r.paper.customAttributes[E](C)))switch(v[C]=r.attr(C),null==v[C]&&(v[C]=nt[C]),y[C]=l[C],rt[C]){case z:x[C]=(y[C]-v[C])/g;break;case"colour":v[C]=n.getRGB(v[C]);var k=n.getRGB(y[C]);x[C]={r:(k.r-v[C].r)/g,g:(k.g-v[C].g)/g,b:(k.b-v[C].b)/g};break;case"path":var T=Ft(v[C],y[C]),I=T[1];for(v[C]=T[0],x[C]=[],w=0,S=v[C].length;S>w;w++){x[C][w]=[0];for(var N=1,A=v[C][w].length;A>N;N++)x[C][w][N]=(I[w][N]-v[C][w][N])/g}break;case"transform":var M=r._,L=Ht(M[C],y[C]);if(L)for(v[C]=L.from,y[C]=L.to,x[C]=[],x[C].real=!0,w=0,S=v[C].length;S>w;w++)for(x[C][w]=[v[C][w][0]],N=1,A=v[C][w].length;A>N;N++)x[C][w][N]=(y[C][w][N]-v[C][w][N])/g;else{var F=r.matrix||new p,P={_:{transform:M.transform},getBBox:function(){return r.getBBox(1)}};v[C]=[F.a,F.b,F.c,F.d,F.e,F.f],jt(P,y[C]),y[C]=P._.transform,x[C]=[(P.matrix.a-F.a)/g,(P.matrix.b-F.b)/g,(P.matrix.c-F.c)/g,(P.matrix.d-F.d)/g,(P.matrix.e-F.e)/g,(P.matrix.f-F.f)/g]}break;case"csv":var B=O(l[C])[D](_),j=O(v[C])[D](_);if("clip-rect"==C)for(v[C]=j,x[C]=[],w=j.length;w--;)x[C][w]=(B[w]-v[C][w])/g;y[C]=B;break;default:for(B=[][R](l[C]),j=[][R](v[C]),x[C]=[],w=r.paper.customAttributes[C].length;w--;)x[C][w]=((B[w]||0)-(j[w]||0))/g}var $=l.easing,H=n.easing_formulas[$];if(!H)if(H=O($).match(Q),H&&5==H.length){var U=H;H=function(t){return m(t,+U[1],+U[2],+U[3],+U[4],g)}}else H=dt;if(d=l.start||t.start||+new Date,b={anim:t,percent:i,timestamp:d,start:d+(t.del||0),status:0,initstatus:a||0,stop:!1,ms:g,easing:H,from:v,diff:x,to:y,el:r,callback:l.callback,prev:f,next:h,repeat:s||t.times,origin:r.attr(),totalOrigin:o},le.push(b),a&&!c&&!u&&(b.stop=!0,b.start=new Date-g*a,1==le.length))return ue();u&&(b.start=new Date-b.ms*a),1==le.length&&ce(ue)}e("raphael.anim.start."+r.id,r,t)}}function x(t){for(var e=0;ei;i++)for(l=t[i],a=1,s=l.length;s>a;a+=2)n=e.x(l[a],l[a+1]),r=e.y(l[a],l[a+1]),l[a]=n,l[a+1]=r;return t};if(n._g=k,n.type=k.win.SVGAngle||k.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML","VML"==n.type){var yt,xt=k.doc.createElement("div");if(xt.innerHTML='',yt=xt.firstChild,yt.style.behavior="url(#default#VML)",!yt||"object"!=typeof yt.adj)return n.type=M;xt=null}n.svg=!(n.vml="VML"==n.type),n._Paper=I,n.fn=w=I.prototype=n.prototype,n._id=0,n._oid=0,n.is=function(t,e){return e=B.call(e),"finite"==e?!J[E](+t):"array"==e?t instanceof Array:"null"==e&&null===t||e==typeof t&&null!==t||"object"==e&&t===Object(t)||"array"==e&&Array.isArray&&Array.isArray(t)||V.call(t).slice(8,-1).toLowerCase()==e},n.angle=function(t,e,r,i,a,o){if(null==a){var s=t-r,l=e-i;return s||l?(180+180*j.atan2(-l,-s)/G+360)%360:0}return n.angle(t,e,a,o)-n.angle(r,i,a,o)},n.rad=function(t){return t%360*G/180},n.deg=function(t){return 180*t/G%360},n.snapTo=function(t,e,r){if(r=n.is(r,"finite")?r:10,n.is(t,X)){for(var i=t.length;i--;)if(U(t[i]-e)<=r)return t[i]}else{t=+t;var a=e%t;if(r>a)return e-a;if(a>t-r)return e-a+t}return e},n.createUUID=function(t,e){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e).toUpperCase()}}(/[xy]/g,function(t){var e=16*j.random()|0,n="x"==t?e:3&e|8;return n.toString(16)}),n.setWindow=function(t){e("raphael.setWindow",n,k.win,t),k.win=t,k.doc=k.win.document,n._engine.initWin&&n._engine.initWin(k.win)};var bt=function(t){if(n.vml){var e,r=/^\s+|\s+$/g;try{var i=new ActiveXObject("htmlfile");i.write(""),i.close(),e=i.body}catch(o){e=createPopup().document.body}var s=e.createTextRange();bt=a(function(t){try{e.style.color=O(t).replace(r,M);var n=s.queryCommandValue("ForeColor");return n=(255&n)<<16|65280&n|(16711680&n)>>>16,"#"+("000000"+n.toString(16)).slice(-6)}catch(i){return"none"}})}else{var l=k.doc.createElement("i");l.title="Raphaël Colour Picker",l.style.display="none",k.doc.body.appendChild(l),bt=a(function(t){return l.style.color=t,k.doc.defaultView.getComputedStyle(l,M).getPropertyValue("color")})}return bt(t)},wt=function(){return"hsb("+[this.h,this.s,this.b]+")"},_t=function(){return"hsl("+[this.h,this.s,this.l]+")"},St=function(){return this.hex},Ct=function(t,e,r){if(null==e&&n.is(t,"object")&&"r"in t&&"g"in t&&"b"in t&&(r=t.b,e=t.g,t=t.r),null==e&&n.is(t,W)){var i=n.getRGB(t);t=i.r,e=i.g,r=i.b}return(t>1||e>1||r>1)&&(t/=255,e/=255,r/=255),[t,e,r]},Et=function(t,e,r,i){t*=255,e*=255,r*=255;var a={r:t,g:e,b:r,hex:n.rgb(t,e,r),toString:St};return n.is(i,"finite")&&(a.opacity=i),a};n.color=function(t){var e;return n.is(t,"object")&&"h"in t&&"s"in t&&"b"in t?(e=n.hsb2rgb(t),t.r=e.r,t.g=e.g,t.b=e.b,t.hex=e.hex):n.is(t,"object")&&"h"in t&&"s"in t&&"l"in t?(e=n.hsl2rgb(t),t.r=e.r,t.g=e.g,t.b=e.b,t.hex=e.hex):(n.is(t,"string")&&(t=n.getRGB(t)),n.is(t,"object")&&"r"in t&&"g"in t&&"b"in t?(e=n.rgb2hsl(t),t.h=e.h,t.s=e.s,t.l=e.l,e=n.rgb2hsb(t),t.v=e.b):(t={hex:"none"},t.r=t.g=t.b=t.h=t.s=t.v=t.l=-1)),t.toString=St,t},n.hsb2rgb=function(t,e,n,r){this.is(t,"object")&&"h"in t&&"s"in t&&"b"in t&&(n=t.b,e=t.s,t=t.h,r=t.o),t*=360;var i,a,o,s,l;return t=t%360/60,l=n*e,s=l*(1-U(t%2-1)),i=a=o=n-l,t=~~t,i+=[l,s,0,0,s,l][t],a+=[s,l,l,s,0,0][t],o+=[0,0,s,l,l,s][t],Et(i,a,o,r)},n.hsl2rgb=function(t,e,n,r){this.is(t,"object")&&"h"in t&&"s"in t&&"l"in t&&(n=t.l,e=t.s,t=t.h),(t>1||e>1||n>1)&&(t/=360,e/=100,n/=100),t*=360;var i,a,o,s,l;return t=t%360/60,l=2*e*(.5>n?n:1-n),s=l*(1-U(t%2-1)),i=a=o=n-l/2,t=~~t,i+=[l,s,0,0,s,l][t],a+=[s,l,l,s,0,0][t],o+=[0,0,s,l,l,s][t],Et(i,a,o,r)},n.rgb2hsb=function(t,e,n){n=Ct(t,e,n),t=n[0],e=n[1],n=n[2];var r,i,a,o;return a=$(t,e,n),o=a-H(t,e,n),r=0==o?null:a==t?(e-n)/o:a==e?(n-t)/o+2:(t-e)/o+4,r=(r+360)%6*60/360,i=0==o?0:o/a,{h:r,s:i,b:a,toString:wt}},n.rgb2hsl=function(t,e,n){n=Ct(t,e,n),t=n[0],e=n[1],n=n[2];var r,i,a,o,s,l;return o=$(t,e,n),s=H(t,e,n),l=o-s,r=0==l?null:o==t?(e-n)/l:o==e?(n-t)/l+2:(t-e)/l+4,r=(r+360)%6*60/360,a=(o+s)/2,i=0==l?0:.5>a?l/(2*a):l/(2-2*a),{h:r,s:i,l:a,toString:_t}},n._path2string=function(){return this.join(",").replace(ot,"$1")},n._preload=function(t,e){var n=k.doc.createElement("img");n.style.cssText="position:absolute;left:-9999em;top:-9999em",n.onload=function(){e.call(this),this.onload=null,k.doc.body.removeChild(this)},n.onerror=function(){k.doc.body.removeChild(this)},k.doc.body.appendChild(n),n.src=t},n.getRGB=a(function(t){if(!t||(t=O(t)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:o};if("none"==t)return{r:-1,g:-1,b:-1,hex:"none",toString:o};!(at[E](t.toLowerCase().substring(0,2))||"#"==t.charAt())&&(t=bt(t));var e,r,i,a,s,l,c=t.match(Y);return c?(c[2]&&(i=tt(c[2].substring(5),16),r=tt(c[2].substring(3,5),16),e=tt(c[2].substring(1,3),16)),c[3]&&(i=tt((s=c[3].charAt(3))+s,16),r=tt((s=c[3].charAt(2))+s,16),e=tt((s=c[3].charAt(1))+s,16)),c[4]&&(l=c[4][D](it),e=Z(l[0]),"%"==l[0].slice(-1)&&(e*=2.55),r=Z(l[1]),"%"==l[1].slice(-1)&&(r*=2.55),i=Z(l[2]),"%"==l[2].slice(-1)&&(i*=2.55),"rgba"==c[1].toLowerCase().slice(0,4)&&(a=Z(l[3])),l[3]&&"%"==l[3].slice(-1)&&(a/=100)),c[5]?(l=c[5][D](it),e=Z(l[0]),"%"==l[0].slice(-1)&&(e*=2.55),r=Z(l[1]),"%"==l[1].slice(-1)&&(r*=2.55),i=Z(l[2]),"%"==l[2].slice(-1)&&(i*=2.55),("deg"==l[0].slice(-3)||"°"==l[0].slice(-1))&&(e/=360),"hsba"==c[1].toLowerCase().slice(0,4)&&(a=Z(l[3])),l[3]&&"%"==l[3].slice(-1)&&(a/=100),n.hsb2rgb(e,r,i,a)):c[6]?(l=c[6][D](it),e=Z(l[0]),"%"==l[0].slice(-1)&&(e*=2.55),r=Z(l[1]),"%"==l[1].slice(-1)&&(r*=2.55),i=Z(l[2]),"%"==l[2].slice(-1)&&(i*=2.55),("deg"==l[0].slice(-3)||"°"==l[0].slice(-1))&&(e/=360),"hsla"==c[1].toLowerCase().slice(0,4)&&(a=Z(l[3])),l[3]&&"%"==l[3].slice(-1)&&(a/=100),n.hsl2rgb(e,r,i,a)):(c={r:e,g:r,b:i,toString:o},c.hex="#"+(16777216|i|r<<8|e<<16).toString(16).slice(1),n.is(a,"finite")&&(c.opacity=a),c)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:o}},n),n.hsb=a(function(t,e,r){return n.hsb2rgb(t,e,r).hex}),n.hsl=a(function(t,e,r){return n.hsl2rgb(t,e,r).hex}),n.rgb=a(function(t,e,n){return"#"+(16777216|n|e<<8|t<<16).toString(16).slice(1)}),n.getColor=function(t){var e=this.getColor.start=this.getColor.start||{h:0,s:1,b:t||.75},n=this.hsb2rgb(e.h,e.s,e.b);return e.h+=.075,e.h>1&&(e.h=0,e.s-=.2,e.s<=0&&(this.getColor.start={h:0,s:1,b:e.b})),n.hex},n.getColor.reset=function(){delete this.start},n.parsePathString=function(t){if(!t)return null;var e=kt(t);if(e.arr)return It(e.arr);var r={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},i=[];return n.is(t,X)&&n.is(t[0],X)&&(i=It(t)),i.length||O(t).replace(st,function(t,e,n){var a=[],o=e.toLowerCase();if(n.replace(ct,function(t,e){e&&a.push(+e)}),"m"==o&&a.length>2&&(i.push([e][R](a.splice(0,2))),o="l",e="m"==e?"l":"L"),"r"==o)i.push([e][R](a));else for(;a.length>=r[o]&&(i.push([e][R](a.splice(0,r[o]))),r[o]););}),i.toString=n._path2string,e.arr=It(i),i},n.parseTransformString=a(function(t){if(!t)return null;var e=[];return n.is(t,X)&&n.is(t[0],X)&&(e=It(t)),e.length||O(t).replace(lt,function(t,n,r){var i=[];B.call(n),r.replace(ct,function(t,e){e&&i.push(+e)}),e.push([n][R](i))}),e.toString=n._path2string,e});var kt=function(t){var e=kt.ps=kt.ps||{};return e[t]?e[t].sleep=100:e[t]={sleep:100},setTimeout(function(){for(var n in e)e[E](n)&&n!=t&&(e[n].sleep--,!e[n].sleep&&delete e[n])}),e[t]};n.findDotsAtSegment=function(t,e,n,r,i,a,o,s,l){var c=1-l,u=q(c,3),h=q(c,2),f=l*l,d=f*l,p=u*t+3*h*l*n+3*c*l*l*i+d*o,g=u*e+3*h*l*r+3*c*l*l*a+d*s,m=t+2*l*(n-t)+f*(i-2*n+t),v=e+2*l*(r-e)+f*(a-2*r+e),y=n+2*l*(i-n)+f*(o-2*i+n),x=r+2*l*(a-r)+f*(s-2*a+r),b=c*t+l*n,w=c*e+l*r,_=c*i+l*o,S=c*a+l*s,C=90-180*j.atan2(m-y,v-x)/G;return(m>y||x>v)&&(C+=180),{x:p,y:g,m:{x:m,y:v},n:{x:y,y:x},start:{x:b,y:w},end:{x:_,y:S},alpha:C}},n.bezierBBox=function(t,e,r,i,a,o,s,l){n.is(t,"array")||(t=[t,e,r,i,a,o,s,l]);var c=Dt.apply(null,t);return{x:c.min.x,y:c.min.y,x2:c.max.x,y2:c.max.y,width:c.max.x-c.min.x,height:c.max.y-c.min.y}},n.isPointInsideBBox=function(t,e,n){return e>=t.x&&e<=t.x2&&n>=t.y&&n<=t.y2},n.isBBoxIntersect=function(t,e){var r=n.isPointInsideBBox;return r(e,t.x,t.y)||r(e,t.x2,t.y)||r(e,t.x,t.y2)||r(e,t.x2,t.y2)||r(t,e.x,e.y)||r(t,e.x2,e.y)||r(t,e.x,e.y2)||r(t,e.x2,e.y2)||(t.xe.x||e.xt.x)&&(t.ye.y||e.yt.y)},n.pathIntersection=function(t,e){return d(t,e)},n.pathIntersectionNumber=function(t,e){return d(t,e,1)},n.isPointInsidePath=function(t,e,r){var i=n.pathBBox(t);return n.isPointInsideBBox(i,e,r)&&d(t,[["M",e,r],["H",i.x2+10]],1)%2==1},n._removedFactory=function(t){return function(){e("raphael.log",null,"Raphaël: you are calling to method “"+t+"” of removed object",t)}};var Tt=n.pathBBox=function(t){var e=kt(t);if(e.bbox)return r(e.bbox);if(!t)return{x:0,y:0,width:0,height:0,x2:0,y2:0};t=Ft(t);for(var n,i=0,a=0,o=[],s=[],l=0,c=t.length;c>l;l++)if(n=t[l],"M"==n[0])i=n[1],a=n[2],o.push(i),s.push(a);else{var u=Dt(i,a,n[1],n[2],n[3],n[4],n[5],n[6]);o=o[R](u.min.x,u.max.x),s=s[R](u.min.y,u.max.y),i=n[5],a=n[6]}var h=H[N](0,o),f=H[N](0,s),d=$[N](0,o),p=$[N](0,s),g=d-h,m=p-f,v={x:h,y:f,x2:d,y2:p,width:g,height:m,cx:h+g/2,cy:f+m/2};return e.bbox=r(v),v},It=function(t){var e=r(t);return e.toString=n._path2string,e},Nt=n._pathToRelative=function(t){var e=kt(t);if(e.rel)return It(e.rel);n.is(t,X)&&n.is(t&&t[0],X)||(t=n.parsePathString(t));var r=[],i=0,a=0,o=0,s=0,l=0;"M"==t[0][0]&&(i=t[0][1],a=t[0][2],o=i,s=a,l++,r.push(["M",i,a]));for(var c=l,u=t.length;u>c;c++){var h=r[c]=[],f=t[c];if(f[0]!=B.call(f[0]))switch(h[0]=B.call(f[0]),h[0]){case"a":h[1]=f[1],h[2]=f[2],h[3]=f[3],h[4]=f[4],h[5]=f[5],h[6]=+(f[6]-i).toFixed(3),h[7]=+(f[7]-a).toFixed(3);break;case"v":h[1]=+(f[1]-a).toFixed(3);break;case"m":o=f[1],s=f[2];default:for(var d=1,p=f.length;p>d;d++)h[d]=+(f[d]-(d%2?i:a)).toFixed(3)}else{h=r[c]=[],"m"==f[0]&&(o=f[1]+i,s=f[2]+a);for(var g=0,m=f.length;m>g;g++)r[c][g]=f[g]}var v=r[c].length;switch(r[c][0]){case"z":i=o,a=s;break;case"h":i+=+r[c][v-1];break;case"v":a+=+r[c][v-1];break;default:i+=+r[c][v-2],a+=+r[c][v-1]}}return r.toString=n._path2string,e.rel=It(r),r},Rt=n._pathToAbsolute=function(t){var e=kt(t);if(e.abs)return It(e.abs);if(n.is(t,X)&&n.is(t&&t[0],X)||(t=n.parsePathString(t)),!t||!t.length)return[["M",0,0]];var r=[],i=0,a=0,o=0,l=0,c=0;"M"==t[0][0]&&(i=+t[0][1],a=+t[0][2],o=i,l=a,c++,r[0]=["M",i,a]);for(var u,h,f=3==t.length&&"M"==t[0][0]&&"R"==t[1][0].toUpperCase()&&"Z"==t[2][0].toUpperCase(),d=c,p=t.length;p>d;d++){if(r.push(u=[]),h=t[d],h[0]!=et.call(h[0]))switch(u[0]=et.call(h[0]),u[0]){case"A":u[1]=h[1],u[2]=h[2],u[3]=h[3],u[4]=h[4],u[5]=h[5],u[6]=+(h[6]+i),u[7]=+(h[7]+a);break;case"V":u[1]=+h[1]+a;break;case"H":u[1]=+h[1]+i;break;case"R":for(var g=[i,a][R](h.slice(1)),m=2,v=g.length;v>m;m++)g[m]=+g[m]+i,g[++m]=+g[m]+a;r.pop(),r=r[R](s(g,f));break;case"M":o=+h[1]+i,l=+h[2]+a;default:for(m=1,v=h.length;v>m;m++)u[m]=+h[m]+(m%2?i:a)}else if("R"==h[0])g=[i,a][R](h.slice(1)),r.pop(),r=r[R](s(g,f)),u=["R"][R](h.slice(-2));else for(var y=0,x=h.length;x>y;y++)u[y]=h[y];switch(u[0]){case"Z":i=o,a=l;break;case"H":i=u[1];break;case"V":a=u[1];break;case"M":o=u[u.length-2],l=u[u.length-1];default:i=u[u.length-2],a=u[u.length-1]}}return r.toString=n._path2string,e.abs=It(r),r},At=function(t,e,n,r){return[t,e,n,r,n,r]},Mt=function(t,e,n,r,i,a){var o=1/3,s=2/3;return[o*t+s*n,o*e+s*r,o*i+s*n,o*a+s*r,i,a]},Lt=function(t,e,n,r,i,o,s,l,c,u){var h,f=120*G/180,d=G/180*(+i||0),p=[],g=a(function(t,e,n){var r=t*j.cos(n)-e*j.sin(n),i=t*j.sin(n)+e*j.cos(n);return{x:r,y:i}});if(u)C=u[0],E=u[1],_=u[2],S=u[3];else{h=g(t,e,-d),t=h.x,e=h.y,h=g(l,c,-d),l=h.x,c=h.y;var m=(j.cos(G/180*i), +j.sin(G/180*i),(t-l)/2),v=(e-c)/2,y=m*m/(n*n)+v*v/(r*r);y>1&&(y=j.sqrt(y),n=y*n,r=y*r);var x=n*n,b=r*r,w=(o==s?-1:1)*j.sqrt(U((x*b-x*v*v-b*m*m)/(x*v*v+b*m*m))),_=w*n*v/r+(t+l)/2,S=w*-r*m/n+(e+c)/2,C=j.asin(((e-S)/r).toFixed(9)),E=j.asin(((c-S)/r).toFixed(9));C=_>t?G-C:C,E=_>l?G-E:E,0>C&&(C=2*G+C),0>E&&(E=2*G+E),s&&C>E&&(C-=2*G),!s&&E>C&&(E-=2*G)}var k=E-C;if(U(k)>f){var T=E,I=l,N=c;E=C+f*(s&&E>C?1:-1),l=_+n*j.cos(E),c=S+r*j.sin(E),p=Lt(l,c,n,r,i,0,s,I,N,[E,T,_,S])}k=E-C;var A=j.cos(C),M=j.sin(C),L=j.cos(E),O=j.sin(E),F=j.tan(k/4),P=4/3*n*F,B=4/3*r*F,$=[t,e],H=[t+P*M,e-B*A],q=[l+P*O,c-B*L],z=[l,c];if(H[0]=2*$[0]-H[0],H[1]=2*$[1]-H[1],u)return[H,q,z][R](p);p=[H,q,z][R](p).join()[D](",");for(var W=[],X=0,V=p.length;V>X;X++)W[X]=X%2?g(p[X-1],p[X],d).y:g(p[X],p[X+1],d).x;return W},Ot=function(t,e,n,r,i,a,o,s,l){var c=1-l;return{x:q(c,3)*t+3*q(c,2)*l*n+3*c*l*l*i+q(l,3)*o,y:q(c,3)*e+3*q(c,2)*l*r+3*c*l*l*a+q(l,3)*s}},Dt=a(function(t,e,n,r,i,a,o,s){var l,c=i-2*n+t-(o-2*i+n),u=2*(n-t)-2*(i-n),h=t-n,f=(-u+j.sqrt(u*u-4*c*h))/2/c,d=(-u-j.sqrt(u*u-4*c*h))/2/c,p=[e,s],g=[t,o];return U(f)>"1e12"&&(f=.5),U(d)>"1e12"&&(d=.5),f>0&&1>f&&(l=Ot(t,e,n,r,i,a,o,s,f),g.push(l.x),p.push(l.y)),d>0&&1>d&&(l=Ot(t,e,n,r,i,a,o,s,d),g.push(l.x),p.push(l.y)),c=a-2*r+e-(s-2*a+r),u=2*(r-e)-2*(a-r),h=e-r,f=(-u+j.sqrt(u*u-4*c*h))/2/c,d=(-u-j.sqrt(u*u-4*c*h))/2/c,U(f)>"1e12"&&(f=.5),U(d)>"1e12"&&(d=.5),f>0&&1>f&&(l=Ot(t,e,n,r,i,a,o,s,f),g.push(l.x),p.push(l.y)),d>0&&1>d&&(l=Ot(t,e,n,r,i,a,o,s,d),g.push(l.x),p.push(l.y)),{min:{x:H[N](0,g),y:H[N](0,p)},max:{x:$[N](0,g),y:$[N](0,p)}}}),Ft=n._path2curve=a(function(t,e){var n=!e&&kt(t);if(!e&&n.curve)return It(n.curve);for(var r=Rt(t),i=e&&Rt(e),a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},s=(function(t,e,n){var r,i;if(!t)return["C",e.x,e.y,e.x,e.y,e.x,e.y];switch(!(t[0]in{T:1,Q:1})&&(e.qx=e.qy=null),t[0]){case"M":e.X=t[1],e.Y=t[2];break;case"A":t=["C"][R](Lt[N](0,[e.x,e.y][R](t.slice(1))));break;case"S":"C"==n||"S"==n?(r=2*e.x-e.bx,i=2*e.y-e.by):(r=e.x,i=e.y),t=["C",r,i][R](t.slice(1));break;case"T":"Q"==n||"T"==n?(e.qx=2*e.x-e.qx,e.qy=2*e.y-e.qy):(e.qx=e.x,e.qy=e.y),t=["C"][R](Mt(e.x,e.y,e.qx,e.qy,t[1],t[2]));break;case"Q":e.qx=t[1],e.qy=t[2],t=["C"][R](Mt(e.x,e.y,t[1],t[2],t[3],t[4]));break;case"L":t=["C"][R](At(e.x,e.y,t[1],t[2]));break;case"H":t=["C"][R](At(e.x,e.y,t[1],e.y));break;case"V":t=["C"][R](At(e.x,e.y,e.x,t[1]));break;case"Z":t=["C"][R](At(e.x,e.y,e.X,e.Y))}return t}),l=function(t,e){if(t[e].length>7){t[e].shift();for(var n=t[e];n.length;)t.splice(e++,0,["C"][R](n.splice(0,6)));t.splice(e,1),h=$(r.length,i&&i.length||0)}},c=function(t,e,n,a,o){t&&e&&"M"==t[o][0]&&"M"!=e[o][0]&&(e.splice(o,0,["M",a.x,a.y]),n.bx=0,n.by=0,n.x=t[o][1],n.y=t[o][2],h=$(r.length,i&&i.length||0))},u=0,h=$(r.length,i&&i.length||0);h>u;u++){r[u]=s(r[u],a),l(r,u),i&&(i[u]=s(i[u],o)),i&&l(i,u),c(r,i,a,o,u),c(i,r,o,a,u);var f=r[u],d=i&&i[u],p=f.length,g=i&&d.length;a.x=f[p-2],a.y=f[p-1],a.bx=Z(f[p-4])||a.x,a.by=Z(f[p-3])||a.y,o.bx=i&&(Z(d[g-4])||o.x),o.by=i&&(Z(d[g-3])||o.y),o.x=i&&d[g-2],o.y=i&&d[g-1]}return i||(n.curve=It(r)),i?[r,i]:r},null,It),Pt=(n._parseDots=a(function(t){for(var e=[],r=0,i=t.length;i>r;r++){var a={},o=t[r].match(/^([^:]*):?([\d\.]*)/);if(a.color=n.getRGB(o[1]),a.color.error)return null;a.color=a.color.hex,o[2]&&(a.offset=o[2]+"%"),e.push(a)}for(r=1,i=e.length-1;i>r;r++)if(!e[r].offset){for(var s=Z(e[r-1].offset||0),l=0,c=r+1;i>c;c++)if(e[c].offset){l=e[c].offset;break}l||(l=100,c=i),l=Z(l);for(var u=(l-s)/(c-r+1);c>r;r++)s+=u,e[r].offset=s+"%"}return e}),n._tear=function(t,e){t==e.top&&(e.top=t.prev),t==e.bottom&&(e.bottom=t.next),t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next)}),Bt=(n._tofront=function(t,e){e.top!==t&&(Pt(t,e),t.next=null,t.prev=e.top,e.top.next=t,e.top=t)},n._toback=function(t,e){e.bottom!==t&&(Pt(t,e),t.next=e.bottom,t.prev=null,e.bottom.prev=t,e.bottom=t)},n._insertafter=function(t,e,n){Pt(t,n),e==n.top&&(n.top=t),e.next&&(e.next.prev=t),t.next=e.next,t.prev=e,e.next=t},n._insertbefore=function(t,e,n){Pt(t,n),e==n.bottom&&(n.bottom=t),e.prev&&(e.prev.next=t),t.prev=e.prev,e.prev=t,t.next=e},n.toMatrix=function(t,e){var n=Tt(t),r={_:{transform:M},getBBox:function(){return n}};return jt(r,e),r.matrix}),jt=(n.transformPath=function(t,e){return vt(t,Bt(t,e))},n._extractTransform=function(t,e){if(null==e)return t._.transform;e=O(e).replace(/\.{3}|\u2026/g,t._.transform||M);var r=n.parseTransformString(e),i=0,a=0,o=0,s=1,l=1,c=t._,u=new p;if(c.transform=r||[],r)for(var h=0,f=r.length;f>h;h++){var d,g,m,v,y,x=r[h],b=x.length,w=O(x[0]).toLowerCase(),_=x[0]!=w,S=_?u.invert():0;"t"==w&&3==b?_?(d=S.x(0,0),g=S.y(0,0),m=S.x(x[1],x[2]),v=S.y(x[1],x[2]),u.translate(m-d,v-g)):u.translate(x[1],x[2]):"r"==w?2==b?(y=y||t.getBBox(1),u.rotate(x[1],y.x+y.width/2,y.y+y.height/2),i+=x[1]):4==b&&(_?(m=S.x(x[2],x[3]),v=S.y(x[2],x[3]),u.rotate(x[1],m,v)):u.rotate(x[1],x[2],x[3]),i+=x[1]):"s"==w?2==b||3==b?(y=y||t.getBBox(1),u.scale(x[1],x[b-1],y.x+y.width/2,y.y+y.height/2),s*=x[1],l*=x[b-1]):5==b&&(_?(m=S.x(x[3],x[4]),v=S.y(x[3],x[4]),u.scale(x[1],x[2],m,v)):u.scale(x[1],x[2],x[3],x[4]),s*=x[1],l*=x[2]):"m"==w&&7==b&&u.add(x[1],x[2],x[3],x[4],x[5],x[6]),c.dirtyT=1,t.matrix=u}t.matrix=u,c.sx=s,c.sy=l,c.deg=i,c.dx=a=u.e,c.dy=o=u.f,1==s&&1==l&&!i&&c.bbox?(c.bbox.x+=+a,c.bbox.y+=+o):c.dirtyT=1}),$t=function(t){var e=t[0];switch(e.toLowerCase()){case"t":return[e,0,0];case"m":return[e,1,0,0,1,0,0];case"r":return 4==t.length?[e,0,t[2],t[3]]:[e,0];case"s":return 5==t.length?[e,1,1,t[3],t[4]]:3==t.length?[e,1,1]:[e,1]}},Ht=n._equaliseTransform=function(t,e){e=O(e).replace(/\.{3}|\u2026/g,t),t=n.parseTransformString(t)||[],e=n.parseTransformString(e)||[];for(var r,i,a,o,s=$(t.length,e.length),l=[],c=[],u=0;s>u;u++){if(a=t[u]||$t(e[u]),o=e[u]||$t(a),a[0]!=o[0]||"r"==a[0].toLowerCase()&&(a[2]!=o[2]||a[3]!=o[3])||"s"==a[0].toLowerCase()&&(a[3]!=o[3]||a[4]!=o[4]))return;for(l[u]=[],c[u]=[],r=0,i=$(a.length,o.length);i>r;r++)r in a&&(l[u][r]=a[r]),r in o&&(c[u][r]=o[r])}return{from:l,to:c}};n._getContainer=function(t,e,r,i){var a;return a=null!=i||n.is(t,"object")?t:k.doc.getElementById(t),null!=a?a.tagName?null==e?{container:a,width:a.style.pixelWidth||a.offsetWidth,height:a.style.pixelHeight||a.offsetHeight}:{container:a,width:e,height:r}:{container:1,x:t,y:e,width:r,height:i}:void 0},n.pathToRelative=Nt,n._engine={},n.path2curve=Ft,n.matrix=function(t,e,n,r,i,a){return new p(t,e,n,r,i,a)},function(t){function e(t){return t[0]*t[0]+t[1]*t[1]}function r(t){var n=j.sqrt(e(t));t[0]&&(t[0]/=n),t[1]&&(t[1]/=n)}t.add=function(t,e,n,r,i,a){var o,s,l,c,u=[[],[],[]],h=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],f=[[t,n,i],[e,r,a],[0,0,1]];for(t&&t instanceof p&&(f=[[t.a,t.c,t.e],[t.b,t.d,t.f],[0,0,1]]),o=0;3>o;o++)for(s=0;3>s;s++){for(c=0,l=0;3>l;l++)c+=h[o][l]*f[l][s];u[o][s]=c}this.a=u[0][0],this.b=u[1][0],this.c=u[0][1],this.d=u[1][1],this.e=u[0][2],this.f=u[1][2]},t.invert=function(){var t=this,e=t.a*t.d-t.b*t.c;return new p(t.d/e,-t.b/e,-t.c/e,t.a/e,(t.c*t.f-t.d*t.e)/e,(t.b*t.e-t.a*t.f)/e)},t.clone=function(){return new p(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(t,e){this.add(1,0,0,1,t,e)},t.scale=function(t,e,n,r){null==e&&(e=t),(n||r)&&this.add(1,0,0,1,n,r),this.add(t,0,0,e,0,0),(n||r)&&this.add(1,0,0,1,-n,-r)},t.rotate=function(t,e,r){t=n.rad(t),e=e||0,r=r||0;var i=+j.cos(t).toFixed(9),a=+j.sin(t).toFixed(9);this.add(i,a,-a,i,e,r),this.add(1,0,0,1,-e,-r)},t.x=function(t,e){return t*this.a+e*this.c+this.e},t.y=function(t,e){return t*this.b+e*this.d+this.f},t.get=function(t){return+this[O.fromCharCode(97+t)].toFixed(4)},t.toString=function(){return n.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},t.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var i=[[this.a,this.c],[this.b,this.d]];t.scalex=j.sqrt(e(i[0])),r(i[0]),t.shear=i[0][0]*i[1][0]+i[0][1]*i[1][1],i[1]=[i[1][0]-i[0][0]*t.shear,i[1][1]-i[0][1]*t.shear],t.scaley=j.sqrt(e(i[1])),r(i[1]),t.shear/=t.scaley;var a=-i[0][1],o=i[1][1];return 0>o?(t.rotate=n.deg(j.acos(o)),0>a&&(t.rotate=360-t.rotate)):t.rotate=n.deg(j.asin(a)),t.isSimple=!(+t.shear.toFixed(9)||t.scalex.toFixed(9)!=t.scaley.toFixed(9)&&t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(t){var e=t||this[D]();return e.isSimple?(e.scalex=+e.scalex.toFixed(4),e.scaley=+e.scaley.toFixed(4),e.rotate=+e.rotate.toFixed(4),(e.dx||e.dy?"t"+[e.dx,e.dy]:M)+(1!=e.scalex||1!=e.scaley?"s"+[e.scalex,e.scaley,0,0]:M)+(e.rotate?"r"+[e.rotate,0,0]:M)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(p.prototype);var Ut=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);w.safari="Apple Computer, Inc."==navigator.vendor&&(Ut&&Ut[1]<4||"iP"==navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&Ut&&Ut[1]<8?function(){var t=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){t.remove()})}:ft;for(var qt=function(){this.returnValue=!1},Gt=function(){return this.originalEvent.preventDefault()},zt=function(){this.cancelBubble=!0},Wt=function(){return this.originalEvent.stopPropagation()},Xt=function(t){var e=k.doc.documentElement.scrollTop||k.doc.body.scrollTop,n=k.doc.documentElement.scrollLeft||k.doc.body.scrollLeft;return{x:t.clientX+n,y:t.clientY+e}},Vt=function(){return k.doc.addEventListener?function(t,e,n,r){var i=function(t){var e=Xt(t);return n.call(r,t,e.x,e.y)};if(t.addEventListener(e,i,!1),A&&P[e]){var a=function(e){for(var i=Xt(e),a=e,o=0,s=e.targetTouches&&e.targetTouches.length;s>o;o++)if(e.targetTouches[o].target==t){e=e.targetTouches[o],e.originalEvent=a,e.preventDefault=Gt,e.stopPropagation=Wt;break}return n.call(r,e,i.x,i.y)};t.addEventListener(P[e],a,!1)}return function(){return t.removeEventListener(e,i,!1),A&&P[e]&&t.removeEventListener(P[e],i,!1),!0}}:k.doc.attachEvent?function(t,e,n,r){var i=function(t){t=t||k.win.event;var e=k.doc.documentElement.scrollTop||k.doc.body.scrollTop,i=k.doc.documentElement.scrollLeft||k.doc.body.scrollLeft,a=t.clientX+i,o=t.clientY+e;return t.preventDefault=t.preventDefault||qt,t.stopPropagation=t.stopPropagation||zt,n.call(r,t,a,o)};t.attachEvent("on"+e,i);var a=function(){return t.detachEvent("on"+e,i),!0};return a}:void 0}(),Yt=[],Jt=function(t){for(var n,r=t.clientX,i=t.clientY,a=k.doc.documentElement.scrollTop||k.doc.body.scrollTop,o=k.doc.documentElement.scrollLeft||k.doc.body.scrollLeft,s=Yt.length;s--;){if(n=Yt[s],A&&t.touches){for(var l,c=t.touches.length;c--;)if(l=t.touches[c],l.identifier==n.el._drag.id){r=l.clientX,i=l.clientY,(t.originalEvent?t.originalEvent:t).preventDefault();break}}else t.preventDefault();var u,h=n.el.node,f=h.nextSibling,d=h.parentNode,p=h.style.display;k.win.opera&&d.removeChild(h),h.style.display="none",u=n.el.paper.getElementByPoint(r,i),h.style.display=p,k.win.opera&&(f?d.insertBefore(h,f):d.appendChild(h)),u&&e("raphael.drag.over."+n.el.id,n.el,u),r+=o,i+=a,e("raphael.drag.move."+n.el.id,n.move_scope||n.el,r-n.el._drag.x,i-n.el._drag.y,r,i,t)}},Qt=function(t){n.unmousemove(Jt).unmouseup(Qt);for(var r,i=Yt.length;i--;)r=Yt[i],r.el._drag={},e("raphael.drag.end."+r.el.id,r.end_scope||r.start_scope||r.move_scope||r.el,t);Yt=[]},Kt=n.el={},Zt=F.length;Zt--;)!function(t){n[t]=Kt[t]=function(e,r){return n.is(e,"function")&&(this.events=this.events||[],this.events.push({name:t,f:e,unbind:Vt(this.shape||this.node||k.doc,t,e,r||this)})),this},n["un"+t]=Kt["un"+t]=function(e){for(var r=this.events||[],i=r.length;i--;)r[i].name!=t||!n.is(e,"undefined")&&r[i].f!=e||(r[i].unbind(),r.splice(i,1),!r.length&&delete this.events);return this}}(F[Zt]);Kt.data=function(t,r){var i=ut[this.id]=ut[this.id]||{};if(0==arguments.length)return i;if(1==arguments.length){if(n.is(t,"object")){for(var a in t)t[E](a)&&this.data(a,t[a]);return this}return e("raphael.data.get."+this.id,this,i[t],t),i[t]}return i[t]=r,e("raphael.data.set."+this.id,this,r,t),this},Kt.removeData=function(t){return null==t?ut[this.id]={}:ut[this.id]&&delete ut[this.id][t],this},Kt.getData=function(){return r(ut[this.id]||{})},Kt.hover=function(t,e,n,r){return this.mouseover(t,n).mouseout(e,r||n)},Kt.unhover=function(t,e){return this.unmouseover(t).unmouseout(e)};var te=[];Kt.drag=function(t,r,i,a,o,s){function l(l){(l.originalEvent||l).preventDefault();var c=l.clientX,u=l.clientY,h=k.doc.documentElement.scrollTop||k.doc.body.scrollTop,f=k.doc.documentElement.scrollLeft||k.doc.body.scrollLeft;if(this._drag.id=l.identifier,A&&l.touches)for(var d,p=l.touches.length;p--;)if(d=l.touches[p],this._drag.id=d.identifier,d.identifier==this._drag.id){c=d.clientX,u=d.clientY;break}this._drag.x=c+f,this._drag.y=u+h,!Yt.length&&n.mousemove(Jt).mouseup(Qt),Yt.push({el:this,move_scope:a,start_scope:o,end_scope:s}),r&&e.on("raphael.drag.start."+this.id,r),t&&e.on("raphael.drag.move."+this.id,t),i&&e.on("raphael.drag.end."+this.id,i),e("raphael.drag.start."+this.id,o||a||this,l.clientX+f,l.clientY+h,l)}return this._drag={},te.push({el:this,start:l}),this.mousedown(l),this},Kt.onDragOver=function(t){t?e.on("raphael.drag.over."+this.id,t):e.unbind("raphael.drag.over."+this.id)},Kt.undrag=function(){for(var t=te.length;t--;)te[t].el==this&&(this.unmousedown(te[t].start),te.splice(t,1),e.unbind("raphael.drag.*."+this.id));!te.length&&n.unmousemove(Jt).unmouseup(Qt),Yt=[]},w.circle=function(t,e,r){var i=n._engine.circle(this,t||0,e||0,r||0);return this.__set__&&this.__set__.push(i),i},w.rect=function(t,e,r,i,a){var o=n._engine.rect(this,t||0,e||0,r||0,i||0,a||0);return this.__set__&&this.__set__.push(o),o},w.ellipse=function(t,e,r,i){var a=n._engine.ellipse(this,t||0,e||0,r||0,i||0);return this.__set__&&this.__set__.push(a),a},w.path=function(t){t&&!n.is(t,W)&&!n.is(t[0],X)&&(t+=M);var e=n._engine.path(n.format[N](n,arguments),this);return this.__set__&&this.__set__.push(e),e},w.image=function(t,e,r,i,a){var o=n._engine.image(this,t||"about:blank",e||0,r||0,i||0,a||0);return this.__set__&&this.__set__.push(o),o},w.text=function(t,e,r){var i=n._engine.text(this,t||0,e||0,O(r));return this.__set__&&this.__set__.push(i),i},w.set=function(t){!n.is(t,"array")&&(t=Array.prototype.splice.call(arguments,0,arguments.length));var e=new fe(t);return this.__set__&&this.__set__.push(e),e.paper=this,e.type="set",e},w.setStart=function(t){this.__set__=t||this.set()},w.setFinish=function(){var t=this.__set__;return delete this.__set__,t},w.setSize=function(t,e){return n._engine.setSize.call(this,t,e)},w.setViewBox=function(t,e,r,i,a){return n._engine.setViewBox.call(this,t,e,r,i,a)},w.top=w.bottom=null,w.raphael=n;var ee=function(t){var e=t.getBoundingClientRect(),n=t.ownerDocument,r=n.body,i=n.documentElement,a=i.clientTop||r.clientTop||0,o=i.clientLeft||r.clientLeft||0,s=e.top+(k.win.pageYOffset||i.scrollTop||r.scrollTop)-a,l=e.left+(k.win.pageXOffset||i.scrollLeft||r.scrollLeft)-o;return{y:s,x:l}};w.getElementByPoint=function(t,e){var n=this,r=n.canvas,i=k.doc.elementFromPoint(t,e);if(k.win.opera&&"svg"==i.tagName){var a=ee(r),o=r.createSVGRect();o.x=t-a.x,o.y=e-a.y,o.width=o.height=1;var s=r.getIntersectionList(o,null);s.length&&(i=s[s.length-1])}if(!i)return null;for(;i.parentNode&&i!=r.parentNode&&!i.raphael;)i=i.parentNode;return i==n.canvas.parentNode&&(i=r),i=i&&i.raphael?n.getById(i.raphaelid):null},w.getElementsByBBox=function(t){var e=this.set();return this.forEach(function(r){n.isBBoxIntersect(r.getBBox(),t)&&e.push(r)}),e},w.getById=function(t){for(var e=this.bottom;e;){if(e.id==t)return e;e=e.next}return null},w.forEach=function(t,e){for(var n=this.bottom;n;){if(t.call(e,n)===!1)return this;n=n.next}return this},w.getElementsByPoint=function(t,e){var n=this.set();return this.forEach(function(r){r.isPointInside(t,e)&&n.push(r)}),n},Kt.isPointInside=function(t,e){var r=this.realPath=mt[this.type](this);return this.attr("transform")&&this.attr("transform").length&&(r=n.transformPath(r,this.attr("transform"))),n.isPointInsidePath(r,t,e)},Kt.getBBox=function(t){if(this.removed)return{};var e=this._;return t?((e.dirty||!e.bboxwt)&&(this.realPath=mt[this.type](this),e.bboxwt=Tt(this.realPath),e.bboxwt.toString=g,e.dirty=0),e.bboxwt):((e.dirty||e.dirtyT||!e.bbox)&&((e.dirty||!this.realPath)&&(e.bboxwt=0,this.realPath=mt[this.type](this)),e.bbox=Tt(vt(this.realPath,this.matrix)),e.bbox.toString=g,e.dirty=e.dirtyT=0),e.bbox)},Kt.clone=function(){if(this.removed)return null;var t=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(t),t},Kt.glow=function(t){if("text"==this.type)return null;t=t||{};var e={width:(t.width||10)+(+this.attr("stroke-width")||1),fill:t.fill||!1,opacity:t.opacity||.5,offsetx:t.offsetx||0,offsety:t.offsety||0,color:t.color||"#000"},n=e.width/2,r=this.paper,i=r.set(),a=this.realPath||mt[this.type](this);a=this.matrix?vt(a,this.matrix):a;for(var o=1;n+1>o;o++)i.push(r.path(a).attr({stroke:e.color,fill:e.fill?e.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(e.width/n*o).toFixed(3),opacity:+(e.opacity/n).toFixed(3)}));return i.insertBefore(this).translate(e.offsetx,e.offsety)};var ne=function(t,e,r,i,a,o,s,l,h){return null==h?c(t,e,r,i,a,o,s,l):n.findDotsAtSegment(t,e,r,i,a,o,s,l,u(t,e,r,i,a,o,s,l,h))},re=function(t,e){return function(r,i,a){r=Ft(r);for(var o,s,l,c,u,h="",f={},d=0,p=0,g=r.length;g>p;p++){if(l=r[p],"M"==l[0])o=+l[1],s=+l[2];else{if(c=ne(o,s,l[1],l[2],l[3],l[4],l[5],l[6]),d+c>i){if(e&&!f.start){if(u=ne(o,s,l[1],l[2],l[3],l[4],l[5],l[6],i-d),h+=["C"+u.start.x,u.start.y,u.m.x,u.m.y,u.x,u.y],a)return h;f.start=h,h=["M"+u.x,u.y+"C"+u.n.x,u.n.y,u.end.x,u.end.y,l[5],l[6]].join(),d+=c,o=+l[5],s=+l[6];continue}if(!t&&!e)return u=ne(o,s,l[1],l[2],l[3],l[4],l[5],l[6],i-d),{x:u.x,y:u.y,alpha:u.alpha}}d+=c,o=+l[5],s=+l[6]}h+=l.shift()+l}return f.end=h,u=t?d:e?f:n.findDotsAtSegment(o,s,l[0],l[1],l[2],l[3],l[4],l[5],1),u.alpha&&(u={x:u.x,y:u.y,alpha:u.alpha}),u}},ie=re(1),ae=re(),oe=re(0,1);n.getTotalLength=ie,n.getPointAtLength=ae,n.getSubpath=function(t,e,n){if(this.getTotalLength(t)-n<1e-6)return oe(t,e).end;var r=oe(t,n,1);return e?oe(r,e).end:r},Kt.getTotalLength=function(){var t=this.getPath();return t?this.node.getTotalLength?this.node.getTotalLength():ie(t):void 0},Kt.getPointAtLength=function(t){var e=this.getPath();return e?ae(e,t):void 0},Kt.getPath=function(){var t,e=n._getPath[this.type];return"text"!=this.type&&"set"!=this.type?(e&&(t=e(this)),t):void 0},Kt.getSubpath=function(t,e){var r=this.getPath();return r?n.getSubpath(r,t,e):void 0};var se=n.easing_formulas={linear:function(t){return t},"<":function(t){return q(t,1.7)},">":function(t){return q(t,.48)},"<>":function(t){var e=.48-t/1.04,n=j.sqrt(.1734+e*e),r=n-e,i=q(U(r),1/3)*(0>r?-1:1),a=-n-e,o=q(U(a),1/3)*(0>a?-1:1),s=i+o+.5;return 3*(1-s)*s*s+s*s*s},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){t-=1;var e=1.70158;return t*t*((e+1)*t+e)+1},elastic:function(t){return t==!!t?t:q(2,-10*t)*j.sin(2*(t-.075)*G/.3)+1},bounce:function(t){var e,n=7.5625,r=2.75;return 1/r>t?e=n*t*t:2/r>t?(t-=1.5/r,e=n*t*t+.75):2.5/r>t?(t-=2.25/r,e=n*t*t+.9375):(t-=2.625/r,e=n*t*t+.984375),e}};se.easeIn=se["ease-in"]=se["<"],se.easeOut=se["ease-out"]=se[">"],se.easeInOut=se["ease-in-out"]=se["<>"],se["back-in"]=se.backIn,se["back-out"]=se.backOut;var le=[],ce=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(t){setTimeout(t,16)},ue=function(){for(var t=+new Date,r=0;rs))if(l>s){var m=c(s/l);for(var v in u)if(u[E](v)){switch(rt[v]){case z:a=+u[v]+m*l*h[v];break;case"colour":a="rgb("+[he(K(u[v].r+m*l*h[v].r)),he(K(u[v].g+m*l*h[v].g)),he(K(u[v].b+m*l*h[v].b))].join(",")+")";break;case"path":a=[];for(var x=0,b=u[v].length;b>x;x++){a[x]=[u[v][x][0]];for(var w=1,_=u[v][x].length;_>w;w++)a[x][w]=+u[v][x][w]+m*l*h[v][x][w];a[x]=a[x].join(L)}a=a.join(L);break;case"transform":if(h[v].real)for(a=[],x=0,b=u[v].length;b>x;x++)for(a[x]=[u[v][x][0]],w=1,_=u[v][x].length;_>w;w++)a[x][w]=u[v][x][w]+m*l*h[v][x][w];else{var S=function(t){return+u[v][t]+m*l*h[v][t]};a=[["m",S(0),S(1),S(2),S(3),S(4),S(5)]]}break;case"csv":if("clip-rect"==v)for(a=[],x=4;x--;)a[x]=+u[v][x]+m*l*h[v][x];break;default:var C=[][R](u[v]);for(a=[],x=d.paper.customAttributes[v].length;x--;)a[x]=+C[x]+m*l*h[v][x]}p[v]=a}d.attr(p),function(t,n,r){setTimeout(function(){e("raphael.anim.frame."+t,n,r)})}(d.id,d,i.anim)}else{if(function(t,r,i){setTimeout(function(){e("raphael.anim.frame."+r.id,r,i),e("raphael.anim.finish."+r.id,r,i),n.is(t,"function")&&t.call(r)})}(i.callback,d,i.anim),d.attr(f),le.splice(r--,1),i.repeat>1&&!i.next){for(o in f)f[E](o)&&(g[o]=i.totalOrigin[o]);i.el.attr(g),y(i.anim,i.el,i.anim.percents[0],null,i.totalOrigin,i.repeat-1)}i.next&&!i.stop&&y(i.anim,i.el,i.next,null,i.totalOrigin,i.repeat)}}}n.svg&&d&&d.paper&&d.paper.safari(),le.length&&ce(ue)},he=function(t){return t>255?255:0>t?0:t};Kt.animateWith=function(t,e,r,i,a,o){var s=this;if(s.removed)return o&&o.call(s),s;var l=r instanceof v?r:n.animation(r,i,a,o);y(l,s,l.percents[0],null,s.attr());for(var c=0,u=le.length;u>c;c++)if(le[c].anim==e&&le[c].el==t){le[u-1].start=le[c].start;break}return s},Kt.onAnimation=function(t){return t?e.on("raphael.anim.frame."+this.id,t):e.unbind("raphael.anim.frame."+this.id),this},v.prototype.delay=function(t){var e=new v(this.anim,this.ms);return e.times=this.times,e.del=+t||0,e},v.prototype.repeat=function(t){var e=new v(this.anim,this.ms);return e.del=this.del,e.times=j.floor($(t,0))||1,e},n.animation=function(t,e,r,i){if(t instanceof v)return t;(n.is(r,"function")||!r)&&(i=i||r||null,r=null),t=Object(t),e=+e||0;var a,o,s={};for(o in t)t[E](o)&&Z(o)!=o&&Z(o)+"%"!=o&&(a=!0,s[o]=t[o]);return a?(r&&(s.easing=r),i&&(s.callback=i),new v({100:s},e)):new v(t,e)},Kt.animate=function(t,e,r,i){var a=this;if(a.removed)return i&&i.call(a),a;var o=t instanceof v?t:n.animation(t,e,r,i);return y(o,a,o.percents[0],null,a.attr()),a},Kt.setTime=function(t,e){return t&&null!=e&&this.status(t,H(e,t.ms)/t.ms),this},Kt.status=function(t,e){var n,r,i=[],a=0;if(null!=e)return y(t,this,-1,H(e,1)),this;for(n=le.length;n>a;a++)if(r=le[a],r.el.id==this.id&&(!t||r.anim==t)){if(t)return r.status;i.push({anim:r.anim,status:r.status})}return t?0:i},Kt.pause=function(t){for(var n=0;ne;e++)!t[e]||t[e].constructor!=Kt.constructor&&t[e].constructor!=fe||(this[this.items.length]=this.items[this.items.length]=t[e],this.length++)},de=fe.prototype;de.push=function(){for(var t,e,n=0,r=arguments.length;r>n;n++)t=arguments[n],!t||t.constructor!=Kt.constructor&&t.constructor!=fe||(e=this.items.length,this[e]=this.items[e]=t,this.length++);return this},de.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},de.forEach=function(t,e){for(var n=0,r=this.items.length;r>n;n++)if(t.call(e,this.items[n],n)===!1)return this;return this};for(var pe in Kt)Kt[E](pe)&&(de[pe]=function(t){return function(){var e=arguments;return this.forEach(function(n){n[t][N](n,e)})}}(pe));return de.attr=function(t,e){if(t&&n.is(t,X)&&n.is(t[0],"object"))for(var r=0,i=t.length;i>r;r++)this.items[r].attr(t[r]);else for(var a=0,o=this.items.length;o>a;a++)this.items[a].attr(t,e);return this},de.clear=function(){for(;this.length;)this.pop()},de.splice=function(t,e){t=0>t?$(this.length+t,0):t,e=$(0,H(this.length-t,e));var n,r=[],i=[],a=[];for(n=2;nn;n++)i.push(this[t+n]);for(;nn?a[n]:r[n-o];for(n=this.items.length=this.length-=e-o;this[n];)delete this[n++];return new fe(i)},de.exclude=function(t){for(var e=0,n=this.length;n>e;e++)if(this[e]==t)return this.splice(e,1),!0},de.animate=function(t,e,r,i){(n.is(r,"function")||!r)&&(i=r||null);var a,o,s=this.items.length,l=s,c=this;if(!s)return this;i&&(o=function(){!--s&&i.call(c)}),r=n.is(r,W)?r:o;var u=n.animation(t,e,r,o);for(a=this.items[--l].animate(u);l--;)this.items[l]&&!this.items[l].removed&&this.items[l].animateWith(a,u,u),this.items[l]&&!this.items[l].removed||s--;return this},de.insertAfter=function(t){for(var e=this.items.length;e--;)this.items[e].insertAfter(t);return this},de.getBBox=function(){for(var t=[],e=[],n=[],r=[],i=this.items.length;i--;)if(!this.items[i].removed){var a=this.items[i].getBBox();t.push(a.x),e.push(a.y),n.push(a.x+a.width),r.push(a.y+a.height)}return t=H[N](0,t),e=H[N](0,e),n=$[N](0,n),r=$[N](0,r),{x:t,y:e,x2:n,y2:r,width:n-t,height:r-e}},de.clone=function(t){t=this.paper.set();for(var e=0,n=this.items.length;n>e;e++)t.push(this.items[e].clone());return t},de.toString=function(){return"Raphaël‘s set"},de.glow=function(t){var e=this.paper.set();return this.forEach(function(n){var r=n.glow(t);null!=r&&r.forEach(function(t){e.push(t)})}),e},de.isPointInside=function(t,e){var n=!1;return this.forEach(function(r){return r.isPointInside(t,e)?(console.log("runned"),n=!0,!1):void 0}),n},n.registerFont=function(t){if(!t.face)return t;this.fonts=this.fonts||{};var e={w:t.w,face:{},glyphs:{}},n=t.face["font-family"];for(var r in t.face)t.face[E](r)&&(e.face[r]=t.face[r]);if(this.fonts[n]?this.fonts[n].push(e):this.fonts[n]=[e],!t.svg){e.face["units-per-em"]=tt(t.face["units-per-em"],10);for(var i in t.glyphs)if(t.glyphs[E](i)){var a=t.glyphs[i];if(e.glyphs[i]={w:a.w,k:{},d:a.d&&"M"+a.d.replace(/[mlcxtrv]/g,function(t){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[t]||"M"})+"z"},a.k)for(var o in a.k)a[E](o)&&(e.glyphs[i].k[o]=a.k[o])}}return t},w.getFont=function(t,e,r,i){if(i=i||"normal",r=r||"normal",e=+e||{normal:400,bold:700,lighter:300,bolder:800}[e]||400,n.fonts){var a=n.fonts[t];if(!a){var o=new RegExp("(^|\\s)"+t.replace(/[^\w\d\s+!~.:_-]/g,M)+"(\\s|$)","i");for(var s in n.fonts)if(n.fonts[E](s)&&o.test(s)){a=n.fonts[s];break}}var l;if(a)for(var c=0,u=a.length;u>c&&(l=a[c],l.face["font-weight"]!=e||l.face["font-style"]!=r&&l.face["font-style"]||l.face["font-stretch"]!=i);c++);return l}},w.print=function(t,e,r,i,a,o,s,l){o=o||"middle",s=$(H(s||0,1),-1),l=$(H(l||1,3),1);var c,u=O(r)[D](M),h=0,f=0,d=M;if(n.is(i,"string")&&(i=this.getFont(i)),i){c=(a||16)/i.face["units-per-em"];for(var p=i.face.bbox[D](_),g=+p[0],m=p[3]-p[1],v=0,y=+p[1]+("baseline"==o?m+ +i.face.descent:m/2),x=0,b=u.length;b>x;x++){if("\n"==u[x])h=0,S=0,f=0,v+=m*l;else{var w=f&&i.glyphs[u[x-1]]||{},S=i.glyphs[u[x]];h+=f?(w.w||i.w)+(w.k&&w.k[u[x]]||0)+i.w*s:0,f=1}S&&S.d&&(d+=n.transformPath(S.d,["t",h*c,v*c,"s",c,c,g,y,"t",(t-g)/c,(e-y)/c]))}}return this.path(d).attr({fill:"#000",stroke:"none"})},w.add=function(t){if(n.is(t,"array"))for(var e,r=this.set(),i=0,a=t.length;a>i;i++)e=t[i]||{},S[E](e.type)&&r.push(this[e.type]().attr(e));return r},n.format=function(t,e){var r=n.is(e,X)?[0][R](e):arguments;return t&&n.is(t,W)&&r.length-1&&(t=t.replace(C,function(t,e){return null==r[++e]?M:r[e]})),t||M},n.fullfill=function(){var t=/\{([^\}]+)\}/g,e=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,n=function(t,n,r){var i=r;return n.replace(e,function(t,e,n,r,a){e=e||r,i&&(e in i&&(i=i[e]),"function"==typeof i&&a&&(i=i()))}),i=(null==i||i==r?t:i)+""};return function(e,r){return String(e).replace(t,function(t,e){return n(t,e,r)})}}(),n.ninja=function(){return T.was?k.win.Raphael=T.is:delete Raphael,n},n.st=de,function(t,e,r){function i(){/in/.test(t.readyState)?setTimeout(i,9):n.eve("raphael.DOMload")}null==t.readyState&&t.addEventListener&&(t.addEventListener(e,r=function(){t.removeEventListener(e,r,!1),t.readyState="complete"},!1),t.readyState="loading"),i()}(document,"DOMContentLoaded"),e.on("raphael.DOMload",function(){b=!0}),function(){if(n.svg){var t="hasOwnProperty",e=String,r=parseFloat,i=parseInt,a=Math,o=a.max,s=a.abs,l=a.pow,c=/[, ]+/,u=n.eve,h="",f=" ",d="http://www.w3.org/1999/xlink",p={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},g={};n.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var m=function(r,i){if(i){"string"==typeof r&&(r=m(r));for(var a in i)i[t](a)&&("xlink:"==a.substring(0,6)?r.setAttributeNS(d,a.substring(6),e(i[a])):r.setAttribute(a,e(i[a])))}else r=n._g.doc.createElementNS("http://www.w3.org/2000/svg",r),r.style&&(r.style.webkitTapHighlightColor="rgba(0,0,0,0)");return r},v=function(t,i){var c="linear",u=t.id+i,f=.5,d=.5,p=t.node,g=t.paper,v=p.style,y=n._g.doc.getElementById(u);if(!y){if(i=e(i).replace(n._radial_gradient,function(t,e,n){if(c="radial",e&&n){f=r(e),d=r(n);var i=2*(d>.5)-1;l(f-.5,2)+l(d-.5,2)>.25&&(d=a.sqrt(.25-l(f-.5,2))*i+.5)&&.5!=d&&(d=d.toFixed(5)-1e-5*i)}return h}),i=i.split(/\s*\-\s*/),"linear"==c){var x=i.shift();if(x=-r(x),isNaN(x))return null;var b=[0,0,a.cos(n.rad(x)),a.sin(n.rad(x))],w=1/(o(s(b[2]),s(b[3]))||1);b[2]*=w,b[3]*=w,b[2]<0&&(b[0]=-b[2],b[2]=0),b[3]<0&&(b[1]=-b[3],b[3]=0)}var _=n._parseDots(i);if(!_)return null;if(u=u.replace(/[\(\)\s,\xb0#]/g,"_"),t.gradient&&u!=t.gradient.id&&(g.defs.removeChild(t.gradient),delete t.gradient),!t.gradient){y=m(c+"Gradient",{id:u}),t.gradient=y,m(y,"radial"==c?{fx:f,fy:d}:{x1:b[0],y1:b[1],x2:b[2],y2:b[3],gradientTransform:t.matrix.invert()}),g.defs.appendChild(y);for(var S=0,C=_.length;C>S;S++)y.appendChild(m("stop",{offset:_[S].offset?_[S].offset:S?"100%":"0%","stop-color":_[S].color||"#fff"}))}}return m(p,{fill:"url(#"+u+")",opacity:1,"fill-opacity":1}),v.fill=h,v.opacity=1,v.fillOpacity=1,1},y=function(t){var e=t.getBBox(1);m(t.pattern,{patternTransform:t.matrix.invert()+" translate("+e.x+","+e.y+")"})},x=function(r,i,a){if("path"==r.type){for(var o,s,l,c,u,f=e(i).toLowerCase().split("-"),d=r.paper,v=a?"end":"start",y=r.node,x=r.attrs,b=x["stroke-width"],w=f.length,_="classic",S=3,C=3,E=5;w--;)switch(f[w]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":_=f[w];break;case"wide":C=5;break;case"narrow":C=2;break;case"long":S=5;break;case"short":S=2}if("open"==_?(S+=2,C+=2,E+=2,l=1,c=a?4:1,u={fill:"none",stroke:x.stroke}):(c=l=S/2,u={fill:x.stroke,stroke:"none"}),r._.arrows?a?(r._.arrows.endPath&&g[r._.arrows.endPath]--,r._.arrows.endMarker&&g[r._.arrows.endMarker]--):(r._.arrows.startPath&&g[r._.arrows.startPath]--,r._.arrows.startMarker&&g[r._.arrows.startMarker]--):r._.arrows={},"none"!=_){var k="raphael-marker-"+_,T="raphael-marker-"+v+_+S+C;n._g.doc.getElementById(k)?g[k]++:(d.defs.appendChild(m(m("path"),{ +"stroke-linecap":"round",d:p[_],id:k})),g[k]=1);var I,N=n._g.doc.getElementById(T);N?(g[T]++,I=N.getElementsByTagName("use")[0]):(N=m(m("marker"),{id:T,markerHeight:C,markerWidth:S,orient:"auto",refX:c,refY:C/2}),I=m(m("use"),{"xlink:href":"#"+k,transform:(a?"rotate(180 "+S/2+" "+C/2+") ":h)+"scale("+S/E+","+C/E+")","stroke-width":(1/((S/E+C/E)/2)).toFixed(4)}),N.appendChild(I),d.defs.appendChild(N),g[T]=1),m(I,u);var R=l*("diamond"!=_&&"oval"!=_);a?(o=r._.arrows.startdx*b||0,s=n.getTotalLength(x.path)-R*b):(o=R*b,s=n.getTotalLength(x.path)-(r._.arrows.enddx*b||0)),u={},u["marker-"+v]="url(#"+T+")",(s||o)&&(u.d=n.getSubpath(x.path,o,s)),m(y,u),r._.arrows[v+"Path"]=k,r._.arrows[v+"Marker"]=T,r._.arrows[v+"dx"]=R,r._.arrows[v+"Type"]=_,r._.arrows[v+"String"]=i}else a?(o=r._.arrows.startdx*b||0,s=n.getTotalLength(x.path)-o):(o=0,s=n.getTotalLength(x.path)-(r._.arrows.enddx*b||0)),r._.arrows[v+"Path"]&&m(y,{d:n.getSubpath(x.path,o,s)}),delete r._.arrows[v+"Path"],delete r._.arrows[v+"Marker"],delete r._.arrows[v+"dx"],delete r._.arrows[v+"Type"],delete r._.arrows[v+"String"];for(u in g)if(g[t](u)&&!g[u]){var A=n._g.doc.getElementById(u);A&&A.parentNode.removeChild(A)}}},b={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},w=function(t,n,r){if(n=b[e(n).toLowerCase()]){for(var i=t.attrs["stroke-width"]||"1",a={round:i,square:i,butt:0}[t.attrs["stroke-linecap"]||r["stroke-linecap"]]||0,o=[],s=n.length;s--;)o[s]=n[s]*i+(s%2?1:-1)*a;m(t.node,{"stroke-dasharray":o.join(",")})}},_=function(r,a){var l=r.node,u=r.attrs,f=l.style.visibility;l.style.visibility="hidden";for(var p in a)if(a[t](p)){if(!n._availableAttrs[t](p))continue;var g=a[p];switch(u[p]=g,p){case"blur":r.blur(g);break;case"href":case"title":var b=m("title"),_=n._g.doc.createTextNode(g);b.appendChild(_),l.appendChild(b);break;case"target":var S=l.parentNode;if("a"!=S.tagName.toLowerCase()){var b=m("a");S.insertBefore(b,l),b.appendChild(l),S=b}"target"==p?S.setAttributeNS(d,"show","blank"==g?"new":g):S.setAttributeNS(d,p,g);break;case"cursor":l.style.cursor=g;break;case"transform":r.transform(g);break;case"arrow-start":x(r,g);break;case"arrow-end":x(r,g,1);break;case"clip-rect":var E=e(g).split(c);if(4==E.length){r.clip&&r.clip.parentNode.parentNode.removeChild(r.clip.parentNode);var k=m("clipPath"),T=m("rect");k.id=n.createUUID(),m(T,{x:E[0],y:E[1],width:E[2],height:E[3]}),k.appendChild(T),r.paper.defs.appendChild(k),m(l,{"clip-path":"url(#"+k.id+")"}),r.clip=T}if(!g){var I=l.getAttribute("clip-path");if(I){var N=n._g.doc.getElementById(I.replace(/(^url\(#|\)$)/g,h));N&&N.parentNode.removeChild(N),m(l,{"clip-path":h}),delete r.clip}}break;case"path":"path"==r.type&&(m(l,{d:g?u.path=n._pathToAbsolute(g):"M0,0"}),r._.dirty=1,r._.arrows&&("startString"in r._.arrows&&x(r,r._.arrows.startString),"endString"in r._.arrows&&x(r,r._.arrows.endString,1)));break;case"width":if(l.setAttribute(p,g),r._.dirty=1,!u.fx)break;p="x",g=u.x;case"x":u.fx&&(g=-u.x-(u.width||0));case"rx":if("rx"==p&&"rect"==r.type)break;case"cx":l.setAttribute(p,g),r.pattern&&y(r),r._.dirty=1;break;case"height":if(l.setAttribute(p,g),r._.dirty=1,!u.fy)break;p="y",g=u.y;case"y":u.fy&&(g=-u.y-(u.height||0));case"ry":if("ry"==p&&"rect"==r.type)break;case"cy":l.setAttribute(p,g),r.pattern&&y(r),r._.dirty=1;break;case"r":"rect"==r.type?m(l,{rx:g,ry:g}):l.setAttribute(p,g),r._.dirty=1;break;case"src":"image"==r.type&&l.setAttributeNS(d,"href",g);break;case"stroke-width":(1!=r._.sx||1!=r._.sy)&&(g/=o(s(r._.sx),s(r._.sy))||1),r.paper._vbSize&&(g*=r.paper._vbSize),l.setAttribute(p,g),u["stroke-dasharray"]&&w(r,u["stroke-dasharray"],a),r._.arrows&&("startString"in r._.arrows&&x(r,r._.arrows.startString),"endString"in r._.arrows&&x(r,r._.arrows.endString,1));break;case"stroke-dasharray":w(r,g,a);break;case"fill":var R=e(g).match(n._ISURL);if(R){k=m("pattern");var A=m("image");k.id=n.createUUID(),m(k,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),m(A,{x:0,y:0,"xlink:href":R[1]}),k.appendChild(A),function(t){n._preload(R[1],function(){var e=this.offsetWidth,n=this.offsetHeight;m(t,{width:e,height:n}),m(A,{width:e,height:n}),r.paper.safari()})}(k),r.paper.defs.appendChild(k),m(l,{fill:"url(#"+k.id+")"}),r.pattern=k,r.pattern&&y(r);break}var M=n.getRGB(g);if(M.error){if(("circle"==r.type||"ellipse"==r.type||"r"!=e(g).charAt())&&v(r,g)){if("opacity"in u||"fill-opacity"in u){var L=n._g.doc.getElementById(l.getAttribute("fill").replace(/^url\(#|\)$/g,h));if(L){var O=L.getElementsByTagName("stop");m(O[O.length-1],{"stop-opacity":("opacity"in u?u.opacity:1)*("fill-opacity"in u?u["fill-opacity"]:1)})}}u.gradient=g,u.fill="none";break}}else delete a.gradient,delete u.gradient,!n.is(u.opacity,"undefined")&&n.is(a.opacity,"undefined")&&m(l,{opacity:u.opacity}),!n.is(u["fill-opacity"],"undefined")&&n.is(a["fill-opacity"],"undefined")&&m(l,{"fill-opacity":u["fill-opacity"]});M[t]("opacity")&&m(l,{"fill-opacity":M.opacity>1?M.opacity/100:M.opacity});case"stroke":M=n.getRGB(g),l.setAttribute(p,M.hex),"stroke"==p&&M[t]("opacity")&&m(l,{"stroke-opacity":M.opacity>1?M.opacity/100:M.opacity}),"stroke"==p&&r._.arrows&&("startString"in r._.arrows&&x(r,r._.arrows.startString),"endString"in r._.arrows&&x(r,r._.arrows.endString,1));break;case"gradient":("circle"==r.type||"ellipse"==r.type||"r"!=e(g).charAt())&&v(r,g);break;case"opacity":u.gradient&&!u[t]("stroke-opacity")&&m(l,{"stroke-opacity":g>1?g/100:g});case"fill-opacity":if(u.gradient){L=n._g.doc.getElementById(l.getAttribute("fill").replace(/^url\(#|\)$/g,h)),L&&(O=L.getElementsByTagName("stop"),m(O[O.length-1],{"stop-opacity":g}));break}default:"font-size"==p&&(g=i(g,10)+"px");var D=p.replace(/(\-.)/g,function(t){return t.substring(1).toUpperCase()});l.style[D]=g,r._.dirty=1,l.setAttribute(p,g)}}C(r,a),l.style.visibility=f},S=1.2,C=function(r,a){if("text"==r.type&&(a[t]("text")||a[t]("font")||a[t]("font-size")||a[t]("x")||a[t]("y"))){var o=r.attrs,s=r.node,l=s.firstChild?i(n._g.doc.defaultView.getComputedStyle(s.firstChild,h).getPropertyValue("font-size"),10):10;if(a[t]("text")){for(o.text=a.text;s.firstChild;)s.removeChild(s.firstChild);for(var c,u=e(a.text).split("\n"),f=[],d=0,p=u.length;p>d;d++)c=m("tspan"),d&&m(c,{dy:l*S,x:o.x}),c.appendChild(n._g.doc.createTextNode(u[d])),s.appendChild(c),f[d]=c}else for(f=s.getElementsByTagName("tspan"),d=0,p=f.length;p>d;d++)d?m(f[d],{dy:l*S,x:o.x}):m(f[0],{dy:0});m(s,{x:o.x,y:o.y}),r._.dirty=1;var g=r._getBBox(),v=o.y-(g.y+g.height/2);v&&n.is(v,"finite")&&m(f[0],{dy:v})}},E=function(t,e){this[0]=this.node=t,t.raphael=!0,this.id=n._oid++,t.raphaelid=this.id,this.matrix=n.matrix(),this.realPath=null,this.paper=e,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!e.bottom&&(e.bottom=this),this.prev=e.top,e.top&&(e.top.next=this),e.top=this,this.next=null},k=n.el;E.prototype=k,k.constructor=E,n._engine.path=function(t,e){var n=m("path");e.canvas&&e.canvas.appendChild(n);var r=new E(n,e);return r.type="path",_(r,{fill:"none",stroke:"#000",path:t}),r},k.rotate=function(t,n,i){if(this.removed)return this;if(t=e(t).split(c),t.length-1&&(n=r(t[1]),i=r(t[2])),t=r(t[0]),null==i&&(n=i),null==n||null==i){var a=this.getBBox(1);n=a.x+a.width/2,i=a.y+a.height/2}return this.transform(this._.transform.concat([["r",t,n,i]])),this},k.scale=function(t,n,i,a){if(this.removed)return this;if(t=e(t).split(c),t.length-1&&(n=r(t[1]),i=r(t[2]),a=r(t[3])),t=r(t[0]),null==n&&(n=t),null==a&&(i=a),null==i||null==a)var o=this.getBBox(1);return i=null==i?o.x+o.width/2:i,a=null==a?o.y+o.height/2:a,this.transform(this._.transform.concat([["s",t,n,i,a]])),this},k.translate=function(t,n){return this.removed?this:(t=e(t).split(c),t.length-1&&(n=r(t[1])),t=r(t[0])||0,n=+n||0,this.transform(this._.transform.concat([["t",t,n]])),this)},k.transform=function(e){var r=this._;if(null==e)return r.transform;if(n._extractTransform(this,e),this.clip&&m(this.clip,{transform:this.matrix.invert()}),this.pattern&&y(this),this.node&&m(this.node,{transform:this.matrix}),1!=r.sx||1!=r.sy){var i=this.attrs[t]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":i})}return this},k.hide=function(){return!this.removed&&this.paper.safari(this.node.style.display="none"),this},k.show=function(){return!this.removed&&this.paper.safari(this.node.style.display=""),this},k.remove=function(){if(!this.removed&&this.node.parentNode){var t=this.paper;t.__set__&&t.__set__.exclude(this),u.unbind("raphael.*.*."+this.id),this.gradient&&t.defs.removeChild(this.gradient),n._tear(this,t),"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var e in this)this[e]="function"==typeof this[e]?n._removedFactory(e):null;this.removed=!0}},k._getBBox=function(){if("none"==this.node.style.display){this.show();var t=!0}var e={};try{e=this.node.getBBox()}catch(n){}finally{e=e||{}}return t&&this.hide(),e},k.attr=function(e,r){if(this.removed)return this;if(null==e){var i={};for(var a in this.attrs)this.attrs[t](a)&&(i[a]=this.attrs[a]);return i.gradient&&"none"==i.fill&&(i.fill=i.gradient)&&delete i.gradient,i.transform=this._.transform,i}if(null==r&&n.is(e,"string")){if("fill"==e&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==e)return this._.transform;for(var o=e.split(c),s={},l=0,h=o.length;h>l;l++)e=o[l],s[e]=e in this.attrs?this.attrs[e]:n.is(this.paper.customAttributes[e],"function")?this.paper.customAttributes[e].def:n._availableAttrs[e];return h-1?s:s[o[0]]}if(null==r&&n.is(e,"array")){for(s={},l=0,h=e.length;h>l;l++)s[e[l]]=this.attr(e[l]);return s}if(null!=r){var f={};f[e]=r}else null!=e&&n.is(e,"object")&&(f=e);for(var d in f)u("raphael.attr."+d+"."+this.id,this,f[d]);for(d in this.paper.customAttributes)if(this.paper.customAttributes[t](d)&&f[t](d)&&n.is(this.paper.customAttributes[d],"function")){var p=this.paper.customAttributes[d].apply(this,[].concat(f[d]));this.attrs[d]=f[d];for(var g in p)p[t](g)&&(f[g]=p[g])}return _(this,f),this},k.toFront=function(){if(this.removed)return this;"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var t=this.paper;return t.top!=this&&n._tofront(this,t),this},k.toBack=function(){if(this.removed)return this;var t=this.node.parentNode;return"a"==t.tagName.toLowerCase()?t.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):t.firstChild!=this.node&&t.insertBefore(this.node,this.node.parentNode.firstChild),n._toback(this,this.paper),this.paper,this},k.insertAfter=function(t){if(this.removed)return this;var e=t.node||t[t.length-1].node;return e.nextSibling?e.parentNode.insertBefore(this.node,e.nextSibling):e.parentNode.appendChild(this.node),n._insertafter(this,t,this.paper),this},k.insertBefore=function(t){if(this.removed)return this;var e=t.node||t[0].node;return e.parentNode.insertBefore(this.node,e),n._insertbefore(this,t,this.paper),this},k.blur=function(t){var e=this;if(0!==+t){var r=m("filter"),i=m("feGaussianBlur");e.attrs.blur=t,r.id=n.createUUID(),m(i,{stdDeviation:+t||1.5}),r.appendChild(i),e.paper.defs.appendChild(r),e._blur=r,m(e.node,{filter:"url(#"+r.id+")"})}else e._blur&&(e._blur.parentNode.removeChild(e._blur),delete e._blur,delete e.attrs.blur),e.node.removeAttribute("filter");return e},n._engine.circle=function(t,e,n,r){var i=m("circle");t.canvas&&t.canvas.appendChild(i);var a=new E(i,t);return a.attrs={cx:e,cy:n,r:r,fill:"none",stroke:"#000"},a.type="circle",m(i,a.attrs),a},n._engine.rect=function(t,e,n,r,i,a){var o=m("rect");t.canvas&&t.canvas.appendChild(o);var s=new E(o,t);return s.attrs={x:e,y:n,width:r,height:i,r:a||0,rx:a||0,ry:a||0,fill:"none",stroke:"#000"},s.type="rect",m(o,s.attrs),s},n._engine.ellipse=function(t,e,n,r,i){var a=m("ellipse");t.canvas&&t.canvas.appendChild(a);var o=new E(a,t);return o.attrs={cx:e,cy:n,rx:r,ry:i,fill:"none",stroke:"#000"},o.type="ellipse",m(a,o.attrs),o},n._engine.image=function(t,e,n,r,i,a){var o=m("image");m(o,{x:n,y:r,width:i,height:a,preserveAspectRatio:"none"}),o.setAttributeNS(d,"href",e),t.canvas&&t.canvas.appendChild(o);var s=new E(o,t);return s.attrs={x:n,y:r,width:i,height:a,src:e},s.type="image",s},n._engine.text=function(t,e,r,i){var a=m("text");t.canvas&&t.canvas.appendChild(a);var o=new E(a,t);return o.attrs={x:e,y:r,"text-anchor":"middle",text:i,font:n._availableAttrs.font,stroke:"none",fill:"#000"},o.type="text",_(o,o.attrs),o},n._engine.setSize=function(t,e){return this.width=t||this.width,this.height=e||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},n._engine.create=function(){var t=n._getContainer.apply(0,arguments),e=t&&t.container,r=t.x,i=t.y,a=t.width,o=t.height;if(!e)throw new Error("SVG container not found.");var s,l=m("svg"),c="overflow:hidden;";return r=r||0,i=i||0,a=a||512,o=o||342,m(l,{height:o,version:1.1,width:a,xmlns:"http://www.w3.org/2000/svg"}),1==e?(l.style.cssText=c+"position:absolute;left:"+r+"px;top:"+i+"px",n._g.doc.body.appendChild(l),s=1):(l.style.cssText=c+"position:relative",e.firstChild?e.insertBefore(l,e.firstChild):e.appendChild(l)),e=new n._Paper,e.width=a,e.height=o,e.canvas=l,e.clear(),e._left=e._top=0,s&&(e.renderfix=function(){}),e.renderfix(),e},n._engine.setViewBox=function(t,e,n,r,i){u("raphael.setViewBox",this,this._viewBox,[t,e,n,r,i]);var a,s,l=o(n/this.width,r/this.height),c=this.top,h=i?"meet":"xMinYMin";for(null==t?(this._vbSize&&(l=1),delete this._vbSize,a="0 0 "+this.width+f+this.height):(this._vbSize=l,a=t+f+e+f+n+f+r),m(this.canvas,{viewBox:a,preserveAspectRatio:h});l&&c;)s="stroke-width"in c.attrs?c.attrs["stroke-width"]:1,c.attr({"stroke-width":s}),c._.dirty=1,c._.dirtyT=1,c=c.prev;return this._viewBox=[t,e,n,r,!!i],this},n.prototype.renderfix=function(){var t,e=this.canvas,n=e.style;try{t=e.getScreenCTM()||e.createSVGMatrix()}catch(r){t=e.createSVGMatrix()}var i=-t.e%1,a=-t.f%1;(i||a)&&(i&&(this._left=(this._left+i)%1,n.left=this._left+"px"),a&&(this._top=(this._top+a)%1,n.top=this._top+"px"))},n.prototype.clear=function(){n.eve("raphael.clear",this);for(var t=this.canvas;t.firstChild;)t.removeChild(t.firstChild);this.bottom=this.top=null,(this.desc=m("desc")).appendChild(n._g.doc.createTextNode("Created with Raphaël "+n.version)),t.appendChild(this.desc),t.appendChild(this.defs=m("defs"))},n.prototype.remove=function(){u("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var t in this)this[t]="function"==typeof this[t]?n._removedFactory(t):null};var T=n.st;for(var I in k)k[t](I)&&!T[t](I)&&(T[I]=function(t){return function(){var e=arguments;return this.forEach(function(n){n[t].apply(n,e)})}}(I))}}(),function(){if(n.vml){var t="hasOwnProperty",e=String,r=parseFloat,i=Math,a=i.round,o=i.max,s=i.min,l=i.abs,c="fill",u=/[, ]+/,h=n.eve,f=" progid:DXImageTransform.Microsoft",d=" ",p="",g={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},m=/([clmz]),?([^clmz]*)/gi,v=/ progid:\S+Blur\([^\)]+\)/g,y=/-?[^,\s-]+/g,x="position:absolute;left:0;top:0;width:1px;height:1px",b=21600,w={path:1,rect:1,image:1},_={circle:1,ellipse:1},S=function(t){var r=/[ahqstv]/gi,i=n._pathToAbsolute;if(e(t).match(r)&&(i=n._path2curve),r=/[clmz]/g,i==n._pathToAbsolute&&!e(t).match(r)){var o=e(t).replace(m,function(t,e,n){var r=[],i="m"==e.toLowerCase(),o=g[e];return n.replace(y,function(t){i&&2==r.length&&(o+=r+g["m"==e?"l":"L"],r=[]),r.push(a(t*b))}),o+r});return o}var s,l,c=i(t);o=[];for(var u=0,h=c.length;h>u;u++){s=c[u],l=c[u][0].toLowerCase(),"z"==l&&(l="x");for(var f=1,v=s.length;v>f;f++)l+=a(s[f]*b)+(f!=v-1?",":p);o.push(l)}return o.join(d)},C=function(t,e,r){var i=n.matrix();return i.rotate(-t,.5,.5),{dx:i.x(e,r),dy:i.y(e,r)}},E=function(t,e,n,r,i,a){var o=t._,s=t.matrix,u=o.fillpos,h=t.node,f=h.style,p=1,g="",m=b/e,v=b/n;if(f.visibility="hidden",e&&n){if(h.coordsize=l(m)+d+l(v),f.rotation=a*(0>e*n?-1:1),a){var y=C(a,r,i);r=y.dx,i=y.dy}if(0>e&&(g+="x"),0>n&&(g+=" y")&&(p=-1),f.flip=g,h.coordorigin=r*-m+d+i*-v,u||o.fillsize){var x=h.getElementsByTagName(c);x=x&&x[0],h.removeChild(x),u&&(y=C(a,s.x(u[0],u[1]),s.y(u[0],u[1])),x.position=y.dx*p+d+y.dy*p),o.fillsize&&(x.size=o.fillsize[0]*l(e)+d+o.fillsize[1]*l(n)),h.appendChild(x)}f.visibility="visible"}};n.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var k=function(t,n,r){for(var i=e(n).toLowerCase().split("-"),a=r?"end":"start",o=i.length,s="classic",l="medium",c="medium";o--;)switch(i[o]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":s=i[o];break;case"wide":case"narrow":c=i[o];break;case"long":case"short":l=i[o]}var u=t.node.getElementsByTagName("stroke")[0];u[a+"arrow"]=s,u[a+"arrowlength"]=l,u[a+"arrowwidth"]=c},T=function(i,l){i.attrs=i.attrs||{};var h=i.node,f=i.attrs,g=h.style,m=w[i.type]&&(l.x!=f.x||l.y!=f.y||l.width!=f.width||l.height!=f.height||l.cx!=f.cx||l.cy!=f.cy||l.rx!=f.rx||l.ry!=f.ry||l.r!=f.r),v=_[i.type]&&(f.cx!=l.cx||f.cy!=l.cy||f.r!=l.r||f.rx!=l.rx||f.ry!=l.ry),y=i;for(var x in l)l[t](x)&&(f[x]=l[x]);if(m&&(f.path=n._getPath[i.type](i),i._.dirty=1),l.href&&(h.href=l.href),l.title&&(h.title=l.title),l.target&&(h.target=l.target),l.cursor&&(g.cursor=l.cursor),"blur"in l&&i.blur(l.blur),(l.path&&"path"==i.type||m)&&(h.path=S(~e(f.path).toLowerCase().indexOf("r")?n._pathToAbsolute(f.path):f.path),"image"==i.type&&(i._.fillpos=[f.x,f.y],i._.fillsize=[f.width,f.height],E(i,1,1,0,0,0))),"transform"in l&&i.transform(l.transform),v){var C=+f.cx,T=+f.cy,N=+f.rx||+f.r||0,R=+f.ry||+f.r||0;h.path=n.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",a((C-N)*b),a((T-R)*b),a((C+N)*b),a((T+R)*b),a(C*b)),i._.dirty=1}if("clip-rect"in l){var M=e(l["clip-rect"]).split(u);if(4==M.length){M[2]=+M[2]+ +M[0],M[3]=+M[3]+ +M[1];var L=h.clipRect||n._g.doc.createElement("div"),O=L.style;O.clip=n.format("rect({1}px {2}px {3}px {0}px)",M),h.clipRect||(O.position="absolute",O.top=0,O.left=0,O.width=i.paper.width+"px",O.height=i.paper.height+"px",h.parentNode.insertBefore(L,h),L.appendChild(h),h.clipRect=L)}l["clip-rect"]||h.clipRect&&(h.clipRect.style.clip="auto")}if(i.textpath){var D=i.textpath.style;l.font&&(D.font=l.font),l["font-family"]&&(D.fontFamily='"'+l["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,p)+'"'),l["font-size"]&&(D.fontSize=l["font-size"]),l["font-weight"]&&(D.fontWeight=l["font-weight"]),l["font-style"]&&(D.fontStyle=l["font-style"])}if("arrow-start"in l&&k(y,l["arrow-start"]),"arrow-end"in l&&k(y,l["arrow-end"],1),null!=l.opacity||null!=l["stroke-width"]||null!=l.fill||null!=l.src||null!=l.stroke||null!=l["stroke-width"]||null!=l["stroke-opacity"]||null!=l["fill-opacity"]||null!=l["stroke-dasharray"]||null!=l["stroke-miterlimit"]||null!=l["stroke-linejoin"]||null!=l["stroke-linecap"]){var F=h.getElementsByTagName(c),P=!1;if(F=F&&F[0],!F&&(P=F=A(c)),"image"==i.type&&l.src&&(F.src=l.src),l.fill&&(F.on=!0),(null==F.on||"none"==l.fill||null===l.fill)&&(F.on=!1),F.on&&l.fill){var B=e(l.fill).match(n._ISURL);if(B){F.parentNode==h&&h.removeChild(F),F.rotate=!0,F.src=B[1],F.type="tile";var j=i.getBBox(1);F.position=j.x+d+j.y,i._.fillpos=[j.x,j.y],n._preload(B[1],function(){i._.fillsize=[this.offsetWidth,this.offsetHeight]})}else F.color=n.getRGB(l.fill).hex,F.src=p,F.type="solid",n.getRGB(l.fill).error&&(y.type in{circle:1,ellipse:1}||"r"!=e(l.fill).charAt())&&I(y,l.fill,F)&&(f.fill="none",f.gradient=l.fill,F.rotate=!1)}if("fill-opacity"in l||"opacity"in l){var $=((+f["fill-opacity"]+1||2)-1)*((+f.opacity+1||2)-1)*((+n.getRGB(l.fill).o+1||2)-1);$=s(o($,0),1),F.opacity=$,F.src&&(F.color="none")}h.appendChild(F);var H=h.getElementsByTagName("stroke")&&h.getElementsByTagName("stroke")[0],U=!1;!H&&(U=H=A("stroke")),(l.stroke&&"none"!=l.stroke||l["stroke-width"]||null!=l["stroke-opacity"]||l["stroke-dasharray"]||l["stroke-miterlimit"]||l["stroke-linejoin"]||l["stroke-linecap"])&&(H.on=!0),("none"==l.stroke||null===l.stroke||null==H.on||0==l.stroke||0==l["stroke-width"])&&(H.on=!1);var q=n.getRGB(l.stroke);H.on&&l.stroke&&(H.color=q.hex),$=((+f["stroke-opacity"]+1||2)-1)*((+f.opacity+1||2)-1)*((+q.o+1||2)-1);var G=.75*(r(l["stroke-width"])||1);if($=s(o($,0),1),null==l["stroke-width"]&&(G=f["stroke-width"]),l["stroke-width"]&&(H.weight=G),G&&1>G&&($*=G)&&(H.weight=1),H.opacity=$,l["stroke-linejoin"]&&(H.joinstyle=l["stroke-linejoin"]||"miter"),H.miterlimit=l["stroke-miterlimit"]||8,l["stroke-linecap"]&&(H.endcap="butt"==l["stroke-linecap"]?"flat":"square"==l["stroke-linecap"]?"square":"round"),l["stroke-dasharray"]){var z={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};H.dashstyle=z[t](l["stroke-dasharray"])?z[l["stroke-dasharray"]]:p}U&&h.appendChild(H)}if("text"==y.type){y.paper.canvas.style.display=p;var W=y.paper.span,X=100,V=f.font&&f.font.match(/\d+(?:\.\d*)?(?=px)/);g=W.style,f.font&&(g.font=f.font),f["font-family"]&&(g.fontFamily=f["font-family"]),f["font-weight"]&&(g.fontWeight=f["font-weight"]),f["font-style"]&&(g.fontStyle=f["font-style"]),V=r(f["font-size"]||V&&V[0])||10,g.fontSize=V*X+"px",y.textpath.string&&(W.innerHTML=e(y.textpath.string).replace(/"));var Y=W.getBoundingClientRect();y.W=f.w=(Y.right-Y.left)/X,y.H=f.h=(Y.bottom-Y.top)/X,y.X=f.x,y.Y=f.y+y.H/2,("x"in l||"y"in l)&&(y.path.v=n.format("m{0},{1}l{2},{1}",a(f.x*b),a(f.y*b),a(f.x*b)+1));for(var J=["x","y","text","font","font-family","font-weight","font-style","font-size"],Q=0,K=J.length;K>Q;Q++)if(J[Q]in l){y._.dirty=1;break}switch(f["text-anchor"]){case"start":y.textpath.style["v-text-align"]="left",y.bbx=y.W/2;break;case"end":y.textpath.style["v-text-align"]="right",y.bbx=-y.W/2;break;default:y.textpath.style["v-text-align"]="center",y.bbx=0}y.textpath.style["v-text-kern"]=!0}},I=function(t,a,o){t.attrs=t.attrs||{};var s=(t.attrs,Math.pow),l="linear",c=".5 .5";if(t.attrs.gradient=a,a=e(a).replace(n._radial_gradient,function(t,e,n){return l="radial",e&&n&&(e=r(e),n=r(n),s(e-.5,2)+s(n-.5,2)>.25&&(n=i.sqrt(.25-s(e-.5,2))*(2*(n>.5)-1)+.5),c=e+d+n),p}),a=a.split(/\s*\-\s*/),"linear"==l){var u=a.shift();if(u=-r(u),isNaN(u))return null}var h=n._parseDots(a);if(!h)return null;if(t=t.shape||t.node,h.length){t.removeChild(o),o.on=!0,o.method="none",o.color=h[0].color,o.color2=h[h.length-1].color;for(var f=[],g=0,m=h.length;m>g;g++)h[g].offset&&f.push(h[g].offset+d+h[g].color);o.colors=f.length?f.join():"0% "+o.color,"radial"==l?(o.type="gradientTitle",o.focus="100%",o.focussize="0 0",o.focusposition=c,o.angle=0):(o.type="gradient",o.angle=(270-u)%360),t.appendChild(o)}return 1},N=function(t,e){this[0]=this.node=t,t.raphael=!0,this.id=n._oid++,t.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=e,this.matrix=n.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!e.bottom&&(e.bottom=this),this.prev=e.top,e.top&&(e.top.next=this),e.top=this,this.next=null},R=n.el;N.prototype=R,R.constructor=N,R.transform=function(t){if(null==t)return this._.transform;var r,i=this.paper._viewBoxShift,a=i?"s"+[i.scale,i.scale]+"-1-1t"+[i.dx,i.dy]:p;i&&(r=t=e(t).replace(/\.{3}|\u2026/g,this._.transform||p)),n._extractTransform(this,a+t);var o,s=this.matrix.clone(),l=this.skew,c=this.node,u=~e(this.attrs.fill).indexOf("-"),h=!e(this.attrs.fill).indexOf("url(");if(s.translate(1,1),h||u||"image"==this.type)if(l.matrix="1 0 0 1",l.offset="0 0",o=s.split(),u&&o.noRotation||!o.isSimple){c.style.filter=s.toFilter();var f=this.getBBox(),g=this.getBBox(1),m=f.x-g.x,v=f.y-g.y;c.coordorigin=m*-b+d+v*-b,E(this,1,1,m,v,0)}else c.style.filter=p,E(this,o.scalex,o.scaley,o.dx,o.dy,o.rotate);else c.style.filter=p,l.matrix=e(s),l.offset=s.offset();return r&&(this._.transform=r),this},R.rotate=function(t,n,i){if(this.removed)return this;if(null!=t){if(t=e(t).split(u),t.length-1&&(n=r(t[1]),i=r(t[2])),t=r(t[0]),null==i&&(n=i),null==n||null==i){var a=this.getBBox(1);n=a.x+a.width/2,i=a.y+a.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([["r",t,n,i]])),this}},R.translate=function(t,n){return this.removed?this:(t=e(t).split(u),t.length-1&&(n=r(t[1])),t=r(t[0])||0,n=+n||0,this._.bbox&&(this._.bbox.x+=t,this._.bbox.y+=n),this.transform(this._.transform.concat([["t",t,n]])),this)},R.scale=function(t,n,i,a){if(this.removed)return this;if(t=e(t).split(u),t.length-1&&(n=r(t[1]),i=r(t[2]),a=r(t[3]),isNaN(i)&&(i=null),isNaN(a)&&(a=null)),t=r(t[0]),null==n&&(n=t),null==a&&(i=a),null==i||null==a)var o=this.getBBox(1);return i=null==i?o.x+o.width/2:i,a=null==a?o.y+o.height/2:a,this.transform(this._.transform.concat([["s",t,n,i,a]])),this._.dirtyT=1,this},R.hide=function(){return!this.removed&&(this.node.style.display="none"),this},R.show=function(){return!this.removed&&(this.node.style.display=p),this},R._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},R.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),n.eve.unbind("raphael.*.*."+this.id),n._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var t in this)this[t]="function"==typeof this[t]?n._removedFactory(t):null;this.removed=!0}},R.attr=function(e,r){if(this.removed)return this;if(null==e){var i={};for(var a in this.attrs)this.attrs[t](a)&&(i[a]=this.attrs[a]);return i.gradient&&"none"==i.fill&&(i.fill=i.gradient)&&delete i.gradient,i.transform=this._.transform,i}if(null==r&&n.is(e,"string")){if(e==c&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var o=e.split(u),s={},l=0,f=o.length;f>l;l++)e=o[l],s[e]=e in this.attrs?this.attrs[e]:n.is(this.paper.customAttributes[e],"function")?this.paper.customAttributes[e].def:n._availableAttrs[e];return f-1?s:s[o[0]]}if(this.attrs&&null==r&&n.is(e,"array")){for(s={},l=0,f=e.length;f>l;l++)s[e[l]]=this.attr(e[l]);return s}var d;null!=r&&(d={},d[e]=r),null==r&&n.is(e,"object")&&(d=e);for(var p in d)h("raphael.attr."+p+"."+this.id,this,d[p]);if(d){for(p in this.paper.customAttributes)if(this.paper.customAttributes[t](p)&&d[t](p)&&n.is(this.paper.customAttributes[p],"function")){var g=this.paper.customAttributes[p].apply(this,[].concat(d[p]));this.attrs[p]=d[p];for(var m in g)g[t](m)&&(d[m]=g[m])}d.text&&"text"==this.type&&(this.textpath.string=d.text),T(this,d)}return this},R.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&n._tofront(this,this.paper),this},R.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),n._toback(this,this.paper)),this)},R.insertAfter=function(t){return this.removed?this:(t.constructor==n.st.constructor&&(t=t[t.length-1]),t.node.nextSibling?t.node.parentNode.insertBefore(this.node,t.node.nextSibling):t.node.parentNode.appendChild(this.node),n._insertafter(this,t,this.paper),this)},R.insertBefore=function(t){return this.removed?this:(t.constructor==n.st.constructor&&(t=t[0]),t.node.parentNode.insertBefore(this.node,t.node),n._insertbefore(this,t,this.paper),this)},R.blur=function(t){var e=this.node.runtimeStyle,r=e.filter;return r=r.replace(v,p),0!==+t?(this.attrs.blur=t,e.filter=r+d+f+".Blur(pixelradius="+(+t||1.5)+")",e.margin=n.format("-{0}px 0 0 -{0}px",a(+t||1.5))):(e.filter=r,e.margin=0,delete this.attrs.blur),this},n._engine.path=function(t,e){var n=A("shape");n.style.cssText=x,n.coordsize=b+d+b,n.coordorigin=e.coordorigin;var r=new N(n,e),i={fill:"none",stroke:"#000"};t&&(i.path=t),r.type="path",r.path=[],r.Path=p,T(r,i),e.canvas.appendChild(n);var a=A("skew");return a.on=!0,n.appendChild(a),r.skew=a,r.transform(p),r},n._engine.rect=function(t,e,r,i,a,o){var s=n._rectPath(e,r,i,a,o),l=t.path(s),c=l.attrs;return l.X=c.x=e,l.Y=c.y=r,l.W=c.width=i,l.H=c.height=a,c.r=o,c.path=s,l.type="rect",l},n._engine.ellipse=function(t,e,n,r,i){var a=t.path();return a.attrs,a.X=e-r,a.Y=n-i,a.W=2*r,a.H=2*i,a.type="ellipse",T(a,{cx:e,cy:n,rx:r,ry:i}),a},n._engine.circle=function(t,e,n,r){var i=t.path();return i.attrs,i.X=e-r,i.Y=n-r,i.W=i.H=2*r,i.type="circle",T(i,{cx:e,cy:n,r:r}),i},n._engine.image=function(t,e,r,i,a,o){var s=n._rectPath(r,i,a,o),l=t.path(s).attr({stroke:"none"}),u=l.attrs,h=l.node,f=h.getElementsByTagName(c)[0];return u.src=e,l.X=u.x=r,l.Y=u.y=i,l.W=u.width=a,l.H=u.height=o,u.path=s,l.type="image",f.parentNode==h&&h.removeChild(f),f.rotate=!0,f.src=e,f.type="tile",l._.fillpos=[r,i],l._.fillsize=[a,o],h.appendChild(f),E(l,1,1,0,0,0),l},n._engine.text=function(t,r,i,o){var s=A("shape"),l=A("path"),c=A("textpath");r=r||0,i=i||0,o=o||"",l.v=n.format("m{0},{1}l{2},{1}",a(r*b),a(i*b),a(r*b)+1),l.textpathok=!0,c.string=e(o),c.on=!0,s.style.cssText=x,s.coordsize=b+d+b,s.coordorigin="0 0";var u=new N(s,t),h={fill:"#000",stroke:"none",font:n._availableAttrs.font,text:o};u.shape=s,u.path=l,u.textpath=c,u.type="text",u.attrs.text=e(o),u.attrs.x=r,u.attrs.y=i,u.attrs.w=1,u.attrs.h=1,T(u,h),s.appendChild(c),s.appendChild(l),t.canvas.appendChild(s);var f=A("skew");return f.on=!0,s.appendChild(f),u.skew=f,u.transform(p),u},n._engine.setSize=function(t,e){var r=this.canvas.style;return this.width=t,this.height=e,t==+t&&(t+="px"),e==+e&&(e+="px"),r.width=t,r.height=e,r.clip="rect(0 "+t+" "+e+" 0)",this._viewBox&&n._engine.setViewBox.apply(this,this._viewBox),this},n._engine.setViewBox=function(t,e,r,i,a){n.eve("raphael.setViewBox",this,this._viewBox,[t,e,r,i,a]);var s,l,c=this.width,u=this.height,h=1/o(r/c,i/u);return a&&(s=u/i,l=c/r,c>r*s&&(t-=(c-r*s)/2/s),u>i*l&&(e-=(u-i*l)/2/l)),this._viewBox=[t,e,r,i,!!a],this._viewBoxShift={dx:-t,dy:-e,scale:h},this.forEach(function(t){t.transform("...")}),this};var A;n._engine.initWin=function(t){var e=t.document;e.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!e.namespaces.rvml&&e.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),A=function(t){return e.createElement("')}}catch(n){A=function(t){return e.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},n._engine.initWin(n._g.win),n._engine.create=function(){var t=n._getContainer.apply(0,arguments),e=t.container,r=t.height,i=t.width,a=t.x,o=t.y;if(!e)throw new Error("VML container not found.");var s=new n._Paper,l=s.canvas=n._g.doc.createElement("div"),c=l.style;return a=a||0,o=o||0,i=i||512,r=r||342,s.width=i,s.height=r,i==+i&&(i+="px"),r==+r&&(r+="px"),s.coordsize=1e3*b+d+1e3*b,s.coordorigin="0 0",s.span=n._g.doc.createElement("span"),s.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",l.appendChild(s.span),c.cssText=n.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",i,r),1==e?(n._g.doc.body.appendChild(l),c.left=a+"px",c.top=o+"px",c.position="absolute"):e.firstChild?e.insertBefore(l,e.firstChild):e.appendChild(l),s.renderfix=function(){},s},n.prototype.clear=function(){n.eve("raphael.clear",this),this.canvas.innerHTML=p,this.span=n._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},n.prototype.remove=function(){n.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var t in this)this[t]="function"==typeof this[t]?n._removedFactory(t):null;return!0};var M=n.st;for(var L in R)R[t](L)&&!M[t](L)&&(M[L]=function(t){return function(){var e=arguments;return this.forEach(function(n){ +n[t].apply(n,e)})}}(L))}}(),T.was?k.win.Raphael=n:Raphael=n,n}),function(){function t(){this.title=void 0,this.actors=[],this.signals=[]}function e(t,e){_.extend(this,e),this.name="ParseError",this.message=t||""}t.prototype.getActor=function(e){var n=/^(.+) as (\S+)$/i.exec(e.trim());n?(name=n[1].trim(),e=n[2].trim()):name=e.trim(),name=name.replace(/\\n/gm,"\n");var r,i=this.actors;for(r in i)if(i[r].alias==e)return i[r];return r=i.push(new t.Actor(e,name,i.length)),i[r-1]},t.prototype.setTitle=function(t){this.title=t},t.prototype.addSignal=function(t){this.signals.push(t)},t.Actor=function(t,e,n){this.alias=t,this.name=e,this.index=n},t.Signal=function(t,e,n,r){this.type="Signal",this.actorA=t,this.actorB=n,this.linetype=3&e,this.arrowtype=e>>2&3,this.message=r},t.Signal.prototype.isSelf=function(){return this.actorA.index==this.actorB.index},t.Note=function(t,e,n){if(this.type="Note",this.actor=t,this.placement=e,this.message=n,this.hasManyActors()&&t[0]==t[1])throw new Error("Note should be over two different actors")},t.Note.prototype.hasManyActors=function(){return _.isArray(this.actor)},t.LINETYPE={SOLID:0,DOTTED:1},t.ARROWTYPE={FILLED:0,OPEN:1},t.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2};var n=function(){function e(){this.yy={}}var n={trace:function(){},yy:{},symbols_:{error:2,start:3,document:4,EOF:5,line:6,statement:7,NL:8,participant:9,actor:10,signal:11,note_statement:12,title:13,message:14,note:15,placement:16,over:17,actor_pair:18,",":19,left_of:20,right_of:21,signaltype:22,ACTOR:23,linetype:24,arrowtype:25,LINE:26,DOTLINE:27,ARROW:28,OPENARROW:29,MESSAGE:30,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"NL",9:"participant",13:"title",15:"note",17:"over",19:",",20:"left_of",21:"right_of",23:"ACTOR",26:"LINE",27:"DOTLINE",28:"ARROW",29:"OPENARROW",30:"MESSAGE"},productions_:[0,[3,2],[4,0],[4,2],[6,1],[6,1],[7,2],[7,1],[7,1],[7,2],[12,4],[12,4],[18,1],[18,3],[16,1],[16,1],[11,4],[10,1],[22,2],[22,1],[24,1],[24,1],[25,1],[25,1],[14,1]],performAction:function(e,n,r,i,a,o){var s=o.length-1;switch(a){case 1:return i;case 4:break;case 6:o[s];break;case 7:i.addSignal(o[s]);break;case 8:i.addSignal(o[s]);break;case 9:i.setTitle(o[s]);break;case 10:this.$=new t.Note(o[s-1],o[s-2],o[s]);break;case 11:this.$=new t.Note(o[s-1],t.PLACEMENT.OVER,o[s]);break;case 12:this.$=o[s];break;case 13:this.$=[o[s-2],o[s]];break;case 14:this.$=t.PLACEMENT.LEFTOF;break;case 15:this.$=t.PLACEMENT.RIGHTOF;break;case 16:this.$=new t.Signal(o[s-3],o[s-2],o[s-1],o[s]);break;case 17:this.$=i.getActor(o[s]);break;case 18:this.$=o[s-1]|o[s]<<2;break;case 19:this.$=o[s];break;case 20:this.$=t.LINETYPE.SOLID;break;case 21:this.$=t.LINETYPE.DOTTED;break;case 22:this.$=t.ARROWTYPE.FILLED;break;case 23:this.$=t.ARROWTYPE.OPEN;break;case 24:this.$=o[s].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:2,5:[2,2],8:[2,2],9:[2,2],13:[2,2],15:[2,2],23:[2,2]},{1:[3]},{5:[1,3],6:4,7:5,8:[1,6],9:[1,7],10:11,11:8,12:9,13:[1,10],15:[1,12],23:[1,13]},{1:[2,1]},{5:[2,3],8:[2,3],9:[2,3],13:[2,3],15:[2,3],23:[2,3]},{5:[2,4],8:[2,4],9:[2,4],13:[2,4],15:[2,4],23:[2,4]},{5:[2,5],8:[2,5],9:[2,5],13:[2,5],15:[2,5],23:[2,5]},{10:14,23:[1,13]},{5:[2,7],8:[2,7],9:[2,7],13:[2,7],15:[2,7],23:[2,7]},{5:[2,8],8:[2,8],9:[2,8],13:[2,8],15:[2,8],23:[2,8]},{14:15,30:[1,16]},{22:17,24:18,26:[1,19],27:[1,20]},{16:21,17:[1,22],20:[1,23],21:[1,24]},{5:[2,17],8:[2,17],9:[2,17],13:[2,17],15:[2,17],19:[2,17],23:[2,17],26:[2,17],27:[2,17],30:[2,17]},{5:[2,6],8:[2,6],9:[2,6],13:[2,6],15:[2,6],23:[2,6]},{5:[2,9],8:[2,9],9:[2,9],13:[2,9],15:[2,9],23:[2,9]},{5:[2,24],8:[2,24],9:[2,24],13:[2,24],15:[2,24],23:[2,24]},{10:25,23:[1,13]},{23:[2,19],25:26,28:[1,27],29:[1,28]},{23:[2,20],28:[2,20],29:[2,20]},{23:[2,21],28:[2,21],29:[2,21]},{10:29,23:[1,13]},{10:31,18:30,23:[1,13]},{23:[2,14]},{23:[2,15]},{14:32,30:[1,16]},{23:[2,18]},{23:[2,22]},{23:[2,23]},{14:33,30:[1,16]},{14:34,30:[1,16]},{19:[1,35],30:[2,12]},{5:[2,16],8:[2,16],9:[2,16],13:[2,16],15:[2,16],23:[2,16]},{5:[2,10],8:[2,10],9:[2,10],13:[2,10],15:[2,10],23:[2,10]},{5:[2,11],8:[2,11],9:[2,11],13:[2,11],15:[2,11],23:[2,11]},{10:36,23:[1,13]},{30:[2,13]}],defaultActions:{3:[2,1],23:[2,14],24:[2,15],26:[2,18],27:[2,22],28:[2,23],36:[2,13]},parseError:function(t,e){if(!e.recoverable)throw new Error(t);this.trace(t)},parse:function(t){function e(){var t;return t=n.lexer.lex()||f,"number"!=typeof t&&(t=n.symbols_[t]||t),t}var n=this,r=[0],i=[null],a=[],o=this.table,s="",l=0,c=0,u=0,h=2,f=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var d=this.lexer.yylloc;a.push(d);var p=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var g,m,v,y,x,b,w,_,S,C={};;){if(v=r[r.length-1],this.defaultActions[v]?y=this.defaultActions[v]:((null===g||"undefined"==typeof g)&&(g=e()),y=o[v]&&o[v][g]),"undefined"==typeof y||!y.length||!y[0]){var E="";S=[];for(b in o[v])this.terminals_[b]&&b>h&&S.push("'"+this.terminals_[b]+"'");E=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(l+1)+": Unexpected "+(g==f?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(E,{text:this.lexer.match,token:this.terminals_[g]||g,line:this.lexer.yylineno,loc:d,expected:S})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+g);switch(y[0]){case 1:r.push(g),i.push(this.lexer.yytext),a.push(this.lexer.yylloc),r.push(y[1]),g=null,m?(g=m,m=null):(c=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,d=this.lexer.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[y[1]][1],C.$=i[i.length-w],C._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},p&&(C._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.call(C,s,c,l,this.yy,y[1],i,a),"undefined"!=typeof x)return x;w&&(r=r.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),r.push(this.productions_[y[1]][0]),i.push(C.$),a.push(C._$),_=o[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},r=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(t=this.test_match(n,i[a]),t!==!1)return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?(t=this.test_match(e,i[r]),t!==!1?t:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){var t=this.conditionStack.length-1;return t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return t=this.conditionStack.length-1-Math.abs(t||0),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 8;case 1:break;case 2:break;case 3:return 9;case 4:return 20;case 5:return 21;case 6:return 17;case 7:return 15;case 8:return 13;case 9:return 19;case 10:return 23;case 11:return 27;case 12:return 26;case 13:return 29;case 14:return 28;case 15:return 30;case 16:return 5;case 17:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:participant\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:title\b)/i,/^(?:,)/i,/^(?:[^\->:\n,]+)/i,/^(?:--)/i,/^(?:-)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:[^#\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};return t}();return n.lexer=r,e.prototype=n,n.Parser=e,new e}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=n,exports.Parser=n.Parser,exports.parse=function(){return n.parse.apply(n,arguments)},exports.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var e=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");return exports.parser.parse(e)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1))),e.prototype=new Error,t.ParseError=e,n.parseError=function(t,n){throw new e(t,n)},t.parse=function(e){return n.yy=new t,n.parse(e)},this.Diagram=t}.call(this),define("diagram-grammar",function(){}),function(t){"function"==typeof define&&define.amd?define("Diagram",["raphael"],function(e){return t(e),Diagram}):t(Raphael)}(function(t){function e(t){this.message=t}function n(t,n){if(!t)throw new e(n)}function r(t){return t.x+t.width/2}function i(t){return t.y+t.height/2}var a=10,o=10,s=10,l=5,c=5,u=10,h=5,f=15,d=0,p=5,g=20,m=Diagram.PLACEMENT,v=Diagram.LINETYPE,y=Diagram.ARROWTYPE,x={stroke:"#000","stroke-width":2},b={fill:"#fff"};e.prototype.toString=function(){return"AssertException: "+this.message},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),t.fn.line=function(t,e,r,i){return n(_.all([t,r,e,i],_.isFinite),"x1,x2,y1,y2 must be numeric"),this.path("M{0},{1} L{2},{3}",t,e,r,i)},t.fn.wobble=function(t,e,r,i){n(_.all([t,r,e,i],_.isFinite),"x1,x2,y1,y2 must be numeric");var a=Math.sqrt((r-t)*(r-t)+(i-e)*(i-e))/25,o=Math.random(),s=Math.random(),l=Math.random()>.5?a:-a,c=Math.random()>.5?a:-a,u={x:(r-t)*o+t+l,y:(i-e)*o+e+c},h={x:(r-t)*s+t-l,y:(i-e)*s+e-c};return"C"+u.x+","+u.y+" "+h.x+","+h.y+" "+r+","+i},t.fn.text_bbox=function(t,e){var n;e._obj?n=this.print_center(0,0,t,e._obj,e["font-size"]):(n=this.text(0,0,t),n.attr(e));var r=n.getBBox();return n.remove(),r},t.fn.handRect=function(t,e,r,i){return n(_.all([t,e,r,i],_.isFinite),"x, y, w, h must be numeric"),this.path("M"+t+","+e+this.wobble(t,e,t+r,e)+this.wobble(t+r,e,t+r,e+i)+this.wobble(t+r,e+i,t,e+i)+this.wobble(t,e+i,t,e)).attr(b)},t.fn.handLine=function(t,e,r,i){return n(_.all([t,r,e,i],_.isFinite),"x1,x2,y1,y2 must be numeric"),this.path("M"+t+","+e+this.wobble(t,e,r,i))},t.fn.print_center=function(e,n,r,i,a,o){var s=this.print(e,n,r,i,a,"baseline",o),l=s.getBBox(),c=e-l.x-l.width/2,u=n-l.y-l.height/2,h=new t.matrix;return h.translate(c,u),s.attr("path",t.mapPath(s.attr("path"),h))};var w=function(t){this.init(t)};_.extend(w.prototype,{init:function(t){this.diagram=t,this._paper=void 0,this._font=void 0,this._title=void 0,this._actors_height=0,this._signals_height=0;var e=this.arrow_types={};e[y.FILLED]="block",e[y.OPEN]="open";var n=this.line_types={};n[v.SOLID]="",n[v.DOTTED]="-"},init_paper:function(e){this._paper=new t(e,320,200)},init_font:function(){},draw_line:function(t,e,n,r){return this._paper.line(t,e,n,r)},draw_rect:function(t,e,n,r){return this._paper.rect(t,e,n,r)},draw:function(t){var e=this.diagram;this.init_paper(t),this.init_font(),this.layout();var n=this._title?this._title.height:0;this._paper.setStart(),this._paper.setSize(e.width,e.height);var r=a+n;this.draw_title(),this.draw_actors(r),this.draw_signals(r+this._actors_height),this._paper.setFinish()},layout:function(){function t(t,e,r){n(e>t,"a must be less than or equal to b"),0>t?(e=v[e],e.x=Math.max(r-e.width/2,e.x)):e>=v.length?(t=v[t],t.padding_right=Math.max(r,t.padding_right)):(t=v[t],t.distances[e]=Math.max(r,t.distances[e]?t.distances[e]:0))}var e=this.diagram,r=this._paper,i=this._font,v=e.actors,y=e.signals;if(e.width=0,e.height=0,e.title){var x=this._title={},b=r.text_bbox(e.title,i);x.text_bb=b,x.message=e.title,x.width=b.width+2*(p+d),x.height=b.height+2*(p+d),x.x=a,x.y=a,e.width+=x.width,e.height+=x.height}_.each(v,function(t){var e=r.text_bbox(t.name,i);t.text_bb=e,t.x=0,t.y=0,t.width=e.width+2*(s+o),t.height=e.height+2*(s+o),t.distances=[],t.padding_right=0,this._actors_height=Math.max(t.height,this._actors_height)},this),_.each(y,function(e){var n,a,s=r.text_bbox(e.message,i);e.text_bb=s,e.width=s.width,e.height=s.height;var d=0;if("Signal"==e.type)e.width+=2*(l+c),e.height+=2*(l+c),e.isSelf()?(n=e.actorA.index,a=n+1,e.width+=g):(n=Math.min(e.actorA.index,e.actorB.index),a=Math.max(e.actorA.index,e.actorB.index));else{if("Note"!=e.type)throw new Error("Unhandled signal type:"+e.type);if(e.width+=2*(u+h),e.height+=2*(u+h),d=2*o,e.placement==m.LEFTOF)a=e.actor.index,n=a-1;else if(e.placement==m.RIGHTOF)n=e.actor.index,a=n+1;else if(e.placement==m.OVER&&e.hasManyActors())n=Math.min(e.actor[0].index,e.actor[1].index),a=Math.max(e.actor[0].index,e.actor[1].index),d=-(2*h+2*f);else if(e.placement==m.OVER)return n=e.actor.index,t(n-1,n,e.width/2),t(n,n+1,e.width/2),void(this._signals_height+=e.height)}t(n,a,e.width+d),this._signals_height+=e.height},this);var w=0;return _.each(v,function(t){t.x=Math.max(w,t.x),_.each(t.distances,function(e,n){"undefined"!=typeof e&&(n=v[n],e=Math.max(e,t.width/2,n.width/2),n.x=Math.max(n.x,t.x+t.width/2+e-n.width/2))}),w=t.x+t.width+t.padding_right},this),e.width=Math.max(w,e.width),e.width+=2*a,e.height+=2*a+2*this._actors_height+this._signals_height,this},draw_title:function(){var t=this._title;t&&this.draw_text_box(t,t.message,d,p,this._font)},draw_actors:function(t){var e=t;_.each(this.diagram.actors,function(t){this.draw_actor(t,e,this._actors_height),this.draw_actor(t,e+this._actors_height+this._signals_height,this._actors_height);var n=r(t),i=this.draw_line(n,e+this._actors_height-o,n,e+this._actors_height+o+this._signals_height);i.attr(x)},this)},draw_actor:function(t,e,n){t.y=e,t.height=n,this.draw_text_box(t,t.name,o,s,this._font)},draw_signals:function(t){var e=t;_.each(this.diagram.signals,function(t){"Signal"==t.type?t.isSelf()?this.draw_self_signal(t,e):this.draw_signal(t,e):"Note"==t.type&&this.draw_note(t,e),e+=t.height},this)},draw_self_signal:function(t,e){n(t.isSelf(),"signal must be a self signal");var i=t.text_bb,a=r(t.actorA),o=a+g+c-i.x,s=e+t.height/2;this.draw_text(o,s,t.message,this._font);var u,h=_.extend({},x,{"stroke-dasharray":this.line_types[t.linetype]}),f=e+l,d=f+t.height-l;u=this.draw_line(a,f,a+g,f),u.attr(h),u=this.draw_line(a+g,f,a+g,d),u.attr(h),u=this.draw_line(a+g,d,a,d),h["arrow-end"]=this.arrow_types[t.arrowtype]+"-wide-long",u.attr(h)},draw_signal:function(t,e){var n=r(t.actorA),i=r(t.actorB),a=(i-n)/2+n,o=e+l+2*c;this.draw_text(a,o,t.message,this._font),o=e+t.height-l-c;var s=this.draw_line(n,o,i,o);s.attr(x),s.attr({"arrow-end":this.arrow_types[t.arrowtype]+"-wide-long","stroke-dasharray":this.line_types[t.linetype]})},draw_note:function(t,e){t.y=e;var n=t.hasManyActors()?t.actor[0]:t.actor,i=r(n);switch(t.placement){case m.RIGHTOF:t.x=i+o;break;case m.LEFTOF:t.x=i-o-t.width;break;case m.OVER:if(t.hasManyActors()){var a=r(t.actor[1]),s=f+h;t.x=i-s,t.width=a+s-t.x}else t.x=i-t.width/2;break;default:throw new Error("Unhandled note placement:"+t.placement)}this.draw_text_box(t,t.message,u,h,this._font)},draw_text:function(t,e,n,r){var i,a=this._paper,o=r||{};o._obj?i=a.print_center(t,e,n,o._obj,o["font-size"]):(i=a.text(t,e,n),i.attr(o));var s=i.getBBox(),l=a.rect(s.x,s.y,s.width,s.height);l.attr({fill:"#fff",stroke:"none"}),i.toFront()},draw_text_box:function(t,e,n,a,o){var s=t.x+n,l=t.y+n,c=t.width-2*n,u=t.height-2*n,h=this.draw_rect(s,l,c,u);h.attr(x),s=r(t),l=i(t),this.draw_text(s,l,e,o)}});var S=function(t){this.init(t)};_.extend(S.prototype,w.prototype,{init_font:function(){this._font={"font-size":16,"font-family":"Andale Mono, monospace"}}});var C=function(t){this.init(t)};_.extend(C.prototype,w.prototype,{init_font:function(){this._font={"font-size":16,"font-family":"daniel"},this._font._obj=this._paper.getFont("daniel")},draw_line:function(t,e,n,r){return this._paper.handLine(t,e,n,r)},draw_rect:function(t,e,n,r){return this._paper.handRect(t,e,n,r)}});var E={simple:S,hand:C};Diagram.prototype.drawSVG=function(t,e){var n={theme:"hand"};if(e=_.defaults(e||{},n),!(e.theme in E))throw new Error("Unsupported theme: "+e.theme);var r=new E[e.theme](this);r.draw(t)}}),!function(t,e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd&&define("flow-chart",[],e)}(this,function(){function t(e,n){if(!e||"function"==typeof e)return n;var r={};for(var i in n)r[i]=n[i];for(i in e)e[i]&&(r[i]="object"==typeof r[i]?t(r[i],e[i]):e[i]);return r}function e(t,e){if("function"==typeof Object.create)t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});else{t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}function n(t,e,n){var r,i,a="M{0},{1}";for(r=2,i=2*n.length+2;i>r;r+=2)a+=" L{"+r+"},{"+(r+1)+"}";var o=[e.x,e.y];for(r=0,i=n.length;i>r;r++)o.push(n[r].x),o.push(n[r].y);var s=t.paper.path(a,o);s.attr("stroke",t.options["element-color"]),s.attr("stroke-width",t.options["line-width"]);var l=t.options.font,c=t.options["font-family"],u=t.options["font-weight"];return l&&s.attr({font:l}),c&&s.attr({"font-family":c}),u&&s.attr({"font-weight":u}),s}function r(t,e,n,r){var i,a;"[object Array]"!==Object.prototype.toString.call(n)&&(n=[n]);var o="M{0},{1}";for(i=2,a=2*n.length+2;a>i;i+=2)o+=" L{"+i+"},{"+(i+1)+"}";var s=[e.x,e.y];for(i=0,a=n.length;a>i;i++)s.push(n[i].x),s.push(n[i].y);var l=t.paper.path(o,s);l.attr({stroke:t.options["line-color"],"stroke-width":t.options["line-width"],"arrow-end":t.options["arrow-end"]});var c=t.options.font,u=t.options["font-family"],h=t.options["font-weight"];if(c&&l.attr({font:c}),u&&l.attr({"font-family":u}),h&&l.attr({"font-weight":h}),r){var f=!1,d=t.paper.text(0,0,r),p=!1,g=n[0];e.y===g.y&&(p=!0);var m=0,v=0;f?(m=e.x>g.x?e.x-(e.x-g.x)/2:g.x-(g.x-e.x)/2,v=e.y>g.y?e.y-(e.y-g.y)/2:g.y-(g.y-e.y)/2,p?(m-=d.getBBox().width/2,v-=t.options["text-margin"]):(m+=t.options["text-margin"],v-=d.getBBox().height/2)):(m=e.x,v=e.y,p?(m+=t.options["text-margin"]/2,v-=t.options["text-margin"]):(m+=t.options["text-margin"]/2,v+=t.options["text-margin"])),d.attr({"text-anchor":"start","font-size":t.options["font-size"],fill:t.options["font-color"],x:m,y:v}),c&&d.attr({font:c}),u&&d.attr({"font-family":u}),h&&d.attr({"font-weight":h})}return l}function i(t,e,n,r,i,a,o,s){var l,c,u,h,f,d={x:null,y:null,onLine1:!1,onLine2:!1};return l=(s-a)*(n-t)-(o-i)*(r-e),0===l?d:(c=e-a,u=t-i,h=(o-i)*c-(s-a)*u,f=(n-t)*c-(r-e)*u,c=h/l,u=f/l,d.x=t+c*(n-t),d.y=e+c*(r-e),c>0&&1>c&&(d.onLine1=!0),u>0&&1>u&&(d.onLine2=!0),d)}function a(t,e){e=e||{},this.paper=new Raphael(t),this.options=m.defaults(e,g),this.symbols=[],this.lines=[],this.start=null}function o(t,e,n){this.chart=t,this.group=this.chart.paper.set(),this.symbol=n,this.connectedTo=[],this.symbolType=e.symbolType,this.flowstate=e.flowstate||"future",this.next_direction=e.next&&e.direction_next?e.direction_next:void 0,this.text=this.chart.paper.text(0,0,e.text),e.key&&(this.text.node.id=e.key+"t"),this.text.node.setAttribute("class",this.getAttr("class")+"t"),this.text.attr({"text-anchor":"start",x:this.getAttr("text-margin"),fill:this.getAttr("font-color"),"font-size":this.getAttr("font-size")});var r=this.getAttr("font"),i=this.getAttr("font-family"),a=this.getAttr("font-weight");r&&this.text.attr({font:r}),i&&this.text.attr({"font-family":i}),a&&this.text.attr({"font-weight":a}),e.link&&this.text.attr("href",e.link),e.target&&this.text.attr("target",e.target);var o=this.getAttr("maxWidth");if(o){for(var s=e.text.split(" "),l="",c=0,u=s.length;u>c;c++){var h=s[c];this.text.attr("text",l+" "+h),l+=this.text.getBBox().width>o?"\n"+h:" "+h}this.text.attr("text",l.substring(1))}if(this.group.push(this.text),n){var f=this.getAttr("text-margin");n.attr({fill:this.getAttr("fill"),stroke:this.getAttr("element-color"),"stroke-width":this.getAttr("line-width"),width:this.text.getBBox().width+2*f,height:this.text.getBBox().height+2*f}),n.node.setAttribute("class",this.getAttr("class")),e.link&&n.attr("href",e.link),e.target&&n.attr("target",e.target),e.key&&(n.node.id=e.key),this.group.push(n),n.insertBefore(this.text),this.text.attr({y:n.getBBox().height/2}),this.initialize()}}function s(t,e){var n=t.paper.rect(0,0,0,0,20);e=e||{},e.text=e.text||"Start",o.call(this,t,e,n)}function l(t,e){var n=t.paper.rect(0,0,0,0,20);e=e||{},e.text=e.text||"End",o.call(this,t,e,n)}function c(t,e){var n=t.paper.rect(0,0,0,0);e=e||{},o.call(this,t,e,n)}function u(t,e){var n=t.paper.rect(0,0,0,0);e=e||{},o.call(this,t,e,n),n.attr({width:this.text.getBBox().width+4*this.getAttr("text-margin")}),this.text.attr({x:2*this.getAttr("text-margin")});var r=t.paper.rect(0,0,0,0);r.attr({x:this.getAttr("text-margin"),stroke:this.getAttr("element-color"),"stroke-width":this.getAttr("line-width"),width:this.text.getBBox().width+2*this.getAttr("text-margin"),height:this.text.getBBox().height+2*this.getAttr("text-margin"),fill:this.getAttr("fill")}),e.key&&(r.node.id=e.key+"i");var i=this.getAttr("font"),a=this.getAttr("font-family"),s=this.getAttr("font-weight");i&&r.attr({font:i}),a&&r.attr({"font-family":a}),s&&r.attr({"font-weight":s}),e.link&&r.attr("href",e.link),e.target&&r.attr("target",e.target),this.group.push(r),r.insertBefore(this.text),this.initialize()}function h(t,e){e=e||{},o.call(this,t,e),this.textMargin=this.getAttr("text-margin"),this.text.attr({x:3*this.textMargin});var r=this.text.getBBox().width+4*this.textMargin,i=this.text.getBBox().height+2*this.textMargin,a=this.textMargin,s=i/2,l={x:a,y:s},c=[{x:a-this.textMargin,y:i},{x:a-this.textMargin+r,y:i},{x:a-this.textMargin+r+2*this.textMargin,y:0},{x:a-this.textMargin+2*this.textMargin,y:0},{x:a,y:s}],u=n(t,l,c);u.attr({stroke:this.getAttr("element-color"),"stroke-width":this.getAttr("line-width"),fill:this.getAttr("fill")}),e.link&&u.attr("href",e.link),e.target&&u.attr("target",e.target),e.key&&(u.node.id=e.key),u.node.setAttribute("class",this.getAttr("class")),this.text.attr({y:u.getBBox().height/2}),this.group.push(u),u.insertBefore(this.text),this.initialize()}function f(t,e){e=e||{},o.call(this,t,e),this.textMargin=this.getAttr("text-margin"),this.yes_direction="bottom",this.no_direction="right",e.yes&&e.direction_yes&&e.no&&!e.direction_no?"right"===e.direction_yes?(this.no_direction="bottom",this.yes_direction="right"):(this.no_direction="right",this.yes_direction="bottom"):e.yes&&!e.direction_yes&&e.no&&e.direction_no?"right"===e.direction_no?(this.yes_direction="bottom",this.no_direction="right"):(this.yes_direction="right",this.no_direction="bottom"):(this.yes_direction="bottom",this.no_direction="right"),this.yes_direction=this.yes_direction||"bottom",this.no_direction=this.no_direction||"right",this.text.attr({x:2*this.textMargin});var r=this.text.getBBox().width+3*this.textMargin;r+=r/2;var i=this.text.getBBox().height+2*this.textMargin;i+=i/2,i=Math.max(.5*r,i);var a=r/4,s=i/4;this.text.attr({x:a+this.textMargin/2});var l={x:a,y:s},c=[{x:a-r/4,y:s+i/4},{x:a-r/4+r/2,y:s+i/4+i/2},{x:a-r/4+r,y:s+i/4},{x:a-r/4+r/2,y:s+i/4-i/2},{x:a-r/4,y:s+i/4}],u=n(t,l,c);u.attr({stroke:this.getAttr("element-color"),"stroke-width":this.getAttr("line-width"),fill:this.getAttr("fill")}),e.link&&u.attr("href",e.link),e.target&&u.attr("target",e.target),e.key&&(u.node.id=e.key),u.node.setAttribute("class",this.getAttr("class")),this.text.attr({y:u.getBBox().height/2}),this.group.push(u),u.insertBefore(this.text),this.initialize()}function d(t){function e(t){var e=t.indexOf("(")+1,n=t.indexOf(")");return e>=0&&n>=0?r.symbols[t.substring(0,e-1)]:r.symbols[t]}function n(t){var e="next",n=t.indexOf("(")+1,r=t.indexOf(")");return n>=0&&r>=0&&(e=N.substring(n,r),e.indexOf(",")<0&&"yes"!==e&&"no"!==e&&(e="next, "+e)),e}t=t||"",t=t.trim();for(var r={symbols:{},start:null,drawSVG:function(t,e){function n(t){if(o[t.key])return o[t.key];switch(t.symbolType){case"start":o[t.key]=new s(i,t);break;case"end":o[t.key]=new l(i,t);break;case"operation":o[t.key]=new c(i,t);break;case"inputoutput":o[t.key]=new h(i,t);break;case"subroutine":o[t.key]=new u(i,t);break;case"condition":o[t.key]=new f(i,t);break;default:return new Error("Wrong symbol type!")}return o[t.key]}var r=this;this.diagram&&this.diagram.clean();var i=new a(t,e);this.diagram=i;var o={};!function d(t,e,a){var o=n(t);return r.start===t?i.startWith(o):e&&a&&!e.pathOk&&(e instanceof f?(a.yes===t&&e.yes(o),a.no===t&&e.no(o)):e.then(o)),o.pathOk?o:(o instanceof f?(t.yes&&d(t.yes,o,t),t.no&&d(t.no,o,t)):t.next&&d(t.next,o,t),o)}(this.start),i.render()},clean:function(){this.diagram.clean()}},i=[],o=0,d=1,p=t.length;p>d;d++)if("\n"===t[d]&&"\\"!==t[d-1]){var g=t.substring(o,d);o=d+1,i.push(g.replace(/\\\n/g,"\n"))}om;){var y=i[m];y.indexOf(": ")<0&&y.indexOf("(")<0&&y.indexOf(")")<0&&y.indexOf("->")<0&&y.indexOf("=>")<0?(i[m-1]+="\n"+y,i.splice(m,1),v--):m++}for(;i.length>0;){var x=i.splice(0,1)[0];if(x.indexOf("=>")>=0){var b,w=x.split("=>"),_={key:w[0],symbolType:w[1],text:null,link:null,target:null,flowstate:null};if(_.symbolType.indexOf(": ")>=0&&(b=_.symbolType.split(": "),_.symbolType=b[0],_.text=b[1]),_.text&&_.text.indexOf(":>")>=0?(b=_.text.split(":>"),_.text=b[0],_.link=b[1]):_.symbolType.indexOf(":>")>=0&&(b=_.symbolType.split(":>"),_.symbolType=b[0],_.link=b[1]),_.symbolType.indexOf("\n")>=0&&(_.symbolType=_.symbolType.split("\n")[0]),_.link){var S=_.link.indexOf("[")+1,C=_.link.indexOf("]");S>=0&&C>=0&&(_.target=_.link.substring(S,C),_.link=_.link.substring(0,S-1))}if(_.text&&_.text.indexOf("|")>=0){var E=_.text.split("|");_.text=E[0],_.flowstate=E[1].trim()}r.symbols[_.key]=_}else if(x.indexOf("->")>=0)for(var k=x.split("->"),T=0,I=k.length;I>T;T++){var N=k[T],R=e(N),A=n(N),M=null;if(A.indexOf(",")>=0){var L=A.split(",");A=L[0],M=L[1].trim()}if(r.start||(r.start=R),I>T+1){var O=k[T+1];R[A]=e(O),R["direction_"+A]=M,M=null}}}return r}Array.prototype.indexOf||(Array.prototype.indexOf=function(t){if(null===this)throw new TypeError;var e=Object(this),n=e.length>>>0;if(0===n)return-1;var r=0;if(arguments.length>0&&(r=Number(arguments[1]),r!=r?r=0:0!==r&&1/0!=r&&r!=-1/0&&(r=(r>0||-1)*Math.floor(Math.abs(r)))),r>=n)return-1;for(var i=r>=0?r:Math.max(n-Math.abs(r),0);n>i;i++)if(i in e&&e[i]===t)return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(t){if(null===this)throw new TypeError;var e=Object(this),n=e.length>>>0;if(0===n)return-1;var r=n;arguments.length>1&&(r=Number(arguments[1]),r!=r?r=0:0!==r&&r!=1/0&&r!=-(1/0)&&(r=(r>0||-1)*Math.floor(Math.abs(r))));for(var i=r>=0?Math.min(r,n-1):n-Math.abs(r);i>=0;i--)if(i in e&&e[i]===t)return i;return-1}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var p={},g={x:0,y:0,"line-width":3,"line-length":50,"text-margin":10,"font-size":14,"font-color":"black","line-color":"black","element-color":"black",fill:"white","yes-text":"yes","no-text":"no","arrow-end":"block","class":"flowchart",symbols:{start:{},end:{},condition:{},inputoutput:{},operation:{},subroutine:{}}},m={defaults:t,inherits:e};return a.prototype.handle=function(t){this.symbols.indexOf(t)<=-1&&this.symbols.push(t);var e=this;return t instanceof f?(t.yes=function(n){return t.yes_symbol=n,t.no_symbol&&(t.pathOk=!0),e.handle(n)},t.no=function(n){return t.no_symbol=n,t.yes_symbol&&(t.pathOk=!0),e.handle(n)}):t.then=function(n){return t.next=n,t.pathOk=!0,e.handle(n)},t},a.prototype.startWith=function(t){return this.start=t,this.handle(t)},a.prototype.render=function(){var t,e=0,n=0,r=0,i=0,a=0,o=0;for(r=0,i=this.symbols.length;i>r;r++)t=this.symbols[r],t.width>e&&(e=t.width),t.height>n&&(n=t.height);for(r=0,i=this.symbols.length;i>r;r++)t=this.symbols[r],t.shiftX(this.options.x+(e-t.width)/2+this.options["line-width"]),t.shiftY(this.options.y+(n-t.height)/2+this.options["line-width"]);for(this.start.render(),r=0,i=this.symbols.length;i>r;r++)t=this.symbols[r],t.renderLines();for(a=this.maxXFromLine, +r=0,i=this.symbols.length;i>r;r++){t=this.symbols[r];var s=t.getX()+t.width,l=t.getY()+t.height;s>a&&(a=s),l>o&&(o=l)}this.paper.setSize(a+this.options["line-width"],o+this.options["line-width"])},a.prototype.clean=function(){if(this.paper){var t=this.paper.canvas;t.parentNode.removeChild(t)}},o.prototype.getAttr=function(t){if(!this.chart)return void 0;var e,n=this.chart.options?this.chart.options[t]:void 0,r=this.chart.options.symbols?this.chart.options.symbols[this.symbolType][t]:void 0;return this.chart.options.flowstate&&this.chart.options.flowstate[this.flowstate]&&(e=this.chart.options.flowstate[this.flowstate][t]),e||r||n},o.prototype.initialize=function(){this.group.transform("t"+this.getAttr("line-width")+","+this.getAttr("line-width")),this.width=this.group.getBBox().width,this.height=this.group.getBBox().height},o.prototype.getCenter=function(){return{x:this.getX()+this.width/2,y:this.getY()+this.height/2}},o.prototype.getX=function(){return this.group.getBBox().x},o.prototype.getY=function(){return this.group.getBBox().y},o.prototype.shiftX=function(t){this.group.transform("t"+(this.getX()+t)+","+this.getY())},o.prototype.setX=function(t){this.group.transform("t"+t+","+this.getY())},o.prototype.shiftY=function(t){this.group.transform("t"+this.getX()+","+(this.getY()+t))},o.prototype.setY=function(t){this.group.transform("t"+this.getX()+","+t)},o.prototype.getTop=function(){var t=this.getY(),e=this.getX()+this.width/2;return{x:e,y:t}},o.prototype.getBottom=function(){var t=this.getY()+this.height,e=this.getX()+this.width/2;return{x:e,y:t}},o.prototype.getLeft=function(){var t=this.getY()+this.group.getBBox().height/2,e=this.getX();return{x:e,y:t}},o.prototype.getRight=function(){var t=this.getY()+this.group.getBBox().height/2,e=this.getX()+this.group.getBBox().width;return{x:e,y:t}},o.prototype.render=function(){if(this.next){var t=this.getAttr("line-length");if("right"===this.next_direction){var e=this.getRight();if(this.next.getLeft(),!this.next.isPositioned){this.next.setY(e.y-this.next.height/2),this.next.shiftX(this.group.getBBox().x+this.width+t);var n=this;!function i(){for(var e,r=!1,a=0,o=n.chart.symbols.length;o>a;a++){e=n.chart.symbols[a];var s=Math.abs(e.getCenter().x-n.next.getCenter().x);if(e.getCenter().y>n.next.getCenter().y&&s<=n.next.width/2){r=!0;break}}r&&(n.next.setX(e.getX()+e.width+t),i())}(),this.next.isPositioned=!0,this.next.render()}}else{var r=this.getBottom();this.next.getTop(),this.next.isPositioned||(this.next.shiftY(this.getY()+this.height+t),this.next.setX(r.x-this.next.width/2),this.next.isPositioned=!0,this.next.render())}}},o.prototype.renderLines=function(){this.next&&(this.next_direction?this.drawLineTo(this.next,"",this.next_direction):this.drawLineTo(this.next))},o.prototype.drawLineTo=function(t,e,n){this.connectedTo.indexOf(t)<0&&this.connectedTo.push(t);var a,o=this.getCenter().x,s=this.getCenter().y,l=(this.getTop(),this.getRight()),c=this.getBottom(),u=this.getLeft(),h=t.getCenter().x,f=t.getCenter().y,d=t.getTop(),p=t.getRight(),g=(t.getBottom(),t.getLeft()),m=o===h,v=s===f,y=f>s,x=s>f,b=o>h,w=h>o,_=0,S=this.getAttr("line-length"),C=this.getAttr("line-width");if(n&&"bottom"!==n||!m||!y)if(n&&"right"!==n||!v||!w)if(n&&"left"!==n||!v||!b)if(n&&"right"!==n||!m||!x)if(n&&"right"!==n||!m||!y)if(n&&"bottom"!==n||!b)if(n&&"bottom"!==n||!w)if(n&&"right"===n&&b)a=r(this.chart,l,[{x:l.x+S/2,y:l.y},{x:l.x+S/2,y:d.y-S/2},{x:d.x,y:d.y-S/2},{x:d.x,y:d.y}],e),this.rightStart=!0,t.topEnd=!0,_=l.x+S/2;else if(n&&"right"===n&&w)a=r(this.chart,l,[{x:d.x,y:l.y},{x:d.x,y:d.y}],e),this.rightStart=!0,t.topEnd=!0,_=l.x+S/2;else if(n&&"bottom"===n&&m&&x)a=r(this.chart,c,[{x:c.x,y:c.y+S/2},{x:l.x+S/2,y:c.y+S/2},{x:l.x+S/2,y:d.y-S/2},{x:d.x,y:d.y-S/2},{x:d.x,y:d.y}],e),this.bottomStart=!0,t.topEnd=!0,_=c.x+S/2;else if("left"===n&&m&&x){var E=u.x-S/2;g.xk;k++)for(var I,N=this.chart.lines[k],R=N.attr("path"),A=a.attr("path"),M=0,L=R.length-1;L>M;M++){var O=[];O.push(["M",R[M][1],R[M][2]]),O.push(["L",R[M+1][1],R[M+1][2]]);for(var D=O[0][1],F=O[0][2],P=O[1][1],B=O[1][2],j=0,$=A.length-1;$>j;j++){var H=[];H.push(["M",A[j][1],A[j][2]]),H.push(["L",A[j+1][1],A[j+1][2]]);var U=H[0][1],q=H[0][2],G=H[1][1],z=H[1][2],W=i(D,F,P,B,U,q,G,z);if(W.onLine1&&W.onLine2){var X;q===z?U>G?(X=["L",W.x+2*C,q],A.splice(j+1,0,X),X=["C",W.x+2*C,q,W.x,q-4*C,W.x-2*C,q],A.splice(j+2,0,X),a.attr("path",A)):(X=["L",W.x-2*C,q],A.splice(j+1,0,X),X=["C",W.x-2*C,q,W.x,q-4*C,W.x+2*C,q],A.splice(j+2,0,X),a.attr("path",A)):q>z?(X=["L",U,W.y+2*C],A.splice(j+1,0,X),X=["C",U,W.y+2*C,U+4*C,W.y,U,W.y-2*C],A.splice(j+2,0,X),a.attr("path",A)):(X=["L",U,W.y-2*C],A.splice(j+1,0,X),X=["C",U,W.y-2*C,U+4*C,W.y,U,W.y+2*C],A.splice(j+2,0,X),a.attr("path",A)),j+=2,I+=2}}}this.chart.lines.push(a)}(!this.chart.maxXFromLine||this.chart.maxXFromLine&&_>this.chart.maxXFromLine)&&(this.chart.maxXFromLine=_)},m.inherits(s,o),m.inherits(l,o),m.inherits(c,o),m.inherits(u,o),m.inherits(h,o),h.prototype.getLeft=function(){var t=this.getY()+this.group.getBBox().height/2,e=this.getX()+this.textMargin;return{x:e,y:t}},h.prototype.getRight=function(){var t=this.getY()+this.group.getBBox().height/2,e=this.getX()+this.group.getBBox().width-this.textMargin;return{x:e,y:t}},m.inherits(f,o),f.prototype.render=function(){this.yes_direction&&(this[this.yes_direction+"_symbol"]=this.yes_symbol),this.no_direction&&(this[this.no_direction+"_symbol"]=this.no_symbol);var t=this.getAttr("line-length");if(this.bottom_symbol){var e=this.getBottom();this.bottom_symbol.getTop(),this.bottom_symbol.isPositioned||(this.bottom_symbol.shiftY(this.getY()+this.height+t),this.bottom_symbol.setX(e.x-this.bottom_symbol.width/2),this.bottom_symbol.isPositioned=!0,this.bottom_symbol.render())}if(this.right_symbol){var n=this.getRight();if(this.right_symbol.getLeft(),!this.right_symbol.isPositioned){this.right_symbol.setY(n.y-this.right_symbol.height/2),this.right_symbol.shiftX(this.group.getBBox().x+this.width+t);var r=this;!function i(){for(var e,n=!1,a=0,o=r.chart.symbols.length;o>a;a++){e=r.chart.symbols[a];var s=Math.abs(e.getCenter().x-r.right_symbol.getCenter().x);if(e.getCenter().y>r.right_symbol.getCenter().y&&s<=r.right_symbol.width/2){n=!0;break}}n&&(r.right_symbol.setX(e.getX()+e.width+t),i())}(),this.right_symbol.isPositioned=!0,this.right_symbol.render()}}},f.prototype.renderLines=function(){this.yes_symbol&&this.drawLineTo(this.yes_symbol,this.getAttr("yes-text"),this.yes_direction),this.no_symbol&&this.drawLineTo(this.no_symbol,this.getAttr("no-text"),this.no_direction)},p.parse=d,p}),define("extensions/umlDiagrams",["underscore","utils","logger","classes/Extension","text!html/umlDiagramsSettingsBlock.html","crel","Diagram","flow-chart"],function(t,e,n,r,i,a,o,s){var l=new r("umlDiagrams","UML Diagrams",!0);return l.settingsBlock=i,l.defaultConfig={flowchartOptions:["{",' "line-width": 2,',' "font-family": "sans-serif",',' "font-weight": "normal"',"}"].join("\n")},l.onLoadSettings=function(){e.setInputValue("#textarea-umldiagram-flowchart-options",l.config.flowchartOptions)},l.onSaveSettings=function(t,n){t.flowchartOptions=e.getInputJSONValue("#textarea-umldiagram-flowchart-options",n)},l.onPagedownConfigure=function(e){var n=document.getElementById("preview-contents");e.hooks.chain("onPreviewRefresh",function(){t.each(n.querySelectorAll(".prettyprint > .language-sequence"),function(t){try{var e=o.parse(t.textContent),n=t.parentNode,r=a("div",{"class":"sequence-diagram"});n.parentNode.replaceChild(r,n),e.drawSVG(r,{theme:"simple"})}catch(i){}}),t.each(n.querySelectorAll(".prettyprint > .language-flow"),function(t){try{var e=s.parse(t.textContent),n=t.parentNode,r=a("div",{"class":"flow-chart"});n.parentNode.replaceChild(r,n),e.drawSVG(r,JSON.parse(l.config.flowchartOptions))}catch(i){}})})},l}),define("text!html/tocSettingsBlock.html",[],function(){return'

      Generates a table of contents when a [TOC] marker is found.

      \n
      \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n \n
      '}),define("extensions/toc",["underscore","utils","classes/Extension","text!html/tocSettingsBlock.html"],function(t,e,n,r){function i(t,e,n){this.tagName=t,this.anchor=e,this.text=n,this.children=[]}function a(e,n){function r(){void 0!==o&&(o.children.length>0&&(o.children=a(o.children,n+1)),c.push(o))}n=n||1;var o,l="H"+n,c=[];return t.each(e,function(t){t.tagName!=l?n!==s.config.maxDepth&&(void 0===o&&(o=new i),o.children.push(t)):(r(),o=t)}),r(),c}function o(){function n(n){for(var i=n.id||e.slugify(n.textContent)||"title",a=i,o=0;t.has(r,a);)a=i+"-"+ ++o;return r[a]=!0,n.id=a,a}var r={},o=[];return t.each(l.querySelectorAll("h1, h2, h3, h4, h5, h6"),function(t){o.push(new i(t.tagName,n(t),t.textContent))}),o=a(o),'
      \n
        \n'+o.join("")+"
      \n
      \n"}var s=new n("toc","Table of Contents",!0);s.settingsBlock=r,s.defaultConfig={marker:"\\[(TOC|toc)\\]",maxDepth:6,button:!0},s.onLoadSettings=function(){e.setInputValue("#input-toc-marker",s.config.marker),e.setInputValue("#input-toc-maxdepth",s.config.maxDepth),e.setInputChecked("#input-toc-button",s.config.button)},s.onSaveSettings=function(t,n){t.marker=e.getInputRegExpValue("#input-toc-marker",n),t.maxDepth=e.getInputIntValue("#input-toc-maxdepth"),t.button=e.getInputChecked("#input-toc-button")},i.prototype.childrenToString=function(){if(0===this.children.length)return"";var e="
        \n";return t.each(this.children,function(t){e+=t.toString()}),e+="
      \n"},i.prototype.toString=function(){var t="
    • ";return this.anchor&&this.text&&(t+=''+this.text+""),t+=this.childrenToString()+"
    • \n"};var l;return s.onPagedownConfigure=function(e){l=document.getElementById("preview-contents");var n=new RegExp("^\\s*"+s.config.marker+"\\s*$");e.hooks.chain("onPreviewRefresh",function(){var e=document.querySelectorAll(".table-of-contents, .toc"),r=o();t.each(l.getElementsByTagName("p"),function(t){n.test(t.innerHTML)&&(t.innerHTML=r)}),t.each(e,function(t){t.innerHTML=r}),$("#leanoteNavContentMd").height("auto");try{$(r).text()||$("#leanoteNavContentMd").html("    Nothing...")}catch(i){}var a=$("#leanoteNavContentMd").height(),s=$("#mdEditor").height()-100;a>s&&$("#leanoteNavContentMd").height(s)})},s.onReady=function(){var t=!0;$(".preview-panel").on("hide.layout.toggle",function(){t=!1}).on("shown.layout.toggle",function(){t=!0}),$(".extension-preview-buttons .table-of-contents").on("click","a",function(e){!t&&e.preventDefault()})},s}),define("extensions/emailConverter",["classes/Extension"],function(t){var e=new t("emailConverter","Markdown Email",!0);return e.settingsBlock="

      Converts email addresses in the form <email@example.com> into clickable links.

      ",e.onPagedownConfigure=function(t){t.getConverter().hooks.chain("postConversion",function(t){return t.replace(/<(mailto\:)?([^\s>]+@[^\s>]+\.\S+?)>/g,function(t,e,n){return''+n+""})})},e}),define("text!html/scrollSyncSettingsBlock.html",[],function(){return"

      Binds together editor and preview scrollbars.

      \n
      \n

      Note: The mapping between Markdown and HTML is based on the\n position of the title elements (h1, h2...) in the page. Therefore if\n your document does not contain any title, the mapping will be linear and\n consequently less accurate.

      \n
      "}),define("extensions/scrollSync",["underscore","classes/Extension","text!html/scrollSyncSettingsBlock.html"],function(t,e,n){function r(e,n,r){var i,a=t.find(n,function(t,n){return i=n,ec){var u=e+o*Math.cos((1-c)*Math.PI/2);t.scrollTop=u,r(u),h=setTimeout(a,1)}else f=void 0,t.scrollTop=n,setTimeout(i,100)}f&&(clearTimeout(h),f()),f=i;var o=n-e,s=Date.now();a()}var a=new e("scrollSync","Scroll Sync",!0,!0);a.settingsBlock=n;var o;a.onSectionsCreated=function(t){o=t};var s,l,c,u,h,f,d=[],p=[],g=t.debounce(function(){d=[];var e,n;t.each(s.querySelectorAll(".wmd-input-section"),function(t){if(void 0===e)return void(e=0);t=t.firstChild;var n=t.offsetTop;d.push({startOffset:e,endOffset:n,height:n-e}),e=n}),n=s.scrollHeight,d.push({startOffset:e,endOffset:n,height:n-e}),p=[];var r;t.each(l.querySelectorAll(".wmd-preview-section"),function(t){if(void 0===r)return void(r=0);var e=t.offsetTop;p.push({startOffset:r,endOffset:e,height:e-r}),r=e}),n=l.scrollHeight,p.push({startOffset:r,endOffset:n,height:n-r}),c=-10,u=-10,w()},500),m=!0,v=!1,y=!1,x=!1,b=!1,w=t.throttle(function(){if(m&&0!==d.length&&d.length===p.length){var e=s.scrollTop;0>e&&(e=0);var n,a=l.scrollTop;if(v===!0){if(Math.abs(e-c)<=9)return;if(v=!1,c=e,n=r(e,d,p),n=t.min([n,l.scrollHeight-l.offsetHeight]),Math.abs(n-a)<=9)return void(u=a);i(l,a,n,function(t){b=!0,u=t},function(){b=!1})}else if(y===!0){if(Math.abs(a-u)<=9)return;if(y=!1,u=a,n=r(a,p,d),n=t.min([n,s.scrollHeight-s.offsetHeight]),Math.abs(n-e)<=9)return void(c=e);i(s,e,n,function(t){x=!0,c=t},function(){x=!1})}}},100);a.onLayoutResize=function(){v=!0,g()},a.onFileClosed=function(){d=[]};var _=!1;a.onReady=function(){l=document.querySelector(".preview-container"),s=document.querySelector("#wmd-input"),$(l).scroll(function(){b===!1&&_===!1&&(y=!0,v=!1,w()),_=!1}),$(s).scroll(function(){x===!1&&(v=!0,y=!1,w())}),$(".preview-panel").on("hide.layout.toggle",function(){m=!1}).on("shown.layout.toggle",function(){m=!0}),$(".extension-preview-buttons .table-of-contents").on("click","a",function(t){t.preventDefault();var e=this.hash,n=$(e);if(n.length){var i=n[0].getBoundingClientRect().top-l.getBoundingClientRect().top+l.scrollTop;l.scrollTop=i;var a=r(i,p,d);s.scrollTop=a}})};var S,C;return a.onPagedownConfigure=function(t){S=document.getElementById("preview-contents"),t.getConverter().hooks.chain("postConversion",function(t){return C=S.offsetHeight,S.style.height=C+"px",t})},a.onPreviewFinished=function(){S.style.removeProperty("height");var t=S.offsetHeight;v=!0,C>t&&(_=!0),g()},a}),define("text!extensions/shortcutsDefaultMapping.settings",[],function(){return"{\n 'mod+b': bindPagedownButton('bold'),\n 'mod+i': bindPagedownButton('italic'),\n 'mod+l': bindPagedownButton('link'),\n 'mod+q': bindPagedownButton('quote'),\n 'mod+k': bindPagedownButton('code'),\n 'mod+g': bindPagedownButton('image'),\n 'mod+o': bindPagedownButton('olist'),\n 'mod+u': bindPagedownButton('ulist'),\n 'mod+h': bindPagedownButton('heading'),\n 'mod+r': bindPagedownButton('hr'),\n 'mod+z': bindPagedownButton('undo'),\n 'mod+y': bindPagedownButton('redo'),\n 'mod+shift+z': bindPagedownButton('redo'),\n 'mod+m': function(evt) {\n $('.button-open-discussion').click();\n evt.preventDefault();\n },\n '= = > space': function() {\n expand('==> ', '⇒ ');\n },\n '< = = space': function() {\n expand('<== ', '⇐ ');\n },\n 'S t a c k E d i t': function() {\n eventMgr.onMessage(\"You are stunned!!! Aren't you?\");\n }\n}\n"}),define("text!html/shortcutsSettingsBlock.html",[],function(){return'

      Maps keyboard shortcuts to JavaScript functions.

      \n
      \n
      \n \n
      \n \n
      \n
      \n
      \n'}),define("text!html/tooltipSettingsShortcutsExtension.html",[],function(){return'You can create expanding macros like this:\n
      \n
      \n\'- - > space\': function() {\n
      \n expand(\'--> \', \'→ \');\n
      \n}\n
      \n
      \nMore\n info\n
      \n
      \n Careful! This is subject to malicious code. Don\'t copy/paste untrusted content.\n'}),define("extensions/shortcuts",["underscore","utils","mousetrap","classes/Extension","text!extensions/shortcutsDefaultMapping.settings","text!html/shortcutsSettingsBlock.html","text!html/tooltipSettingsShortcutsExtension.html"],function(_,utils,mousetrap,Extension,shortcutsDefaultMapping,shortcutsSettingsBlockHTML,tooltipSettingsShortcutsExtensionHTML){function bindPagedownButton(t){return function(e){pagedownEditor.uiManager.doClick(pagedownEditor.uiManager.buttons[t]),e.preventDefault()}}function expand(t,e){utils.defer(function(){require("editor").replacePreviousText(t,e)})}var shortcuts=new Extension("shortcuts","Shortcuts",!0,!0);shortcuts.settingsBlock=shortcutsSettingsBlockHTML,shortcuts.defaultConfig={mapping:shortcutsDefaultMapping};var eventMgr,pagedownEditor;return shortcuts.onEventMgrCreated=function(t){eventMgr=t,eventMgr.addListener("onPagedownConfigure",function(t){pagedownEditor=t})},shortcuts.onLoadSettings=function(){utils.setInputValue("#textarea-shortcuts-mapping",shortcuts.config.mapping)},shortcuts.onSaveSettings=function(newConfig,event){newConfig.code=utils.getInputValue("#textarea-shortcuts-mapping");try{eval("var test = "+newConfig.code)}catch(e){eventMgr.onError(e),utils.getInputTextValue("#textarea-shortcuts-mapping",event,/^$/)}},shortcuts.onInit=function(){try{var input=$(".editor-content");mousetrap.stopCallback=function(t,e){return e!==input[0]};var shortcutMap;eval("shortcutMap = "+shortcuts.config.mapping),_.each(shortcutMap,function(t,e){mousetrap.bind(e,t)})}catch(e){console.error(e)}},shortcuts.onReady=function(){},shortcuts}),define("text!html/findReplace.html",[],function(){return'\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n
      \n
      \n 0 found\n
      \n
      \n \n \n \n
      \n
      \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n'}),define("text!html/findReplaceSettingsBlock.html",[],function(){return'

      Helps find and replace text in the current document.

      \n
      \n
      \n \n
      \n \n
      \n
      \n
      '}),define("extensions/findReplace",["underscore","crel","utils","classes/Extension","mousetrap","rangy","text!html/findReplace.html","text!html/findReplaceSettingsBlock.html"],function(t,e,n,r,i,a,o,s){function l(){c(),R.forEach(function(t){try{x.undoToRange(t)}catch(e){}}),R=[]}function c(){if(w){try{w&&b.undoToRange(w)}catch(t){}w=void 0}}function u(t){function e(t){return t.container===s.container?{container:o.endContainer.parentElement.nextSibling,offsetInContainer:t.offsetInContainer-s.offsetInContainer,offset:t.offset}:t}if(D){var n=C.val(),r=T.prop("checked"),i=I.prop("checked");if(t||n!=M||r!=L||i!=O){M=n,L=r,O=i,l();var o,s={};A=[];var c=0,u=n.length;if(u)try{var h=r?"gm":"gmi";if(n=i?n:n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),N=new RegExp(n,h),v.getValue().replace(N,function(t,e){A.push({start:e,end:e+t.length})}),c=A.length,A.length<200){var f=[];A.forEach(function(t){f.push(t.start),f.push(t.end)}),f=v.selectionMgr.findOffsets(f);for(var d=0;de});if(n||(n=t.first(A)),n){if(w=R[n.start],!w){var r=v.selectionMgr.createRange(n.start,n.end);w=a.createRange(),w.setStart(r.startContainer,r.startOffset),w.setEnd(r.endContainer,r.endOffset)}b.applyToRange(w),w.start=n.start,w.end=n.end,v.selectionMgr.setSelectionStartEnd(n.start,n.end),v.selectionMgr.updateCursorCoordinates(!0)}}function p(){if(!w)return d();var t=E.val();v.replace(w.start,w.end,t),setTimeout(function(){d(),E.focus()},1)}function g(){var t=E.val();v.replaceAll(N,t)}var m=new r("findReplace","Find and Replace",!0,!0);m.settingsBlock=s,m.defaultConfig={findReplaceShortcut:"mod+f"},m.onLoadSettings=function(){n.setInputValue("#input-find-replace-shortcut",m.config.findReplaceShortcut)},m.onSaveSettings=function(t,e){t.findReplaceShortcut=n.getInputTextValue("#input-find-replace-shortcut",e)};var v;m.onEditorCreated=function(t){v=t};var y;m.onEventMgrCreated=function(t){y=t};var x,b,w,_,S,C,E,k,T,I,N,R=[],A=[],M="",L=!1,O=!1,D=!1;return m.onEditorPopover=function(){f()},m.onContentChanged=t.bind(u,null,!0),m.onFileOpen=t.bind(u,null,!0),m.onReady=function(){x=a.createCssClassApplier("find-replace-highlight",{normalize:!1}),b=a.createCssClassApplier("find-replace-select",{normalize:!1}),_=document.querySelector("#wmd-input .editor-content");var n=e("div",{"class":"find-replace"});S=$(n).hide(),n.innerHTML=o,document.querySelector(".layout-wrapper-l2").appendChild(n),$(".button-find-replace-dismiss").click(function(){f()}),k=n.querySelector(".found-counter"),T=S.find(".checkbox-case-sensitive").change(t.bind(u,null,!1)),I=S.find(".checkbox-regexp").change(t.bind(u,null,!1)),S.find(".search-button").click(d),C=$("#input-find-replace-search-for").keyup(t.bind(u,null,!1)),S.find(".replace-button").click(p),E=$("#input-find-replace-replace-with"),S.find(".replace-all-button").click(g),$().add(C).add(E).keydown(function(t){13===t.which&&(t.preventDefault(),d())}),i.bind(m.config.findReplaceShortcut,function(t){var e=v.selectionMgr.getSelectedText();e&&C.val(e),h(),t.preventDefault()})},m}),define("text!html/htmlSanitizerSettingsBlock.html",[],function(){return'

      Prevents cross-site-scripting attacks (XSS).

      \n

      Careful: Disable at your own risk!

      \n'}),define("extensions/htmlSanitizer",["underscore","utils","logger","classes/Extension","text!html/htmlSanitizerSettingsBlock.html"],function(t,e,n,r,i){function a(t,n){var r,i=n?p:d;return r=e.urlResolve(t).href,""===r||r.match(i)?void 0:"unsafe:"+r}function o(t){var e,n={},r=t.split(",");for(e=0;e=0&&s[i]!=n;i--);if(i>=0){for(r=s.length-1;r>=i;r--)e.end&&e.end(s[r]);s.length=i}}var i,a,o,s=[],c=t;for(s.last=function(){return s[s.length-1]};t;){if(a=!0,s.last()&&R[s.last()])t=t.replace(new RegExp("(.*)<\\s*\\/\\s*"+s.last()+"[^>]*>","i"),function(t,n){return n=n.replace(b,"$1").replace(_,"$1"),e.chars&&e.chars(l(n)),""}),r("",s.last());else if(0===t.indexOf("",i)===i&&(e.comment&&e.comment(t.substring(4,i)),t=t.substring(i+3),a=!1)):w.test(t)?(o=t.match(w),o&&(t=t.replace(o[0],""),a=!1)):x.test(t)?(o=t.match(m),o&&(t=t.substring(o[0].length),o[0].replace(m,r),a=!1)):y.test(t)&&(o=t.match(g),o&&(t=t.substring(o[0].length),o[0].replace(g,n),a=!1)),a){i=t.indexOf("<");var u=0>i?t:t.substring(0,i);t=0>i?"":t.substring(i),e.chars&&e.chars(l(u))}if(t==c)return s.reverse(),s.forEach(function(t){f.push("")});c=t}r()}function l(t){if(!t)return"";var e=D.exec(t),n=e[1],r=e[3],i=e[2];return i&&(O.innerHTML=i.replace(//g,">")}function u(e,n){var r=!1,i=t.bind(e.push,e);return{start:function(e,a,o){e=e&&e.toLowerCase(),!r&&R[e]&&(r=e),r||A[e]!==!0||(i("<"),i(e),t.forEach(a,function(t,r){var a=r&&r.toLowerCase(),o="img"===e&&"src"===a||"background"===a;L[a]!==!0||M[a]===!0&&!n(t,o)||(i(" "),i(r),i('="'),i(c(t)),i('"'))}),i(o?"/>":">"))},end:function(t){t=t&&t.toLowerCase(),r||A[t]!==!0||(i("")),t==r&&(r=!1)},chars:function(t){r||i(c(t))},comment:function(t){r||(i(""))}}}var h=new r("htmlSanitizer","HTML Sanitizer",!0);h.settingsBlock=i;var f;h.onPagedownConfigure=function(t){var e=t.getConverter();e.hooks.chain("postConversion",function(t){return f=[],t.split('
      ').forEach(function(t){s(t,u(f,function(t,e){return!/^unsafe/.test(a(t,e))})),f.push('
      ')}),f.slice(0,-1).join("")})};var d=/^\s*(https?|ftp|mailto|tel|file):/,p=/^\s*(https?|ftp|file):|data:image\//,g=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,m=/^<\s*\/\s*([\w:-]+)[^>]*>/,v=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,y=/^/g,w=/]*?)>/i,_=//g,S=/([^\#-~| |!])/g,C=o("area,br,col,hr,img,wbr"),E=o("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),k=o("rp,rt"),T=t.extend({},k,E),I=t.extend({},E,o("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),N=t.extend({},k,o("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),R=o("script,style");I.iframe=!0;var A=t.extend({},C,I,N,T),M=o("background,cite,href,longdesc,src,usemap"),L=t.extend({},M,o("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width"));L.id=!0,L.allowfullscreen=!0;var O=document.createElement("pre"),D=/^(\s*)([\s\S]*?)(\s*)$/;return h}),function(t){var e="waitForImages";t.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},t.expr[":"].uncached=function(e){if(!t(e).is('img[src!=""]'))return!1;var n=new Image;return n.src=e.src,!n.complete},t.fn.waitForImages=function(n,r,i){var a=0,o=0;if(t.isPlainObject(arguments[0])&&(i=arguments[0].waitForAll,r=arguments[0].each,n=arguments[0].finished),n=n||t.noop,r=r||t.noop,i=!!i,!t.isFunction(n)||!t.isFunction(r))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var s=t(this),l=[],c=t.waitForImages.hasImageProperties||[],u=/url\(\s*(['"]?)(.*?)\1\s*\)/g;i?s.find("*").andSelf().each(function(){var e=t(this);e.is("img:uncached")&&l.push({src:e.attr("src"),element:e[0]}),t.each(c,function(t,n){var r,i=e.css(n);if(!i)return!0;for(;r=u.exec(i);)l.push({src:r[2],element:e[0]})})}):s.find("img:uncached").each(function(){l.push({src:this.src,element:this})}),a=l.length,o=0,0===a&&n.call(s[0]),t.each(l,function(i,l){var c=new Image;t(c).bind("load."+e+" error."+e,function(t){return o++,r.call(l.element,o,a,"load"==t.type),o==a?(n.call(s[0]),!1):void 0}),c.src=l.src})})}}(jQuery),define("jquery-waitforimages",function(){}),define("eventMgr",["underscore","crel","mousetrap","utils","logger","classes/Extension","settings","extensions/yamlFrontMatterParser","extensions/markdownSectionParser","extensions/partialRendering","extensions/workingIndicator","extensions/notifications","extensions/umlDiagrams","extensions/markdownExtra","extensions/toc","extensions/mathJax","extensions/emailConverter","extensions/scrollSync","extensions/shortcuts","extensions/findReplace","extensions/htmlSanitizer","jquery-waitforimages"],function(t,e,n,r,i,a,o){function s(e){return t.chain(h).map(function(t){return t.enabled&&t[e]}).compact().value()}function l(e){return d[e]=s(e),function(){i.log(e,arguments);var n=arguments;t.each(d[e],function(e){try{e.apply(null,n)}catch(r){console.error(t.isObject(r)?r.stack:r)}})}}function c(t){u[t]=l(t)}var u={},h=t.chain(arguments).map(function(t){return t instanceof a&&t}).compact().value(),f=o.extensionSettings||{};t.each(h,function(e){e.config=t.extend({},e.defaultConfig,f[e.extensionId]),e.enabled=window.viewerMode===!0&&e.disableInViewer===!0?!1:!e.isOptional||void 0===e.config.enabled||e.config.enabled===!0});var d={};u.addListener=function(t,e){try{d[t].push(e); +}catch(n){console.error("No event listener called "+t)}},l("onInit")(),u.onLoadSettings=function(){i.log("onLoadSettings"),t.each(h,function(t){var e=!t.isOptional||void 0===t.config.enabled||t.config.enabled===!0;r.setInputChecked("#input-enable-extension-"+t.extensionId,e),"markdownExtra"==t.extensionId?r.setInputChecked("#input-settings-markdown-extra",e):"mathJax"==t.extensionId&&r.setInputChecked("#input-settings-mathjax",e);var n=t.onLoadSettings;n&&n()})},u.onSaveSettings=function(e,n){i.log("onSaveSettings"),t.each(h,function(i){var a=t.extend({},i.defaultConfig);a.enabled=r.getInputChecked("#input-enable-extension-"+i.extensionId);var o;"markdownExtra"==i.extensionId?(o=r.getInputChecked("#input-settings-markdown-extra"),o!=i.enabled&&(a.enabled=o)):"mathJax"==i.extensionId&&(o=r.getInputChecked("#input-settings-mathjax"),o!=i.enabled&&(a.enabled=o));var s=i.onSaveSettings;s&&s(a,n),e[i.extensionId]=a})},c("onMessage"),c("onError"),c("onOfflineChanged"),c("onUserActive"),c("onAsyncRunning"),c("onPeriodicRun"),c("onEditorCreated"),c("onFileMgrCreated"),c("onSynchronizerCreated"),c("onPublisherCreated"),c("onSharingCreated"),c("onEventMgrCreated"),c("onFileCreated"),c("onFileDeleted"),c("onFileSelected"),c("onFileOpen"),c("onFileClosed"),c("onContentChanged"),c("onTitleChanged"),c("onFoldersChanged"),c("onSyncRunning"),c("onSyncSuccess"),c("onSyncImportSuccess"),c("onSyncExportSuccess"),c("onSyncRemoved"),c("onPublishRunning"),c("onPublishSuccess"),c("onNewPublishSuccess"),c("onPublishRemoved"),c("onLayoutCreated"),c("onLayoutResize"),c("onExtensionButtonResize"),c("onPagedownConfigure"),c("onSectionsCreated"),c("onCursorCoordinates"),c("onEditorPopover"),c("onDiscussionCreated"),c("onDiscussionRemoved"),c("onCommentsChanged"),c("onTweet");var p,g,m=l("onPreviewFinished"),v=s("onAsyncPreview");u.onAsyncPreview=function(){function e(n){var i=n.length?n.shift():function(){setTimeout(function(){var e="";t.each(p.children,function(t){e+=t.innerHTML});var n=r.trim(e),i=n.replace(/ .*?<\/span> /g,"");m(n,i)},10)};i(function(){e(n)})}i.log("onAsyncPreview"),e(v.concat([function(t){g.waitForImages(t)}]))};var y=l("onReady");return u.onReady=function(){p=document.getElementById("preview-contents"),g=$(p);var r=function(n){var r=e("div",{"class":"btn-group"}),i=n();return t.isString(i)?r.innerHTML=i:t.isElement(i)&&r.appendChild(i),r};window.viewerMode===!1,i.log("onCreatePreviewButton");var a=s("onCreatePreviewButton"),o=document.createDocumentFragment();t.each(a,function(t){o.appendChild(r(t))});var l=document.querySelector(".extension-preview-buttons");l&&l.appendChild(o),n.bind("escape",function(){u.onEditorPopover()}),y()},u.onEventMgrCreated(u),u}),function(){var t=/\blang(?:uage)?-(?!\*)(\w+)\b/i,e=self.Prism={util:{type:function(t){return Object.prototype.toString.call(t).match(/\[object (\w+)\]/)[1]},clone:function(t){var n=e.util.type(t);switch(n){case"Object":var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=e.util.clone(t[i]));return r;case"Array":return t.slice()}return t}},languages:{extend:function(t,n){var r=e.util.clone(e.languages[t]);for(var i in n)r[i]=n[i];return r},insertBefore:function(t,n,r,i){i=i||e.languages;var a=i[t],o={};for(var s in a)if(a.hasOwnProperty(s)){if(s==n)for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);o[s]=a[s]}return i[t]=o},DFS:function(t,n){for(var r in t)n.call(t,r,t[r]),"Object"===e.util.type(t)&&e.languages.DFS(t[r],n)}},highlightAll:function(t,n){for(var r,i=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),a=0;r=i[a++];)e.highlightElement(r,t===!0,n)},highlightElement:function(r,i,a){for(var o,s,l=r;l&&!t.test(l.className);)l=l.parentNode;if(l&&(o=(l.className.match(t)||[,""])[1],s=e.languages[o]),s){r.className=r.className.replace(t,"").replace(/\s+/g," ")+" language-"+o,l=r.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+o);var c=r.textContent;if(c){c=c.replace(/&/g,"&").replace(/t.length)break t;if(!(f instanceof r)){s.lastIndex=0;var d=s.exec(f);if(d){c&&(u=d[1].length);var p=d.index-1+u,d=d[0].slice(u),g=d.length,m=p+g,v=f.slice(0,p+1),y=f.slice(m+1),x=[h,1];v&&x.push(v);var b=new r(o,l?e.tokenize(d,l):d);x.push(b),y&&x.push(y),Array.prototype.splice.apply(i,x)}}}}return i},hooks:{all:{},add:function(t,n){var r=e.hooks.all;r[t]=r[t]||[],r[t].push(n)},run:function(t,n){var r=e.hooks.all[t];if(r&&r.length)for(var i,a=0;i=r[a++];)i(n)}}},n=e.Token=function(t,e){this.type=t,this.content=e};if(n.stringify=function(t,r,i){if("string"==typeof t)return t;if("[object Array]"==Object.prototype.toString.call(t))return t.map(function(e){return n.stringify(e,r,t)}).join("");var a={type:t.type,content:n.stringify(t.content,r,i),tag:"span",classes:["token",t.type],attributes:{},language:r,parent:i};"comment"==a.type&&(a.attributes.spellcheck="true"),e.hooks.run("wrap",a);var o="";for(var s in a.attributes)o+=s+'="'+(a.attributes[s]||"")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'" '+o+">"+a.content+""},!self.document)return void self.addEventListener("message",function(t){var n=JSON.parse(t.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(e.tokenize(i,e.languages[r]))),self.close()},!1);var r=document.getElementsByTagName("script");r=r[r.length-1],r&&(e.filename=r.src,document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",e.highlightAll))}(),define("prism-core",function(t){return function(){var e;return e||t.Prism}}(this));var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;diff_match_patch.Diff,diff_match_patch.prototype.diff_main=function(t,e,n,r){"undefined"==typeof r&&(r=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var i=r;if(null==t||null==e)throw new Error("Null input. (diff_main)");if(t==e)return t?[[DIFF_EQUAL,t]]:[];"undefined"==typeof n&&(n=!0);var a=n,o=this.diff_commonPrefix(t,e),s=t.substring(0,o);t=t.substring(o),e=e.substring(o),o=this.diff_commonSuffix(t,e);var l=t.substring(t.length-o);t=t.substring(0,t.length-o),e=e.substring(0,e.length-o);var c=this.diff_compute_(t,e,a,i);return s&&c.unshift([DIFF_EQUAL,s]),l&&c.push([DIFF_EQUAL,l]),this.diff_cleanupMerge(c),c},diff_match_patch.prototype.diff_compute_=function(t,e,n,r){var i;if(!t)return[[DIFF_INSERT,e]];if(!e)return[[DIFF_DELETE,t]];var a=t.length>e.length?t:e,o=t.length>e.length?e:t,s=a.indexOf(o);if(-1!=s)return i=[[DIFF_INSERT,a.substring(0,s)],[DIFF_EQUAL,o],[DIFF_INSERT,a.substring(s+o.length)]],t.length>e.length&&(i[0][0]=i[2][0]=DIFF_DELETE),i;if(1==o.length)return[[DIFF_DELETE,t],[DIFF_INSERT,e]];var l=this.diff_halfMatch_(t,e);if(l){var c=l[0],u=l[1],h=l[2],f=l[3],d=l[4],p=this.diff_main(c,h,n,r),g=this.diff_main(u,f,n,r);return p.concat([[DIFF_EQUAL,d]],g)}return n&&t.length>100&&e.length>100?this.diff_lineMode_(t,e,r):this.diff_bisect_(t,e,r)},diff_match_patch.prototype.diff_lineMode_=function(t,e,n){var r=this.diff_linesToChars_(t,e);t=r.chars1,e=r.chars2;var i=r.lineArray,a=this.diff_main(t,e,!1,n);this.diff_charsToLines_(a,i),this.diff_cleanupSemantic(a),a.push([DIFF_EQUAL,""]);for(var o=0,s=0,l=0,c="",u="";o=1&&l>=1){a.splice(o-s-l,s+l),o=o-s-l;for(var r=this.diff_main(c,u,!1,n),h=r.length-1;h>=0;h--)a.splice(o,0,r[h]);o+=r.length}l=0,s=0,c="",u=""}o++}return a.pop(),a},diff_match_patch.prototype.diff_bisect_=function(t,e,n){for(var r=t.length,i=e.length,a=Math.ceil((r+i)/2),o=a,s=2*a,l=new Array(s),c=new Array(s),u=0;s>u;u++)l[u]=-1,c[u]=-1;l[o+1]=0,c[o+1]=0;for(var h=r-i,f=h%2!=0,d=0,p=0,g=0,m=0,v=0;a>v&&!((new Date).getTime()>n);v++){for(var y=-v+d;v-p>=y;y+=2){var x,b=o+y;x=y==-v||y!=v&&l[b-1]x&&i>w&&t.charAt(x)==e.charAt(w);)x++,w++;if(l[b]=x,x>r)p+=2;else if(w>i)d+=2;else if(f){var _=o+h-y;if(_>=0&&s>_&&-1!=c[_]){var S=r-c[_];if(x>=S)return this.diff_bisectSplit_(t,e,x,w,n)}}}for(var C=-v+g;v-m>=C;C+=2){var S,_=o+C;S=C==-v||C!=v&&c[_-1]S&&i>E&&t.charAt(r-S-1)==e.charAt(i-E-1);)S++,E++;if(c[_]=S,S>r)m+=2;else if(E>i)g+=2;else if(!f){var b=o+h-C;if(b>=0&&s>b&&-1!=l[b]){var x=l[b],w=o+x-b;if(S=r-S,x>=S)return this.diff_bisectSplit_(t,e,x,w,n)}}}}return[[DIFF_DELETE,t],[DIFF_INSERT,e]]},diff_match_patch.prototype.diff_bisectSplit_=function(t,e,n,r,i){var a=t.substring(0,n),o=e.substring(0,r),s=t.substring(n),l=e.substring(r),c=this.diff_main(a,o,!1,i),u=this.diff_main(s,l,!1,i);return c.concat(u)},diff_match_patch.prototype.diff_linesToChars_=function(t,e){function n(t){for(var e="",n=0,a=-1,o=r.length;an;)t.substring(a,i)==e.substring(a,i)?(n=i,a=n):r=i,i=Math.floor((r-n)/2+n);return i},diff_match_patch.prototype.diff_commonSuffix=function(t,e){if(!t||!e||t.charAt(t.length-1)!=e.charAt(e.length-1))return 0;for(var n=0,r=Math.min(t.length,e.length),i=r,a=0;i>n;)t.substring(t.length-i,t.length-a)==e.substring(e.length-i,e.length-a)?(n=i,a=n):r=i,i=Math.floor((r-n)/2+n);return i},diff_match_patch.prototype.diff_commonOverlap_=function(t,e){var n=t.length,r=e.length;if(0==n||0==r)return 0;n>r?t=t.substring(n-r):r>n&&(e=e.substring(0,n));var i=Math.min(n,r);if(t==e)return i;for(var a=0,o=1;;){var s=t.substring(i-o),l=e.indexOf(s);if(-1==l)return a;o+=l,(0==l||t.substring(i-o)==e.substring(0,o))&&(a=o,o++)}},diff_match_patch.prototype.diff_halfMatch_=function(t,e){function n(t,e,n){for(var r,i,a,s,l=t.substring(n,n+Math.floor(t.length/4)),c=-1,u="";-1!=(c=e.indexOf(l,c+1));){var h=o.diff_commonPrefix(t.substring(n),e.substring(c)),f=o.diff_commonSuffix(t.substring(0,n),e.substring(0,c));u.length=t.length?[r,i,a,s,u]:null}if(this.Diff_Timeout<=0)return null;var r=t.length>e.length?t:e,i=t.length>e.length?e:t;if(r.length<4||2*i.lengthl[4].length?s:l:s;var c,u,h,f;t.length>e.length?(c=a[0],u=a[1],h=a[2],f=a[3]):(h=a[0],f=a[1],c=a[2],u=a[3]);var d=a[4];return[c,u,h,f,d]},diff_match_patch.prototype.diff_cleanupSemantic=function(t){for(var e=!1,n=[],r=0,i=null,a=0,o=0,s=0,l=0,c=0;a0?n[r-1]:-1,o=0,s=0,l=0,c=0,i=null,e=!0)),a++;for(e&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),a=1;a=d?(f>=u.length/2||f>=h.length/2)&&(t.splice(a,0,[DIFF_EQUAL,h.substring(0,f)]),t[a-1][1]=u.substring(0,u.length-f),t[a+1][1]=h.substring(f),a++):(d>=u.length/2||d>=h.length/2)&&(t.splice(a,0,[DIFF_EQUAL,u.substring(0,d)]),t[a-1][0]=DIFF_INSERT,t[a-1][1]=h.substring(0,h.length-d),t[a+1][0]=DIFF_DELETE,t[a+1][1]=u.substring(d),a++),a++}a++}},diff_match_patch.prototype.diff_cleanupSemanticLossless=function(t){function e(t,e){if(!t||!e)return 6;var n=t.charAt(t.length-1),r=e.charAt(0),i=n.match(diff_match_patch.nonAlphaNumericRegex_),a=r.match(diff_match_patch.nonAlphaNumericRegex_),o=i&&n.match(diff_match_patch.whitespaceRegex_),s=a&&r.match(diff_match_patch.whitespaceRegex_),l=o&&n.match(diff_match_patch.linebreakRegex_),c=s&&r.match(diff_match_patch.linebreakRegex_),u=l&&t.match(diff_match_patch.blanklineEndRegex_),h=c&&e.match(diff_match_patch.blanklineStartRegex_);return u||h?5:l||c?4:i&&!o&&s?3:o||s?2:i||a?1:0}for(var n=1;n=h&&(h=f,l=r,c=i,u=a)}t[n-1][1]!=l&&(l?t[n-1][1]=l:(t.splice(n-1,1),n--),t[n][1]=c,u?t[n+1][1]=u:(t.splice(n+1,1),n--))}n++}},diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,diff_match_patch.whitespaceRegex_=/\s/,diff_match_patch.linebreakRegex_=/[\r\n]/,diff_match_patch.blanklineEndRegex_=/\n\r?\n$/,diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/,diff_match_patch.prototype.diff_cleanupEfficiency=function(t){for(var e=!1,n=[],r=0,i=null,a=0,o=!1,s=!1,l=!1,c=!1;a0?n[r-1]:-1,l=c=!1),e=!0)),a++;e&&this.diff_cleanupMerge(t)},diff_match_patch.prototype.diff_cleanupMerge=function(t){t.push([DIFF_EQUAL,""]);for(var e,n=0,r=0,i=0,a="",o="";n1?(0!==r&&0!==i&&(e=this.diff_commonPrefix(o,a),0!==e&&(n-r-i>0&&t[n-r-i-1][0]==DIFF_EQUAL?t[n-r-i-1][1]+=o.substring(0,e):(t.splice(0,0,[DIFF_EQUAL,o.substring(0,e)]),n++),o=o.substring(e),a=a.substring(e)),e=this.diff_commonSuffix(o,a),0!==e&&(t[n][1]=o.substring(o.length-e)+t[n][1],o=o.substring(0,o.length-e),a=a.substring(0,a.length-e))),0===r?t.splice(n-i,r+i,[DIFF_INSERT,o]):0===i?t.splice(n-r,r+i,[DIFF_DELETE,a]):t.splice(n-r-i,r+i,[DIFF_DELETE,a],[DIFF_INSERT,o]),n=n-r-i+(r?1:0)+(i?1:0)+1):0!==n&&t[n-1][0]==DIFF_EQUAL?(t[n-1][1]+=t[n][1],t.splice(n,1)):n++,i=0,r=0,a="",o=""}""===t[t.length-1][1]&&t.pop();var s=!1;for(n=1;ne));n++)a=r,o=i;return t.length!=n&&t[n][0]===DIFF_DELETE?o:o+(e-a)},diff_match_patch.prototype.diff_prettyHtml=function(t){for(var e=[],n=/&/g,r=//g,a=/\n/g,o=0;o");switch(s){case DIFF_INSERT:e[o]=''+c+"";break;case DIFF_DELETE:e[o]=''+c+"";break;case DIFF_EQUAL:e[o]=""+c+""}}return e.join("")},diff_match_patch.prototype.diff_text1=function(t){for(var e=[],n=0;nthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(e),a=this,o=this.Match_Threshold,s=t.indexOf(e,n);-1!=s&&(o=Math.min(r(0,s),o),s=t.lastIndexOf(e,n+e.length),-1!=s&&(o=Math.min(r(0,s),o)));var l=1<c;)r(d,n+u)<=o?c=u:f=u,u=Math.floor((f-c)/2+c);f=u;var p=Math.max(1,n-u+1),g=Math.min(n+u,t.length)+e.length,m=Array(g+2);m[g+1]=(1<=p;v--){var y=i[t.charAt(v-1)];if(m[v]=0===d?(m[v+1]<<1|1)&y:(m[v+1]<<1|1)&y|((h[v+1]|h[v])<<1|1)|h[v+1],m[v]&l){var x=r(d,v-1);if(o>=x){if(o=x,s=v-1,!(s>n))break;p=Math.max(1,2*n-s)}}}if(r(d+1,n)>o)break;h=m}return s},diff_match_patch.prototype.match_alphabet_=function(t){for(var e={},n=0;n2&&(this.diff_cleanupSemantic(i),this.diff_cleanupEfficiency(i));else if(t&&"object"==typeof t&&"undefined"==typeof e&&"undefined"==typeof n)i=t,r=this.diff_text1(i);else if("string"==typeof t&&e&&"object"==typeof e&&"undefined"==typeof n)r=t,i=e;else{if("string"!=typeof t||"string"!=typeof e||!n||"object"!=typeof n)throw new Error("Unknown call format to patch_make.");r=t,i=n}if(0===i.length)return[];for(var a=[],o=new diff_match_patch.patch_obj,s=0,l=0,c=0,u=r,h=r,f=0;f=2*this.Patch_Margin&&s&&(this.patch_addContext_(o,u),a.push(o),o=new diff_match_patch.patch_obj,s=0,u=h,l=c)}d!==DIFF_INSERT&&(l+=p.length),d!==DIFF_DELETE&&(c+=p.length)}return s&&(this.patch_addContext_(o,u),a.push(o)),a},diff_match_patch.prototype.patch_deepCopy=function(t){for(var e=[],n=0;nthis.Match_MaxBits?(o=this.match_main(e,l.substring(0,this.Match_MaxBits),s),-1!=o&&(c=this.match_main(e,l.substring(l.length-this.Match_MaxBits),s+l.length-this.Match_MaxBits),(-1==c||o>=c)&&(o=-1))):o=this.match_main(e,l,s),-1==o)i[a]=!1,r-=t[a].length2-t[a].length1;else{i[a]=!0,r=o-s;var u;if(u=-1==c?e.substring(o,o+l.length):e.substring(o,c+this.Match_MaxBits),l==u)e=e.substring(0,o)+this.diff_text2(t[a].diffs)+e.substring(o+l.length);else{var h=this.diff_main(l,u,!1);if(l.length>this.Match_MaxBits&&this.diff_levenshtein(h)/l.length>this.Patch_DeleteThreshold)i[a]=!1;else{this.diff_cleanupSemanticLossless(h);for(var f,d=0,p=0;p=r;r++)n+=String.fromCharCode(r);for(var r=0;ra[0][1].length){var o=e-a[0][1].length;a[0][1]=n.substring(a[0][1].length)+a[0][1],i.start1-=o,i.start2-=o,i.length1+=o,i.length2+=o}if(i=t[t.length-1],a=i.diffs,0==a.length||a[a.length-1][0]!=DIFF_EQUAL)a.push([DIFF_EQUAL,n]),i.length1+=e,i.length2+=e;else if(e>a[a.length-1][1].length){var o=e-a[a.length-1][1].length;a[a.length-1][1]+=n.substring(0,o),i.length1+=o,i.length2+=o}return n},diff_match_patch.prototype.patch_splitMax=function(t){for(var e=this.Match_MaxBits,n=0;n2*e?(s.length1+=u.length,i+=u.length,l=!1,s.diffs.push([c,u]),r.diffs.shift()):(u=u.substring(0,e-s.length1-this.Patch_Margin),s.length1+=u.length,i+=u.length,c===DIFF_EQUAL?(s.length2+=u.length,a+=u.length):l=!1,s.diffs.push([c,u]),u==r.diffs[0][1]?r.diffs.shift():r.diffs[0][1]=r.diffs[0][1].substring(u.length))}o=this.diff_text2(s.diffs),o=o.substring(o.length-this.Patch_Margin);var h=this.diff_text1(r.diffs).substring(0,this.Patch_Margin);""!==h&&(s.length1+=h.length,s.length2+=h.length,0!==s.diffs.length&&s.diffs[s.diffs.length-1][0]===DIFF_EQUAL?s.diffs[s.diffs.length-1][1]+=h:s.diffs.push([DIFF_EQUAL,h])),l||t.splice(++n,0,s)}}},diff_match_patch.prototype.patch_toText=function(t){for(var e=[],n=0;n0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],2:[function(t,e,n){var r=t("../pipe").Pipe,i=function(){};i.prototype.setResult=function(t){return this.result=t,this.hasResult=!0,this},i.prototype.exit=function(){return this.exiting=!0,this},i.prototype.switchTo=function(t,e){return"string"==typeof t||t instanceof r?this.nextPipe=t:(this.next=t,e&&(this.nextPipe=e)),this},i.prototype.push=function(t,e){return t.parent=this,"undefined"!=typeof e&&(t.childName=e),t.root=this.root||this,t.options=t.options||this.options,this.children?(this.children[this.children.length-1].next=t,this.children.push(t)):(this.children=[t],this.nextAfterChildren=this.next||null,this.next=t),t.next=this,this},n.Context=i},{"../pipe":15}],3:[function(t,e,n){var r=t("./context").Context,i=function(t,e){this.left=t,this.right=e,this.pipe="diff"};i.prototype=new r,n.DiffContext=i},{"./context":2}],4:[function(t,e,n){var r=t("./context").Context,i=function(t,e){this.left=t,this.delta=e,this.pipe="patch"};i.prototype=new r,n.PatchContext=i},{"./context":2}],5:[function(t,e,n){var r=t("./context").Context,i=function(t){this.delta=t,this.pipe="reverse"};i.prototype=new r,n.ReverseContext=i},{"./context":2}],6:[function(t,e){e.exports=function(t,e){var n;return"string"==typeof e&&(n=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)(Z|([+\-])(\d{2}):(\d{2}))$/.exec(e))?new Date(Date.UTC(+n[1],+n[2]-1,+n[3],+n[4],+n[5],+n[6])):e}},{}],7:[function(t,e,n){var r=t("./processor").Processor,i=t("./pipe").Pipe,a=t("./contexts/diff").DiffContext,o=t("./contexts/patch").PatchContext,s=t("./contexts/reverse").ReverseContext,l=t("./filters/trivial"),c=t("./filters/nested"),u=t("./filters/arrays"),h=t("./filters/dates"),f=t("./filters/texts"),d=function(t){this.processor=new r(t),this.processor.pipe(new i("diff").append(c.collectChildrenDiffFilter,l.diffFilter,h.diffFilter,f.diffFilter,c.objectsDiffFilter,u.diffFilter).shouldHaveResult()),this.processor.pipe(new i("patch").append(c.collectChildrenPatchFilter,u.collectChildrenPatchFilter,l.patchFilter,f.patchFilter,c.patchFilter,u.patchFilter).shouldHaveResult()),this.processor.pipe(new i("reverse").append(c.collectChildrenReverseFilter,u.collectChildrenReverseFilter,l.reverseFilter,f.reverseFilter,c.reverseFilter,u.reverseFilter).shouldHaveResult())};d.prototype.options=function(){return this.processor.options.apply(this.processor,arguments)},d.prototype.diff=function(t,e){return this.processor.process(new a(t,e))},d.prototype.patch=function(t,e){return this.processor.process(new o(t,e))},d.prototype.reverse=function(t){return this.processor.process(new s(t))},d.prototype.unpatch=function(t,e){return this.patch(t,this.reverse(e))},n.DiffPatcher=d},{"./contexts/diff":3,"./contexts/patch":4,"./contexts/reverse":5,"./filters/arrays":9,"./filters/dates":10,"./filters/nested":12,"./filters/texts":13,"./filters/trivial":14,"./pipe":15,"./processor":16}],8:[function(t,e,n){(function(e){var r=t("./diffpatcher").DiffPatcher;n.DiffPatcher=r,n.create=function(t){return new r(t)},n.dateReviver=t("./date-reviver");var i;n.diff=function(){return i||(i=new r),i.diff.apply(i,arguments)},n.patch=function(){return i||(i=new r),i.patch.apply(i,arguments)},n.unpatch=function(){return i||(i=new r),i.unpatch.apply(i,arguments)},n.reverse=function(){return i||(i=new r),i.reverse.apply(i,arguments)};var a="undefined"!=typeof e&&"string"==typeof e.execPath;if(a){var o=t("./formatters/index");n.formatters=o,n.console=o.console}else n.homepage="https://github.com/benjamine/jsondiffpatch",n.version="0.1.5"}).call(this,t("/home/sheila/proj/JsonDiffPatch/node_modules/gulp-browserify/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))},{"./date-reviver":6,"./diffpatcher":7,"/home/sheila/proj/JsonDiffPatch/node_modules/gulp-browserify/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":1 +}],9:[function(t,e,n){var r=t("../contexts/diff").DiffContext,i=t("../contexts/patch").PatchContext,a=t("../contexts/reverse").ReverseContext,o=t("./lcs"),s=3,l="function"==typeof Array.isArray?Array.isArray:function(t){return t instanceof Array},c="function"==typeof Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var n=t.length,r=0;n>r;r++)if(t[r]===e)return r;return-1},u=function(t){if(t.leftIsArray){for(var e,n,i,a,l=t.options&&t.options.objectHash,u=function(t,e,n,r,i){var a=t[n],o=e[r];if(a===o)return!0;if("object"!=typeof a||"object"!=typeof o)return!1;if(!l)return!1;var s,c;return"number"==typeof n?(i.hashCache1=i.hashCache1||[],s=i.hashCache1[n],"undefined"==typeof s&&(i.hashCache1[n]=s=l(a,n))):s=l(a),"undefined"==typeof s?!1:("number"==typeof r?(i.hashCache2=i.hashCache2||[],c=i.hashCache2[r],"undefined"==typeof c&&(i.hashCache2[r]=c=l(o,r))):c=l(o),"undefined"==typeof c?!1:s===c)},h={},f=0,d=0,p=t.left,g=t.right,m=p.length,v=g.length;m>f&&v>f&&u(p,g,f,f,h);)e=f,a=new r(t.left[e],t.right[e]),t.push(a,e),f++;for(;m>d+f&&v>d+f&&u(p,g,m-1-d,v-1-d,h);)n=m-1-d,i=v-1-d,a=new r(t.left[n],t.right[i]),t.push(a,i),d++;var y;if(f+d===m){if(m===v)return void t.setResult(void 0).exit();for(y=y||{_t:"a"},e=f;v-d>e;e++)y[e]=[g[e]];return void t.setResult(y).exit()}if(f+d===v){for(y=y||{_t:"a"},e=f;m-d>e;e++)y["_"+e]=[p[e],0,0];return void t.setResult(y).exit()}h={};var x=p.slice(f,m-d),b=g.slice(f,v-d),w=o.get(x,b,u,h),_=[];for(y=y||{_t:"a"},e=f;m-d>e;e++)c(w.indices1,e-f)<0&&(y["_"+e]=[p[e],0,0],_.push(e));var S=!0;t.options&&t.options.arrays&&t.options.arrays.detectMove===!1&&(S=!1);var C=!1;t.options&&t.options.arrays&&t.options.arrays.includeValueOnMove&&(C=!0);var E=_.length;for(e=f;v-d>e;e++){var k=c(w.indices2,e-f);if(0>k){var T=!1;if(S&&E>0)for(n=0;E>n;n++)if(u(x,b,_[n]-f,e-f,h)){y["_"+_[n]].splice(1,2,e,s),C||(y["_"+_[n]][0]=""),n=_[n],i=e,a=new r(t.left[n],t.right[i]),t.push(a,i),_.splice(n,1),T=!0;break}T||(y[e]=[g[e]])}else n=w.indices1[k]+f,i=w.indices2[k]+f,a=new r(t.left[n],t.right[i]),t.push(a,i)}t.setResult(y).exit()}};u.filterName="arrays";var h={numerically:function(t,e){return t-e},numericallyBy:function(t){return function(e,n){return e[t]-n[t]}}},f=function(t){if(t.nested&&"a"===t.delta._t){var e,n,r=t.delta,a=t.left,o=[],l=[],c=[];for(e in r)if("_t"!==e)if("_"===e[0]){if(0!==r[e][2]&&r[e][2]!==s)throw new Error("only removal or move can be applied at original array indices, invalid diff type: "+r[e][2]);o.push(parseInt(e.slice(1),10))}else 1===r[e].length?l.push({index:parseInt(e,10),value:r[e][0]}):c.push({index:parseInt(e,10),delta:r[e]});for(o=o.sort(h.numerically),e=o.length-1;e>=0;e--){n=o[e];var u=r["_"+n],f=a.splice(n,1)[0];u[2]===s&&l.push({index:u[1],value:f})}l=l.sort(h.numericallyBy("index"));var d=l.length;for(e=0;d>e;e++){var p=l[e];a.splice(p.index,0,p.value)}var g,m=c.length;if(m>0)for(e=0;m>e;e++){var v=c[e];g=new i(t.left[v.index],v.delta),t.push(g,v.index)}return t.children?void t.exit():void t.setResult(t.left).exit()}};f.filterName="arrays";var d=function(t){if(t&&t.children&&"a"===t.delta._t){for(var e,n=t.children.length,r=0;n>r;r++)e=t.children[r],t.left[e.childName]=e.result;t.setResult(t.left).exit()}};d.filterName="arraysCollectChildren";var p=function(t){if(!t.nested)return void(t.delta[2]===s&&(t.newName="_"+t.delta[1],t.setResult([t.delta[0],parseInt(t.childName.substr(1),10),s]).exit()));if("a"===t.delta._t){var e,n;for(e in t.delta)"_t"!==e&&(n=new a(t.delta[e]),t.push(n,e));t.exit()}};p.filterName="arrays";var g=function(t,e,n){var r=e;if("string"==typeof e&&"_"===e[0])r=parseInt(e.substr(1),10);else{var i="_"+e;if(l(n)&&0===n[2])r=i;else for(var a in t){var o=t[a];l(o)&&o[2]===s&&o[1].toString()===e&&(r=a.substr(1))}}return r},m=function(t){if(t&&t.children&&"a"===t.delta._t){for(var e,n=t.children.length,r={_t:"a"},i=0;n>i;i++){e=t.children[i];var a=e.newName;"undefined"==typeof a&&(a=g(t.delta,e.childName,e.result)),r[a]!==e.result&&(r[a]=e.result)}t.setResult(r).exit()}};m.filterName="arraysCollectChildren",n.diffFilter=u,n.patchFilter=f,n.collectChildrenPatchFilter=d,n.reverseFilter=p,n.collectChildrenReverseFilter=m},{"../contexts/diff":3,"../contexts/patch":4,"../contexts/reverse":5,"./lcs":11}],10:[function(t,e,n){var r=function(t){t.left instanceof Date?(t.setResult(t.right instanceof Date?t.left.getTime()!==t.right.getTime()?[t.left,t.right]:void 0:[t.left,t.right]),t.exit()):t.right instanceof Date&&t.setResult([t.left,t.right]).exit()};r.filterName="dates",n.diffFilter=r},{}],11:[function(t,e,n){var r=function(t,e,n,r){return t[n]===e[r]},i=function(t,e,n,r){var i,a,o=t.length,s=e.length,l=[o+1];for(i=0;o+1>i;i++)for(l[i]=[s+1],a=0;s+1>a;a++)l[i][a]=0;for(l.match=n,i=1;o+1>i;i++)for(a=1;s+1>a;a++)l[i][a]=n(t,e,i-1,a-1,r)?l[i-1][a-1]+1:Math.max(l[i-1][a],l[i][a-1]);return l},a=function(t,e,n,r,i,o){if(0===r||0===i)return{sequence:[],indices1:[],indices2:[]};if(t.match(e,n,r-1,i-1,o)){var s=a(t,e,n,r-1,i-1,o);return s.sequence.push(e[r-1]),s.indices1.push(r-1),s.indices2.push(i-1),s}return t[r][i-1]>t[r-1][i]?a(t,e,n,r,i-1,o):a(t,e,n,r-1,i,o)},o=function(t,e,n,o){o=o||{};var s=i(t,e,n||r,o),l=a(s,t,e,t.length,e.length,o);return"string"==typeof t&&"string"==typeof e&&(l.sequence=l.sequence.join("")),l};n.get=o},{}],12:[function(t,e,n){var r=t("../contexts/diff").DiffContext,i=t("../contexts/patch").PatchContext,a=t("../contexts/reverse").ReverseContext,o=function(t){if(t&&t.children){for(var e,n=t.children.length,r=t.result,i=0;n>i;i++)e=t.children[i],"undefined"!=typeof e.result&&(r=r||{},r[e.childName]=e.result);r&&t.leftIsArray&&(r._t="a"),t.setResult(r).exit()}};o.filterName="collectChildren";var s=function(t){if(!t.leftIsArray&&"object"===t.leftType){var e,n;for(e in t.left)n=new r(t.left[e],t.right[e]),t.push(n,e);for(e in t.right)"undefined"==typeof t.left[e]&&(n=new r(void 0,t.right[e]),t.push(n,e));return t.children&&0!==t.children.length?void t.exit():void t.setResult(void 0).exit()}};s.filterName="objects";var l=function(t){if(t.nested&&!t.delta._t){var e,n;for(e in t.delta)n=new i(t.left[e],t.delta[e]),t.push(n,e);t.exit()}};l.filterName="objects";var c=function(t){if(t&&t.children&&!t.delta._t){for(var e,n=t.children.length,r=0;n>r;r++)e=t.children[r],t.left[e.childName]!==e.result&&(t.left[e.childName]=e.result);t.setResult(t.left).exit()}};c.filterName="collectChildren";var u=function(t){if(t.nested&&!t.delta._t){var e,n;for(e in t.delta)n=new a(t.delta[e]),t.push(n,e);t.exit()}};u.filterName="objects";var h=function(t){if(t&&t.children&&!t.delta._t){for(var e,n=t.children.length,r={},i=0;n>i;i++)e=t.children[i],r[e.childName]!==e.result&&(r[e.childName]=e.result);t.setResult(r).exit()}};h.filterName="collectChildren",n.collectChildrenDiffFilter=o,n.objectsDiffFilter=s,n.patchFilter=l,n.collectChildrenPatchFilter=c,n.reverseFilter=u,n.collectChildrenReverseFilter=h},{"../contexts/diff":3,"../contexts/patch":4,"../contexts/reverse":5}],13:[function(t,e,n){var r=2,i=60,a=null,o=function(){if(!a){var e;if("undefined"!=typeof diff_match_patch)e=new diff_match_patch;else if("function"==typeof t){var n=t("../../external/diff_match_patch_uncompressed");e=new n.diff_match_patch}if(!e){var r=new Error("text diff_match_patch library not found");throw r.diff_match_patch_not_found=!0,r}a={diff:function(t,n){return e.patch_toText(e.patch_make(t,n))},patch:function(t,n){for(var r=e.patch_apply(e.patch_fromText(n),t),i=0;ie;e++){i=r[e];var h=i.slice(0,1);"@"===h?(c=u.exec(i),o=e,s=null,l=null,r[o]="@@ -"+c[3]+","+c[4]+" +"+c[1]+","+c[2]+" @@"):"+"===h?(s=e,r[e]="-"+r[e].slice(1),"+"===r[e-1].slice(0,1)&&(a=r[e],r[e]=r[e-1],r[e-1]=a)):"-"===h&&(l=e,r[e]="+"+r[e].slice(1))}return r.join("\n")},u=function(t){t.nested||t.delta[2]===r&&t.setResult([c(t.delta[0]),0,r]).exit()};u.filterName="texts",n.diffFilter=s,n.patchFilter=l,n.reverseFilter=u},{}],14:[function(t,e,n){var r="function"==typeof Array.isArray?Array.isArray:function(t){return t instanceof Array},i=function(t){if(t.left===t.right)return void t.setResult(void 0).exit();if("undefined"==typeof t.left){if("function"==typeof t.right)throw new Error("functions are not supported");return void t.setResult([t.right]).exit()}if("undefined"==typeof t.right)return void t.setResult([t.left,0,0]).exit();if("function"==typeof t.left||"function"==typeof t.right)throw new Error("functions are not supported");return t.leftType=null===t.left?"null":typeof t.left,t.rightType=null===t.right?"null":typeof t.right,t.leftType!==t.rightType?void t.setResult([t.left,t.right]).exit():"boolean"===t.leftType||"number"===t.leftType?void t.setResult([t.left,t.right]).exit():("object"===t.leftType&&(t.leftIsArray=r(t.left)),"object"===t.rightType&&(t.rightIsArray=r(t.right)),t.leftIsArray!==t.rightIsArray?void t.setResult([t.left,t.right]).exit():void 0)};i.filterName="trivial";var a=function(t){return"undefined"==typeof t.delta?void t.setResult(t.left).exit():(t.nested=!r(t.delta),t.nested?void 0:1===t.delta.length?void t.setResult(t.delta[0]).exit():2===t.delta.length?void t.setResult(t.delta[1]).exit():3===t.delta.length&&0===t.delta[2]?void t.setResult(void 0).exit():void 0)};a.filterName="trivial";var o=function(t){return"undefined"==typeof t.delta?void t.setResult(t.delta).exit():(t.nested=!r(t.delta),t.nested?void 0:1===t.delta.length?void t.setResult([t.delta[0],0,0]).exit():2===t.delta.length?void t.setResult([t.delta[1],t.delta[0]]).exit():3===t.delta.length&&0===t.delta[2]?void t.setResult([t.delta[0]]).exit():void 0)};o.filterName="trivial",n.diffFilter=i,n.patchFilter=a,n.reverseFilter=o},{}],15:[function(t,e,n){var r=function(t){this.name=t,this.filters=[]};r.prototype.process=function(t){if(!this.processor)throw new Error("add this pipe to a processor before using it");for(var e=this.debug,n=this.filters.length,r=t,i=0;n>i;i++){var a=this.filters[i];if(e&&this.log("filter: "+a.filterName),a(r),"object"==typeof r&&r.exiting){r.exiting=!1;break}}!r.next&&this.resultCheck&&this.resultCheck(r)},r.prototype.log=function(t){console.log("[jsondiffpatch] "+this.name+" pipe, "+t)},r.prototype.append=function(){return this.filters.push.apply(this.filters,arguments),this},r.prototype.prepend=function(){return this.filters.unshift.apply(this.filters,arguments),this},r.prototype.indexOf=function(t){if(!t)throw new Error("a filter name is required");for(var e=0;e>>0)+(e++ +"__")};n.prototype={set:function(e,n){var r=e[this.name];r&&r[0]===e?r[1]=n:t(e,this.name,{value:[e,n],writable:!0})},get:function(t){var e;return(e=t[this.name])&&e[0]===t?e[1]:void 0},"delete":function(t){this.set(t,void 0)}},window.WeakMap=n}(),define("WeakMap",function(){}),function(t){function e(t){b.push(t),x||(x=!0,m(r))}function n(t){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(t)||t}function r(){x=!1;var t=b;b=[],t.sort(function(t,e){return t.uid_-e.uid_});var e=!1;t.forEach(function(t){var n=t.takeRecords();i(t),n.length&&(t.callback_(n,t),e=!0)}),e&&r()}function i(t){t.nodes_.forEach(function(e){var n=g.get(e);n&&n.forEach(function(e){e.observer===t&&e.removeTransientObservers()})})}function a(t,e){for(var n=t;n;n=n.parentNode){var r=g.get(n);if(r)for(var i=0;i0){var i=n[r-1],a=d(i,t);if(a)return void(n[r-1]=a)}else e(this.observer);n[r]=t},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(t){var e=this.options;e.attributes&&t.addEventListener("DOMAttrModified",this,!0),e.characterData&&t.addEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.addEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(t){var e=this.options;e.attributes&&t.removeEventListener("DOMAttrModified",this,!0),e.characterData&&t.removeEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.removeEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(t){if(t!==this.target){this.addListeners_(t),this.transientObservedNodes.push(t);var e=g.get(t);e||g.set(t,e=[]),e.push(this)}},removeTransientObservers:function(){var t=this.transientObservedNodes;this.transientObservedNodes=[],t.forEach(function(t){this.removeListeners_(t);for(var e=g.get(t),n=0;n/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi},Prism.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&/,"&"))}),define("bower-libs/prism/components/prism-markup",function(){}),Prism.languages.latex={keyword:/\\(?:[^a-zA-Z]|[a-zA-Z]+)/g,lparen:/[[({]/g,rparen:/[\])}]/g,comment:/%.*/g},define("libs/prism-latex",function(){}),Prism.languages.md=function(){var t="(&|[-A-Z0-9+@#/%?=~_|[\\]()!:,.;])",e="(&|[-A-Z0-9+@#/%=~_|[\\])])",n=new RegExp("(https?|ftp)(://"+t+"*"+e+")(?=$|\\W)","gi"),r=/(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)/gi,i=Prism.languages.latex,a=/\n/gm,o={};o["pre gfm"]={pattern:/^`{3}.*\n(?:[\s\S]*?)\n`{3} *$/gm,inside:{"md md-pre":/`{3}/,lf:a}},o["h1 alt"]={pattern:/^(.+)[ \t]*\n=+[ \t]*$/gm,inside:{}},o["h2 alt"]={pattern:/^(.+)[ \t]*\n-+[ \t]*$/gm,inside:{}};for(var s=6;s>=1;s--)o["h"+s]={pattern:new RegExp("^#{"+s+"}.+$","gm"),inside:{"md md-hash":new RegExp("^#{"+s+"}")}};o.li={pattern:/^[ \t]*([*+\-]|\d+\.)[ \t].+(?:\n|[ \t].*\n)*/gm,inside:{"md md-li":/^[ \t]*([*+\-]|\d+\.)[ \t]/m,"pre gfm":{pattern:/^((?: {4}|\t)+)`{3}.*\n(?:[\s\S]*?)\n\1`{3} *$/gm,inside:{"md md-pre":/`{3}/,lf:a}},lf:a}},o.pre={pattern:/(^|(?:^|(?:^|\n)(?![ \t]*([*+\-]|\d+\.)[ \t]).*\n)\s*?\n)(\s*(?: {4}|\t).*(?:\n|$))+/g,lookbehind:!0,inside:{lf:a}},o.table={pattern:new RegExp(["^","[ ]{0,3}","[|]","(.+)\\n","[ ]{0,3}","[|]([ ]*[-:]+[-| :]*)\\n","(","(?:[ ]*[|].*\\n?)*",")","(?:\\n|$)"].join(""),"gm"),inside:{lf:a}},o["table alt"]={pattern:new RegExp(["^","[ ]{0,3}","(\\S.*[|].*)\\n","[ ]{0,3}","([-:]+[ ]*[|][-| :]*)\\n","(","(?:.*[|].*\\n?)*",")","(?:\\n|$)"].join(""),"gm"),inside:{lf:a}},o.hr={pattern:/^([*\-_] *){3,}$/gm},o.blockquote={pattern:/^ {0,3}> *[^\n]+$/gm,inside:{"md md-gt":/^ {0,3}> */,li:o.li}},o["math block"]={pattern:/(\$\$|\\\\\[|\\\\\\\\\()[\s\S]*?(\$\$|\\\\\]|\\\\\\\\\))/g,inside:{"md md-bracket-start":/^(\$\$|\\\\\[|\\\\\\\\\()/,"md md-bracket-end":/(\$\$|\\\\\]|\\\\\\\\\))/,lf:a,rest:i}},o["latex block"]={pattern:/\\?\\begin\{([a-z]*\*?)\}[\s\S]*?\\?\\end\{\1\}/g,inside:{keyword:/\\?\\(begin|end)/,lf:a,rest:i}},o.fndef={pattern:/^ {0,3}\[\^.*?\]:[ \t]+.*$/gm,inside:{"ref-id":{pattern:/\[\^.*?\]/,inside:{"md md-bracket-start":/\[/,"md md-bracket-end":/\]/}}}},o.linkdef={pattern:/^ {0,3}\[.*?\]:[ \t]+.*$/gm,inside:{"link-id":{pattern:/\[.*?\]/,inside:{"md md-bracket-start":/\[/,"md md-bracket-end":/\]/}},url:n,linktitle:/['\"\(][^\'\"\)]*['\"\)]/}},o.p={pattern:/.+/g,inside:{"md md-toc":/^\s*\[(toc|TOC)\]\s*$/g}},o.lf=/^\n$/gm,o.img={pattern:/!\[[^\]]*\]\([^\)]+\)/g,inside:{"md md-bang":/^!/,"md md-bracket-start":/\[/,"md md-alt":/[^\[]+(?=\])/,"md md-bracket-end":/\](?=\()/,"md img-parens":{pattern:/\([^\)]+\)/,inside:{"md md-paren-start":/^\(/,"md md-title":/(['‘][^'’]*['’]|["“][^"”]*["”])(?=\)$)/,"md md-src":/[^\('" \t]+(?=[\)'" \t])/,"md md-paren-end":/\)$/}}}},o.link={pattern:/\[(?:(\\.)|[^\[\]])*\]\([^\(\)\s]+(\(\S*?\))??[^\(\)\s]*?(\s(['‘][^'’]*['’]|["“][^"”]*["”]))?\)/gm,inside:{"md md-bracket-start":{pattern:/(^|[^\\])\[/,lookbehind:!0},"md md-underlined-text":{pattern:/(?:(\\.)|[^\[\]])+(?=\])/},"md md-bracket-end":/\]\s?\(/,"md md-paren-end":/\)$/,"md md-href":/.*/}},o.fn={pattern:/\[\^(.*?)\]/g,inside:{ref:{pattern:/^\[[^\[\]]+\] ?/,inside:{"md md-bracket-start":/\[/,"md md-ref":/^[^\[\]]+/,"md md-bracket-end":/\]/}}}},o.imgref={pattern:/!\[(.*?)\] ?\[(.*?)\]/g,inside:{"md md-bang":/^!/,"ref-end":{pattern:/\[[^\[\]]+\]$/,inside:{"md md-bracket-start":/\[/,"md md-href":/[^\[\]]+(?=]$)/,"md md-bracket-end":/\]/}},"ref-start":{pattern:/^\[[^\[\]]+\] ?/,inside:{"md md-bracket-start":/\[/,"md md-alt":/^[^\[\]]+/,"md md-bracket-end":/\]/}}}},o.linkref={pattern:/\[(.*?)\] ?\[(.*?)\]/g,inside:{"ref-end":{pattern:/\[[^\[\]]+\]$/,inside:{"md md-bracket-start":/\[/,"md md-href":/[^\[\]]+(?=]$)/,"md md-bracket-end":/\]/}},"ref-start":{pattern:/^\[[^\[\]]+\] ?/,inside:{"md md-bracket-start":/\[/,"md md-underlined-text":/^[^\[\]]+/,"md md-bracket-end":/\]/}}}},o.code={pattern:/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/g,lookbehind:!0,inside:{"md md-code":/`/}},o.math={pattern:/\$.*?\$/g,inside:{"md md-bracket-start":/^\$/,"md md-bracket-end":/\$$/,rest:i}},o.strong={pattern:/([_\*])\1((?!\1{2}).)*\1{2}/g,inside:{"md md-strong":/([_\*])\1/g}},o.em={pattern:/(^|[^\\])(\*|_)(\S[^\2]*?)??[^\s\\]+?\2/g,lookbehind:!0,inside:{"md md-em md-start":/^(\*|_)/,"md md-em md-close":/(\*|_)$/}},o.strike={pattern:/(^|\n|\W)(~~)(?=\S)([^\r]*?\S)\2/gm,lookbehind:!0,inside:{"md md-s":/(~~)/,"md-strike-text":/[^~]+/}};for(var l={code:o.code,math:o.math,fn:o.fn,img:o.img,link:o.link,imgref:o.imgref,linkref:o.linkref,url:n,email:r,strong:o.strong,em:o.em,strike:o.strike,conflict:/⧸⧸/g,comment:Prism.languages.markup.comment,tag:Prism.languages.markup.tag,entity:Prism.languages.markup.entity},c=6;c>=1;c--)o["h"+c].inside.rest=l;o["h1 alt"].inside.rest=l,o["h2 alt"].inside.rest=l,o.table.inside.rest=l,o["table alt"].inside.rest=l,o.p.inside.rest=l,o.blockquote.inside.rest=l,o.li.inside.rest=l,o.fndef.inside.rest=l,l={code:o.code,fn:o.fn,link:o.link,linkref:o.linkref,conflict:/⧸⧸/g},o.strong.inside.rest=l,o.em.inside.rest=l,o.strike.inside.rest=l;var u={code:o.code,strong:o.strong,em:o.em,strike:o.strike,conflict:/⧸⧸/g,comment:Prism.languages.markup.comment,tag:Prism.languages.markup.tag,entity:Prism.languages.markup.entity};return o.link.inside["md md-underlined-text"].inside=u,o.linkref.inside["ref-start"].inside["md md-underlined-text"].inside=u,o}(),define("libs/prism-markdown",function(){}),define("editor",["underscore","utils","settings","eventMgr","prism-core","diff_match_patch_uncompressed","jsondiffpatch","crel","rangy","MutationObservers","libs/prism-markdown"],function(t,e,n,r,i,a,o,s,l){function c(){this.isWatching=!1;var t;this.startWatching=function(){this.isWatching=!0,t=t||new MutationObserver(w),t.observe(N,{childList:!0,subtree:!0,characterData:!0})},this.stopWatching=function(){t.disconnect(),this.isWatching=!1},this.noWatch=function(t){this.isWatching===!0?(this.stopWatching(),t(),this.startWatching()):t()}}function u(){var i=this,a=0,o=0;this.selectionStart=0,this.selectionEnd=0,this.cursorY=0,this.adjustTop=0,this.adjustBottom=0,this.findOffsets=function(t){var e=[];if(!t.length)return e;for(var n=t.shift(),r=document.createTreeWalker(N,4,null,!1),i="",a=0;r.nextNode();){i=r.currentNode.nodeValue||"";for(var o=a+i.length;o>n;){if(e.push({container:r.currentNode,offsetInContainer:n-a,offset:n}),!t.length)return e;n=t.shift()}a=o}do e.push({container:r.currentNode,offsetInContainer:i.length,offset:n}),n=t.shift();while(n);return e},this.createRange=function(e,n){e=0>e?0:e,n=0>n?0:n;var r,i,a=document.createRange(),o=[];t.isNumber(e)&&(o.push(e),r=o.length-1),t.isNumber(n)&&(o.push(n),i=o.length-1),o=this.findOffsets(o);var s=t.isObject(e)?e:o[r];a.setStart(s.container,s.offsetInContainer);var l=s;return n&&n!=e&&(l=t.isObject(n)?n:o[i]),a.setEnd(l.container,l.offsetInContainer),a};var s,c=e.debounce(function(){I.toggleClass("has-selection",this.selectionStart!==this.selectionEnd);var t=this.getCoordinates(this.selectionEnd,this.selectionEndContainer,this.selectionEndOffset);if(this.cursorY!==t.y&&(this.cursorY=t.y,r.onCursorCoordinates(t.x,t.y)),s){var e,i;if(e=i=T.offsetHeight/2*n.cursorFocusRatio,e=this.adjustTop||e,i=this.adjustBottom||e,e&&i){var a=T.scrollTop+e,o=T.scrollTop+T.offsetHeight-i;W.cursorYo&&(T.scrollTop+=W.cursorY-o)}}s=!1},this);this.updateCursorCoordinates=function(t){s=s||t,c()},this.updateSelectionRange=function(){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd),n=this.createRange(t,e),r=l.getSelection();r.removeAllRanges(),r.addRange(n,this.selectionStart>this.selectionEnd)};var u=t.debounce(function(){a=i.selectionStart,o=i.selectionEnd},50);this.setSelectionStartEnd=function(t,e){void 0===t&&(t=this.selectionStart),0>t&&(t=0),void 0===e&&(e=this.selectionEnd),0>e&&(e=0),this.selectionStart=t,this.selectionEnd=e,H.editorStart=t,H.editorEnd=e,u()},this.saveSelectionState=function(){function t(){if(U===!1){var t=i.selectionStart,e=i.selectionEnd,n=l.getSelection();if(n.rangeCount>0){var r=n.getRangeAt(0),a=r.startContainer;if(N.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_CONTAINED_BY||N===a){var o=r.startOffset;a.hasChildNodes()&&o>0&&(a=a.childNodes[o-1],o=a.textContent.length);for(var s=a;a!=N;){for(;a=a.previousSibling;)a.textContent&&(o+=a.textContent.length);a=s=s.parentNode}n.isBackwards()?(t=o+r.toString().length,e=o):(t=o,e=o+r.toString().length),t===e&&"\n"==r.startContainer.textContent&&1==r.startOffset&&(t=--e,i.setSelectionStartEnd(t,e),i.updateSelectionRange())}}i.setSelectionStartEnd(t,e)}Y.saveSelectionState()}var n=!1,r=e.debounce(function(){t(),i.updateCursorCoordinates(n),s()}),s=e.debounce(function(){t(),a===i.selectionStart&&o===i.selectionEnd&&(n=!1),i.updateCursorCoordinates(n),n=!1},10);return function(e,i,s){return s&&(a=void 0,o=void 0),e?(n=n||i,r()):void t()}}(),this.getSelectedText=function(){var t=Math.min(this.selectionStart,this.selectionEnd),e=Math.max(this.selectionStart,this.selectionEnd);return X.substring(t,e)},this.getCoordinates=function(t,e,n){if(!e){var r=this.findOffsets([t])[0];e=r.container,n=r.offsetInContainer}var i=0,a=0;if("\n"==e.textContent)a=e.parentNode.offsetTop+e.parentNode.offsetHeight/2;else{var o=X[t],s={container:e,offsetInContainer:n,offset:t},l={container:e,offsetInContainer:n,offset:t};t>0&&(void 0===o||"\n"==o)?0===s.offset?s=t-1:s.offsetInContainer-=1:l.offset===e.textContent.length?l=t+1:l.offsetInContainer+=1;var c=this.createRange(s,l),u=c.getBoundingClientRect();a=u.top+u.height/2-T.getBoundingClientRect().top+T.scrollTop}return{x:i,y:a}},this.getClosestWordOffset=function(t){var e=0,n=0,r=0;return X.split(/\s/).some(function(i){return i&&(e=r,n=r+i.length,n>t)?!0:void(r+=i.length+1)}),{start:e,end:n}}}function h(t){void 0!==T&&W.saveSelectionState(!0,!0,t)}function f(t){var e=G.diff_commonPrefix(X,t);e===X.length&&e--;var n=Math.min(G.diff_commonSuffix(X,t),X.length-e,t.length-e),r=t.substring(e,t.length-n),i=W.createRange(e,X.length-n);return i.deleteContents(),i.insertNode(document.createTextNode(r)),{start:e,end:t.length-n}}function d(t,e,n){Y.currentMode=Y.currentMode||"replace";var r=W.createRange(Math.min(t,e),Math.max(t,e));""+r!=n&&(r.deleteContents(),r.insertNode(document.createTextNode(n)));var i=t+n.length;W.setSelectionStartEnd(i,i),W.updateSelectionRange(),W.updateCursorCoordinates(!0)}function p(t,e){Y.currentMode=Y.currentMode||"replace";var n=X.replace(t,e);if(n!=X){var r=F.setValue(n);W.setSelectionStartEnd(r.end,r.end),W.updateSelectionRange(),W.updateCursorCoordinates(!0)}}function g(t,e){var n=W.selectionStart;if(n!==W.selectionEnd)return!1;var r=W.createRange(n-t.length,n);return""+r!=t?!1:(r.deleteContents(),r.insertNode(document.createTextNode(e)),n=n-t.length+e.length,W.setSelectionStartEnd(n,n),W.updateSelectionRange(),W.updateCursorCoordinates(!0),!0)}function m(t){f(t),X=t}function v(){return X}function y(){R.focus(),W.updateSelectionRange(),T.scrollTop=P}function x(){function n(e,n,i){q.noWatch(function(){X!=e.content&&(m(e.content),H.content=e.content,r.onContentChanged(H,e.content)),W.setSelectionStartEnd(n,i),W.updateSelectionRange(),W.updateCursorCoordinates(!0);var a=H.discussionListJSON;if(a!=e.discussionListJSON){var o=H.discussionList;H.discussionListJSON=e.discussionListJSON;var s=H.discussionList,l=z.diff(o,s),c=!1;t.each(l,function(e,n){t.isArray(e)?1===e.length?r.onDiscussionCreated(H,s[n]):r.onDiscussionRemoved(H,o[n]):c=!0}),c&&r.onCommentsChanged(H)}}),s=n,l=i,o=e,this.currentMode=void 0,a=void 0,this.onButtonStateChange(),h()}var i,a,o,s,l,c=[],u=[];this.setCommandMode=function(){this.currentMode="command"},this.setMode=function(){},this.onButtonStateChange=function(){},this.saveState=e.debounce(function(){u=[];var t=Date.now();if("comment"==this.currentMode||"replace"==this.currentMode||"newlines"==a||this.currentMode!=a||t-i>1e3)for(c.push(o);c.length>100;)c.shift();else s=o.selectionStartBefore,l=o.selectionEndBefore;o={selectionStartBefore:s,selectionEndBefore:l,selectionStartAfter:W.selectionStart,selectionEndAfter:W.selectionEnd,content:X,discussionListJSON:H.discussionListJSON},i=t,a=this.currentMode,this.currentMode=void 0,this.onButtonStateChange()},this),this.saveSelectionState=t.debounce(function(){void 0===this.currentMode&&(s=W.selectionStart,l=W.selectionEnd)},50),this.canUndo=function(){return c.length},this.canRedo=function(){return u.length},this.undo=function(){var t=c.pop();t&&(u.push(o),n.call(this,t,o.selectionStartBefore,o.selectionEndBefore))},this.redo=function(){var t=u.pop();t&&(c.push(o),n.call(this,t,t.selectionStartAfter,t.selectionEndAfter))},this.init=function(){var t=H.content;c=[],u=[],i=0,o={selectionStartAfter:H.selectionStart,selectionEndAfter:H.selectionEnd,content:t,discussionListJSON:H.discussionListJSON},this.currentMode=void 0,a=void 0,N.textContent=t,w()}}function b(){q.isWatching===!0&&(Y.currentMode=Y.currentMode||"comment",Y.saveState())}function w(){var e=T.textContent;if(N.lastChild===D&&"\n"==D.textContent.slice(-1)&&(e=e.slice(0,-1)),e=e.replace(/\r\n?/g,"\n"),U===!1){if(e==X)return void(0===N.children.length&&(N.innerHTML="",K.forEach(function(t){N.appendChild(t.elt)}),E()));Y.currentMode=Y.currentMode||"typing";var n=t.values(H.discussionList);H.newDiscussion&&n.push(H.newDiscussion); +var i=_(X,e,n);X=e,i===!0&&(H.discussionList=H.discussionList),H.content=X,W.saveSelectionState(),r.onContentChanged(H,X),i&&r.onCommentsChanged(H),Y.saveState(),J()}else X=e,H.content=X,W.setSelectionStartEnd(H.editorStart,H.editorEnd),W.updateSelectionRange(),W.updateCursorCoordinates(),Y.saveSelectionState(),r.onFileOpen(H,X),L.scrollTop=H.previewScrollTop,P=H.editorScrollTop,T.scrollTop=P,U=!1}function _(t,e,n){if(n.length){var r=G.diff_main(t,e),i=!1,a=0;return r.forEach(function(t){var e=t[0],r=t[1];if(0===e)return void(a+=r.length);var o=a,s=r.length;-1===e&&(o+=s,s=-s),n.forEach(function(t){t.selectionEnd>o?(t.selectionEnd+=s,t.discussionIndex&&(i=!0)):t.selectionEnd>a&&(t.selectionEnd=a,t.discussionIndex&&(i=!0)),t.selectionStart>=o?(t.selectionStart+=s,t.discussionIndex&&(i=!0)):t.selectionStart>a&&(t.selectionStart=a,t.discussionIndex&&(i=!0))}),1===e&&(a+=r.length)}),i}}function S(e){if(tt=[],Z=[],Q=void 0,U===!0)return Z=K,K=e,void(tt=e);var n=K.length;t.some(K,function(t,r){var i=e[r];return r>=e.length||t.textWithFrontMatter!=i.textWithFrontMatter||t.elt.parentNode!==N||t.elt.textContent!=i.textWithFrontMatter?(n=r,!0):void 0});var r=-K.length;t.some(K.slice().reverse(),function(t,n){var i=e[e.length-n-1];return n>=e.length||t.textWithFrontMatter!=i.textWithFrontMatter||t.elt.parentNode!==N||t.elt.textContent!=i.textWithFrontMatter?(r=-n,!0):void 0}),n-r>K.length&&(r=n-K.length);var i=K.slice(0,n);tt=e.slice(n,e.length+r);var a=K.slice(K.length+r,K.length);Q=t.first(a),Z=K.slice(n,K.length+r),K=i.concat(tt).concat(a)}function C(){var t=document.createDocumentFragment();tt.forEach(function(e){k(e),t.appendChild(e.elt)}),q.noWatch(function(){if(U===!0)N.innerHTML="",N.appendChild(t);else{Z.forEach(function(t){t.elt.parentNode===N&&N.removeChild(t.elt),t.elt.generated=!1}),void 0!==Q?N.insertBefore(t,Q.elt):N.appendChild(t);for(var e=N.firstChild;e;){var n=e.nextSibling;e.generated||N.removeChild(e),e=n}}E(),W.updateSelectionRange(),W.updateCursorCoordinates()})}function E(){D=s("span",{"class":"token lf"}),D.textContent="\n",N.appendChild(D)}function k(t){var e=et(t.text);window.viewerMode||(e=i.highlight(e,i.languages.md));var n=t.textWithFrontMatter.substring(0,t.textWithFrontMatter.length-t.text.length);n.length&&(n=et(n),n=n.replace(/\n/g,'\n'),e=''+n+""+e);var r=s("span",{id:"wmd-input-section-"+t.id,"class":"wmd-input-section"});r.generated=!0,r.innerHTML=e,t.elt=r}var T,I,N,R,A,M,L,O,D,F={},P=0,B=function(){var e,r=0,i=function(){var t=Date.now();O.refreshPreview(),r=Date.now()-t};return n.lazyRendering===!0?t.debounce(i,500):function(){clearTimeout(e),e=setTimeout(i,2e3>r?r:2e3)}}();r.addListener("onPagedownConfigure",function(t){O=t});var j=0;r.addListener("onSectionsCreated",function(t){j||(S(t),C()),U===!0?O.refreshPreview():B()});var H,U=!0;r.addListener("onFileSelected",function(t){U=!0,H=t});var q=new c;F.watcher=q;var G=new a,z=o.create({objectHash:function(t){return JSON.stringify(t)},arrays:{detectMove:!1},textDiff:{minLength:9999999}}),W=new u;F.selectionMgr=W,$(document).on("selectionchange",".editor-content",t.bind(W.saveSelectionState,W,!0,!1)),F.adjustCursorPosition=h;var X;F.setValue=f,F.onResize=function(){r.onLayoutResize()};var V=!1;F.setContent=function(t){H||(H={content:t}),N?(H={content:t},N.textContent=t,r.onFileSelected(H),w(),V=!1):V=t},window.we=F,F.replace=d,F.replaceAll=p,F.replacePreviousText=g,F.setValueNoWatch=m,F.getValue=v,F.getContent=v,F.focus=y;var Y=new x;F.undoMgr=Y,r.addListener("onDiscussionCreated",b),r.addListener("onDiscussionRemoved",b),r.addListener("onCommentsChanged",b);var J=t.debounce(function(){var t=window.getSelection();W.hasFocus&&!j&&W.selectionStart===W.selectionEnd&&t.modify&&(W.selectionStart?(t.modify("move","backward","character"),t.modify("move","forward","character")):(t.modify("move","forward","character"),t.modify("move","backward","character")))},10);F.adjustCommentOffsets=_,F.init=function(){if(T=document.getElementById("wmd-input"),I=$(T),N=T.querySelector(".editor-content"),R=$(N),A=T.querySelector(".editor-margin"),M=$(A),L=document.querySelector(".preview-container"),I.addClass(n.editorFontClass),q.startWatching(),$(T).scroll(function(){P=T.scrollTop,U===!1&&(H.editorScrollTop=P)}),$(L).scroll(function(){U===!1&&(H.previewScrollTop=L.scrollTop)}),/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)){var e=$('').appendTo("html");R.blur(function(){e[0].setSelectionRange(0,0),e.blur()})}T.focus=y,T.adjustCursorPosition=h,Object.defineProperty(T,"value",{get:function(){return X},set:f}),Object.defineProperty(T,"selectionStart",{get:function(){return Math.min(W.selectionStart,W.selectionEnd)},set:function(t){W.setSelectionStartEnd(t),W.updateSelectionRange(),W.updateCursorCoordinates()},enumerable:!0,configurable:!0}),Object.defineProperty(T,"selectionEnd",{get:function(){return Math.max(W.selectionStart,W.selectionEnd)},set:function(t){W.setSelectionStartEnd(void 0,t),W.updateSelectionRange(),W.updateCursorCoordinates()},enumerable:!0,configurable:!0});var r=!1;R.on("keydown",function(t){if(17!==t.which&&91!==t.which&&18!==t.which&&16!==t.which){W.saveSelectionState(),h();var e=t.metaKey||t.ctrlKey;switch(t.which){case 9:e||(i("indent",{inverse:t.shiftKey}),t.preventDefault());break;case 13:i("newline"),t.preventDefault()}13!==t.which&&(r=!1)}}).on("compositionstart",function(){j++}).on("compositionend",function(){setTimeout(function(){j--},0)}).on("mouseup",t.bind(W.saveSelectionState,W,!0,!1)).on("paste",function(t){Y.currentMode="paste",t.preventDefault();var e,n=(t.originalEvent||t).clipboardData;n?e=n.getData("text/plain"):(n=window.clipboardData,e=n&&n.getData("Text")),e&&(d(W.selectionStart,W.selectionEnd,e),h())}).on("cut",function(){Y.currentMode="cut",h()}).on("focus",function(){W.hasFocus=!0}).on("blur",function(){W.hasFocus=!1});var i=function(t,e){var n=v(),r=Math.min(W.selectionStart,W.selectionEnd),i=Math.max(W.selectionStart,W.selectionEnd),a={selectionStart:r,selectionEnd:i,before:n.slice(0,r),after:n.slice(i),selection:n.slice(r,i)};o[t](a,e||{}),f(a.before+a.selection+a.after),W.setSelectionStartEnd(a.selectionStart,a.selectionEnd),W.updateSelectionRange()},a=/^ {0,3}>[ ]*|^[ \t]*(?:[*+\-]|(\d+)\.)[ \t]|^\s+/,o={indent:function(t,e){function n(t,e,n,r){return n=+n||0,r=r||"",t.slice(0,e)+r+t.slice(e+n)}var r=t.before.lastIndexOf("\n")+1;if(e.inverse)/\s/.test(t.before.charAt(r))&&(t.before=n(t.before,r,1),t.selectionStart--,t.selectionEnd--),t.selection=t.selection.replace(/^[ \t]/gm,"");else{var i=t.before.slice(r);if(!t.selection&&!i.match(a))return t.before+=" ",t.selectionStart++,void t.selectionEnd++;t.before=n(t.before,r,0," "),t.selection=t.selection.replace(/\r?\n(?=[\s\S])/g,"\n "),t.selectionStart++,t.selectionEnd++}t.selectionEnd=t.selectionStart+t.selection.length},newline:function(t){var e=t.before.lastIndexOf("\n")+1;if(r)return t.before=t.before.substring(0,e),t.selection="",t.selectionStart=e,t.selectionEnd=e,void(r=!1);r=!1;var n=t.before.slice(e),i=n.match(a),o=(i||[""])[0];if(i&&i[1]){var s=parseInt(i[1],10);o=o.replace(/\d+/,s+1)}o.length&&(r=!0),Y.currentMode="newlines",t.before+="\n"+o,t.selection="",t.selectionStart+=o.length+1,t.selectionEnd=t.selectionStart}};V!==!1&&F.setContent(V)};var Q,K=[],Z=[],tt=[],et=function(){var t={"&":"&","<":"<"," ":" "};return function(e){return e.replace(/[&<\u00a0]/g,function(e){return t[e]})}}();return r.onEditorCreated(F),F}),function(){function t(){}function e(t){this.buttonBar=h.getElementById("wmd-button-bar"+t),this.preview=h.getElementById("wmd-preview"+t),this.input=h.getElementById("wmd-input"+t)}function n(t,e){var n,i,a,o=this,s=[],c=0,u="none",h=function(t,e){u!=t&&(u=t,e||d()),g.isIE&&"moving"==u?a=null:i=setTimeout(f,1)},f=function(t){a=new r(e,t),i=void 0};this.setCommandMode=function(){u="command",d(),i=setTimeout(f,0)},this.canUndo=function(){return c>1},this.canRedo=function(){return s[c+1]?!0:!1},this.undo=function(){o.canUndo()&&(n?(n.restore(),n=null):(s[c]=new r(e),s[--c].restore(),t&&t())),u="none",e.input.focus(),f()},this.redo=function(){o.canRedo()&&(s[++c].restore(),t&&t()),u="none",e.input.focus(),f()};var d=function(){var i=a||new r(e);return i?"moving"==u?void(n||(n=i)):(n&&(s[c-1].text!=n.text&&(s[c++]=n),n=null),s[c++]=i,s[c+1]=null,void(t&&t())):!1},p=function(t){if(!t.ctrlKey&&!t.metaKey){var e=t.keyCode;e>=33&&40>=e||e>=63232&&63235>=e?h("moving"):8==e||46==e||127==e?h("deleting"):13==e?h("newlines"):27==e?h("escape"):(16>e||e>20)&&91!=e&&h("typing")}},m=function(){l.addEvent(e.input,"keypress",function(t){!t.ctrlKey&&!t.metaKey||t.altKey||89!=t.keyCode&&90!=t.keyCode||t.preventDefault()});var t=function(){(g.isIE||a&&a.text!=e.input.value)&&void 0==i&&(u="paste",d(),f())};l.addEvent(e.input,"keydown",p),l.addEvent(e.input,"mousedown",function(){h("moving")}),e.input.onpaste=t,e.input.ondrop=t},v=function(){m(),f(!0)};this.reinit=function(t,e,r,o){s=[],c=0,u="none",n=void 0,i=void 0,f(),a.text=t,a.start=e,a.end=r,a.scrollTop=o,a.setInputAreaSelection(),d()},this.setMode=h,v()}function r(e){var n=this,r=e.input;this.init=function(){l.isVisible(r)&&(this.setInputAreaSelectionStartEnd(),this.scrollTop=r.scrollTop,(!this.text&&r.selectionStart||0===r.selectionStart)&&(this.text=r.value))},this.setInputAreaSelection=function(){l.isVisible(r)&&(r.focus(),r.selectionStart=n.start,r.selectionEnd=n.end)},this.setInputAreaSelectionStartEnd=function(){n.start=r.selectionStart,n.end=r.selectionEnd},this.restore=function(){void 0!=n.text&&n.text!=r.value&&(r.value=n.text),this.setInputAreaSelection()},this.getChunks=function(){var e=new t;return e.before=l.fixEolChars(n.text.substring(0,n.start)),e.startTag="",e.selection=l.fixEolChars(n.text.substring(n.start,n.end)),e.endTag="",e.after=l.fixEolChars(n.text.substring(n.end)),e.scrollTop=n.scrollTop,e},this.setChunks=function(t){t.before=t.before+t.startTag,t.after=t.endTag+t.after,this.start=t.before.length,this.end=t.before.length+t.selection.length,this.text=t.before+t.selection+t.after,this.scrollTop=t.scrollTop},this.init()}function i(t,e,n){var r,i,a,o=3e3,s="manual",c=function(t,e){l.addEvent(t,"input",e),t.onpaste=e,t.ondrop=e,l.addEvent(t,"keypress",e),l.addEvent(t,"keydown",e)},u=function(){if(e.preview){var n=e.input.value;if(!n||n!=a){a=n;var r=(new Date).getTime();n=t.makeHtml(n);var o=(new Date).getTime();i=o-r,m(n)}}},h=function(){if(r&&(clearTimeout(r),r=void 0),"manual"!==s){var t=0;"delayed"===s&&(t=i),t>o&&(t=o),r=setTimeout(u,t)}};this.refresh=function(t){t?(a="",u()):h()},this.processingTime=function(){return i};var f,d=function(t){var n=e.preview,r=n.parentNode,i=n.nextSibling;r.removeChild(n),n.innerHTML=t,i?r.insertBefore(n,i):r.appendChild(n)},p=function(t){e.preview.innerHTML=t},g=function(t){if(f)return f(t);try{p(t),f=p}catch(e){(f=d)(t)}},m=function(t){e.preview&&(g(t),n())},v=function(){c(e.input,h),e.preview&&(e.preview.scrollTop=0)};v()}function a(t,e,n,i,a,o,s){function l(t,a,o){p.focus(),n&&n.setCommandMode();var s=new r(e);if(s){var l=s.getChunks(),c=function(){p.focus(),l&&s.setChunks(l),s.restore(),i.refresh()},u=x.insertLink(l,c,t,a,o);u||c()}}function c(t){p.focus();var a="wmd-link-button"==t.id||"wmd-image-button"==t.id;if(t.textOp){n&&!a&&n.setCommandMode();var o=new r(e);if(!o)return;var s=o.getChunks(),l=function(){p.focus(),s&&o.setChunks(s),o.restore(),i.refresh()},c=t.textOp(s,l);c||(l(),a||p.adjustCursorPosition())}t.execute&&t.execute(n)}function u(t,n){var r="0px",i="-20px",a="-40px",o=t.getElementsByTagName("span")[0];t.className=t.className.replace(/ disabled/g,""),n?(o.style.backgroundPosition=t.XShift+" "+r,t.onmouseover=function(){o.style.backgroundPosition=this.XShift+" "+a},t.onmouseout=function(){o.style.backgroundPosition=this.XShift+" "+r},g.isIE&&(t.onmousedown=function(){e.ieCachedRange=document.selection.createRange(),e.ieCachedScrollTop=e.input.scrollTop}),t.isHelp||(t.onclick=function(){return this.onmouseout&&this.onmouseout(),c(this),!1})):(o.style.backgroundPosition=t.XShift+" "+i,t.onmouseover=t.onmouseout=t.onclick=function(){},t.className+=" disabled")}function h(t){return"string"==typeof t&&(t=a[t]),function(){t.apply(a,arguments)}}function f(){var n=e.buttonBar,r=document.createElement("ul");r.id="wmd-button-row"+t,r.className="wmd-button-row",r=n.appendChild(r);var i=0,a=function(e,n,a,o){var s=document.createElement("li");s.className="wmd-button",s.style.left=i+"px",i+=25;var l=document.createElement("span");return s.id=e+t,s.appendChild(l),s.title=n,s.XShift=a,o&&(s.textOp=o),u(s,!0),r.appendChild(s),s},l=function(e){var n=document.createElement("li");n.className="wmd-spacer wmd-spacer"+e,n.id="wmd-spacer"+e+t,r.appendChild(n),i+=25};if(m.bold=a("wmd-bold-button",s("bold"),"0px",h("doBold")),m.italic=a("wmd-italic-button",s("italic"),"-20px",h("doItalic")),l(1),m.link=a("wmd-link-button",s("link"),"-40px",h(function(t,e){return this.doLinkOrImage(t,e,!1)})),m.quote=a("wmd-quote-button",s("quote"),"-60px",h("doBlockquote")),m.code=a("wmd-code-button",s("code"),"-80px",h("doCode")),m.image=a("wmd-image-button",s("image"),"-100px",h(function(t,e){return this.doLinkOrImage(t,e,!0)})),l(2),m.olist=a("wmd-olist-button",s("olist"),"-120px",h(function(t,e){this.doList(t,e,!0)})),m.ulist=a("wmd-ulist-button",s("ulist"),"-140px",h(function(t,e){this.doList(t,e,!1)})),m.heading=a("wmd-heading-button",s("heading"),"-160px",h("doHeading")),m.hr=a("wmd-hr-button",s("hr"),"-180px",h("doHorizontalRule")),l(3),m.undo=a("wmd-undo-button",s("undo"),"-200px",null),m.undo.execute=function(t){t&&t.undo()},m.redo=a("wmd-redo-button",s("redo"),"-220px",null),m.redo.execute=function(t){t&&t.redo()},o){var c=document.createElement("li"),f=document.createElement("span");c.appendChild(f),c.className="wmd-button wmd-help-button",c.id="wmd-help-button"+t,c.XShift="-240px",c.isHelp=!0,c.style.right="0px",c.title=s("help"),c.onclick=o.handler,u(c,!0),r.appendChild(c),m.help=c}d()}function d(){n&&(u(m.undo,n.canUndo()),u(m.redo,n.canRedo()))}var p=e.input,m={};f();var v="keydown";g.isOpera&&(v="keypress"),MD.insertLink=l,this.setUndoRedoButtonStates=d,this.buttons=m,this.doClick=c}function o(t,e){this.hooks=t,this.getString=e}function s(t){return t.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/,function(t,e,n){return e=e.replace(/\?.*$/,function(t){return t.replace(/\+/g," ")}),e=decodeURIComponent(e),e=encodeURI(e).replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29"),e=e.replace(/\?.*$/,function(t){return t.replace(/\+/g,"%2b")}),n&&(n=n.trim?n.trim():n.replace(/^\s*/,"").replace(/\s*$/,""),n=n.replace(/"/g,"quot;").replace(/\(/g,"(").replace(/\)/g,")").replace(//g,">")),n?e+' "'+n+'"':e})}var l={},c={},u={},h=window.document,f=window.RegExp,d=window.navigator,p={lineLength:72},g={isIE:/msie/.test(d.userAgent.toLowerCase()),isIE_5or6:/msie 6/.test(d.userAgent.toLowerCase())||/msie 5/.test(d.userAgent.toLowerCase()),isOpera:/opera/.test(d.userAgent.toLowerCase())},m={bold:"Strong Ctrl/Cmd+B",boldexample:"strong text",italic:"Emphasis Ctrl/Cmd+I",italicexample:"emphasized text",link:"Hyperlink Ctrl/Cmd+L",linkdescription:"enter link description here",linkdialog:'

      Insert Hyperlink

      http://example.com/ "optional title"

      ',quote:"Blockquote
      Ctrl/Cmd+Q",quoteexample:"Blockquote",code:"Code Sample
       Ctrl/Cmd+K",codeexample:"enter code here",image:"Image  Ctrl/Cmd+G",imagedescription:"enter image description here",imagedialog:"

      Insert Image

      http://example.com/images/diagram.jpg \"optional title\"

      Need
      free image hosting?

      ",olist:"Numbered List
        Ctrl/Cmd+O",ulist:"Bulleted List
          Ctrl/Cmd+U",litem:"List item",heading:"Heading

          /

          Ctrl/Cmd+H",headingexample:"Heading",hr:"Horizontal Rule
          Ctrl/Cmd+R",undo:"Undo - Ctrl/Cmd+Z",redo:"Redo - Ctrl/Cmd+Y",help:"Markdown Editing Help"},v="http://",y="http://";Markdown.Editor=function(t,r,s){s=s||{},"function"==typeof s.handler&&(s={helpButton:s}),s.strings=s.strings||{},s.helpButton&&(s.strings.help=s.strings.help||s.helpButton.title);var l=function(t){return s.strings[t]||m[t]};r=r||"";var c=this.hooks=new Markdown.HookCollection;c.addNoop("onPreviewRefresh"),c.addNoop("postBlockquoteCreation"),c.addFalse("insertImageDialog"),c.addFalse("insertLinkDialog"),this.getConverter=function(){return t};var u,f,d=this;this.run=function(){if(!u){u=new e(r);var p,g=new o(c,l),m=new i(t,u,function(){c.onPreviewRefresh()});s.undoManager?(f=s.undoManager,f.onButtonStateChange=function(){p.setUndoRedoButtonStates()},p&&p.setUndoRedoButtonStates()):/\?noundo/.test(h.location.href)||(f=new n(function(){m.refresh(),p&&p.setUndoRedoButtonStates()},u),this.textOperation=function(t){f.setCommandMode(),t(),d.refreshPreview()}),p=new a(r,u,f,m,g,s.helpButton,l),p.setUndoRedoButtonStates(),d.refreshPreview=function(){m.refresh(!0)},d.undoManager=f,d.uiManager=p}}},t.prototype.findTags=function(t,e){var n,r=this;t&&(n=l.extendRegExp(t,"","$"),this.before=this.before.replace(n,function(t){return r.startTag=r.startTag+t,""}),n=l.extendRegExp(t,"^",""),this.selection=this.selection.replace(n,function(t){return r.startTag=r.startTag+t,""})),e&&(n=l.extendRegExp(e,"","$"),this.selection=this.selection.replace(n,function(t){return r.endTag=t+r.endTag,""}),n=l.extendRegExp(e,"^",""),this.after=this.after.replace(n,function(t){return r.endTag=t+r.endTag,""}))},t.prototype.trimWhitespace=function(t){var e,n,r=this;t?e=n="":(e=function(t){return r.before+=t,""},n=function(t){return r.after=t+r.after,""}),this.selection=this.selection.replace(/^(\s*)/,e).replace(/(\s*)$/,n)},t.prototype.skipLines=function(t,e,n){void 0===t&&(t=1),void 0===e&&(e=1),t++,e++;var r,i;if(navigator.userAgent.match(/Chrome/)&&"X".match(/()./),this.selection=this.selection.replace(/(^\n*)/,""),this.startTag=this.startTag+f.$1,this.selection=this.selection.replace(/(\n*$)/,""),this.endTag=this.endTag+f.$1,this.startTag=this.startTag.replace(/(^\n*)/,""),this.before=this.before+f.$1,this.endTag=this.endTag.replace(/(\n*$)/,""),this.after=this.after+f.$1,this.before){for(r=i="";t--;)r+="\\n?",i+="\n";n&&(r="\\n*"),this.before=this.before.replace(new f(r+"$",""),i)}if(this.after){for(r=i="";e--;)r+="\\n?",i+="\n";n&&(r="\\n*"),this.after=this.after.replace(new f(r,""),i)}},l.isVisible=function(t){return window.getComputedStyle?"none"!==window.getComputedStyle(t,null).getPropertyValue("display"):t.currentStyle?"none"!==t.currentStyle.display:void 0},l.addEvent=function(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener(e,n,!1)},l.removeEvent=function(t,e,n){t.detachEvent?t.detachEvent("on"+e,n):t.removeEventListener(e,n,!1)},l.fixEolChars=function(t){return t=t.replace(/\r\n/g,"\n"),t=t.replace(/\r/g,"\n")},l.extendRegExp=function(t,e,n){(null===e||void 0===e)&&(e=""),(null===n||void 0===n)&&(n="");var r,i=t.toString();return i=i.replace(/\/([gim]*)$/,function(t,e){return r=e,""}),i=i.replace(/(^\/|\/$)/g,""),i=e+i+n,new f(i,r)},c.getTop=function(t,e){var n=t.offsetTop;if(!e)for(;t=t.offsetParent;)n+=t.offsetTop;return n},c.getHeight=function(t){return t.offsetHeight||t.scrollHeight},c.getWidth=function(t){return t.offsetWidth||t.scrollWidth},c.getPageSize=function(){var t,e,n,r;self.innerHeight&&self.scrollMaxY?(t=h.body.scrollWidth,e=self.innerHeight+self.scrollMaxY):h.body.scrollHeight>h.body.offsetHeight?(t=h.body.scrollWidth,e=h.body.scrollHeight):(t=h.body.offsetWidth,e=h.body.offsetHeight),self.innerHeight?(n=self.innerWidth,r=self.innerHeight):h.documentElement&&h.documentElement.clientHeight?(n=h.documentElement.clientWidth,r=h.documentElement.clientHeight):h.body&&(n=h.body.clientWidth,r=h.body.clientHeight);var i=Math.max(t,n),a=Math.max(e,r);return[i,a,n,r]},u.createBackground=function(){var t=h.createElement("div"),e=t.style;t.className="wmd-prompt-background",e.position="absolute",e.top="0",e.zIndex="1000",g.isIE?e.filter="alpha(opacity=50)":e.opacity="0.5";var n=c.getPageSize();return e.height=n[1]+"px",g.isIE?(e.left=h.documentElement.scrollLeft,e.width=h.documentElement.clientWidth):(e.left="0",e.width="100%"),h.body.appendChild(t),t},u.prompt=function(t,e,n){var r,i;void 0===e&&(e="");var a=function(t){var e=t.charCode||t.keyCode;27===e&&o(!0)},o=function(t){l.removeEvent(h.body,"keydown",a);var e=i.value;return t?e=null:(e=e.replace(/^http:\/\/(https?|ftp):\/\//,"$1://"),/^(?:https?|ftp):\/\//.test(e)||(e="http://"+e)),r.parentNode.removeChild(r),n(e),!1},s=function(){r=h.createElement("div"),r.className="wmd-prompt-dialog",r.style.padding="10px;",r.style.position="fixed",r.style.width="400px",r.style.zIndex="1001";var n=h.createElement("div");n.innerHTML=t,n.style.padding="5px",r.appendChild(n);var s=h.createElement("form"),u=s.style;s.onsubmit=function(){return o(!1)},u.padding="0",u.margin="0",u.cssFloat="left",u.width="100%",u.textAlign="center",u.position="relative",r.appendChild(s),i=h.createElement("input"),i.type="text",i.value=e,u=i.style,u.display="block",u.width="80%",u.marginLeft=u.marginRight="auto",s.appendChild(i);var f=h.createElement("input");f.type="button",f.onclick=function(){return o(!1)},f.value="OK",u=f.style,u.margin="10px",u.display="inline",u.width="7em";var d=h.createElement("input");d.type="button",d.onclick=function(){return o(!0)},d.value="Cancel",u=d.style,u.margin="10px",u.display="inline",u.width="7em",s.appendChild(f),s.appendChild(d),l.addEvent(h.body,"keydown",a),r.style.top="50%",r.style.left="50%",r.style.display="block",g.isIE_5or6&&(r.style.position="absolute",r.style.top=h.documentElement.scrollTop+200+"px",r.style.left="50%"),h.body.appendChild(r),r.style.marginTop=-(c.getHeight(r)/2)+"px",r.style.marginLeft=-(c.getWidth(r)/2)+"px"};setTimeout(function(){s();var t=e.length;if(void 0!==i.selectionStart)i.selectionStart=0,i.selectionEnd=t;else if(i.createTextRange){var n=i.createTextRange();n.collapse(!1),n.moveStart("character",-t),n.moveEnd("character",t),n.select()}i.focus()},0)};var x=o.prototype;x.prefixes="(?:\\s{4,}|\\s*>|\\s*-\\s+|\\s*\\d+\\.|=|\\+|-|_|\\*|#|\\s*\\[[^\n]]+\\]:)",x.unwrap=function(t){var e=new f("([^\\n])\\n(?!(\\n|"+this.prefixes+"))","g");t.selection=t.selection.replace(e,"$1 $2")},x.wrap=function(t,e){this.unwrap(t);var n=new f("(.{1,"+e+"})( +|$\\n?)","gm"),r=this;t.selection=t.selection.replace(n,function(t,e){return new f("^"+r.prefixes,"").test(t)?t:e+"\n"}),t.selection=t.selection.replace(/\s+$/,"")},x.doBold=function(t,e){return this.doBorI(t,e,2,this.getString("boldexample"))},x.doItalic=function(t,e){return this.doBorI(t,e,1,this.getString("italicexample"))},x.doBorI=function(t,e,n,r){t.trimWhitespace(),t.selection=t.selection.replace(/\n{2,}/g,"\n");var i=/(\**$)/.exec(t.before)[0],a=/(^\**)/.exec(t.after)[0],o=Math.min(i.length,a.length);if(o>=n&&(2!=o||1!=n))t.before=t.before.replace(f("[*]{"+n+"}$",""),""),t.after=t.after.replace(f("^[*]{"+n+"}",""),"");else if(!t.selection&&a){t.after=t.after.replace(/^([*_]*)/,""),t.before=t.before.replace(/(\s?)$/,"");var s=f.$1;t.before=t.before+a+s}else{t.selection||a||(t.selection=r);var l=1>=n?"*":"**";t.before=t.before+l,t.after=l+t.after}},x.stripLinkDefs=function(t,e){return t=t.replace(/^[ ]{0,3}\[(\d+)\]:[ \t]*\n?[ \t]*?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|$)/gm,function(t,n,r,i,a){return e[n]=t.replace(/\s*$/,""),i?(e[n]=t.replace(/["(](.+?)[")]$/,""),i+a):""})},x.addLinkDef=function(t,e){var n=0,r={};t.before=this.stripLinkDefs(t.before,r),t.selection=this.stripLinkDefs(t.selection,r),t.after=this.stripLinkDefs(t.after,r);var i="",a=/(\[)((?:\[[^\]]*\]|[^\[\]])*)(\][ ]?(?:\n[ ]*)?\[)(\d+)(\])/g,o=function(t){n++,t=t.replace(/^[ ]{0,3}\[(\d+)\]:/," ["+n+"]:"),i+="\n"+t},s=function(t,e,i,l,c,u){return i=i.replace(a,s),r[c]?(o(r[c]),e+i+l+n+u):t};t.before=t.before.replace(a,s),e?o(e):t.selection=t.selection.replace(a,s);var l=n;return t.after=t.after.replace(a,s),t.after&&(t.after=t.after.replace(/\n*$/,"")),t.after||(t.selection=t.selection.replace(/\n*$/,"")),t.after+="\n\n"+i,l},x.insertLink=function(t,e,n,r,i){t.trimWhitespace(),t.findTags(/\s*!?\[/,/\][ ]?(?:\n[ ]*)?(\[.*?\])?/);var a;if(!(t.endTag.length>1&&t.startTag.length>0)){if(t.selection=t.startTag+t.selection+t.endTag,t.startTag=t.endTag="",/\n\n/.test(t.selection))return void this.addLinkDef(t,null);var o=function(n){a.parentNode.removeChild(a),null!==n&&(t.selection=(" "+t.selection).replace(/([^\\](?:\\\\)*)(?=[[\]])/g,"$1\\").substr(1),t.startTag=i?"![":"[",t.endTag="]("+s(n)+")",t.selection=r),e()};return a=u.createBackground(),o(n),!0}t.startTag=t.startTag.replace(/!?\[/,""),t.endTag="",this.addLinkDef(t,null)},x.doLinkOrImage=function(t,e,n){t.trimWhitespace(),t.findTags(/\s*!?\[/,/\][ ]?(?:\n[ ]*)?(\(.*?\))?/);var r;if(!(t.endTag.length>1&&t.startTag.length>0)){if(t.selection=t.startTag+t.selection+t.endTag,t.startTag=t.endTag="",/\n\n/.test(t.selection))return void this.addLinkDef(t,null);var i=this,a=function(a){r.parentNode.removeChild(r),null!==a&&(t.selection=(" "+t.selection).replace(/([^\\](?:\\\\)*)(?=[[\]])/g,"$1\\").substr(1),t.startTag=n?"![":"[",t.endTag="]("+s(a)+")",t.selection||(t.selection=i.getString(n?"imagedescription":"linkdescription"))),e()};return r=u.createBackground(),n?this.hooks.insertImageDialog(a)||u.prompt(this.getString("imagedialog"),v,a):this.hooks.insertLinkDialog(a)||u.prompt(this.getString("linkdialog"),y,a),!0}t.startTag=t.startTag.replace(/!?\[/,""),t.endTag="",this.addLinkDef(t,null)},x.doAutoindent=function(t){var e=this,n=!1;t.before=t.before.replace(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]*\n$/,"\n\n"),t.before=t.before.replace(/(\n|^)[ ]{0,3}>[ \t]*\n$/,"\n\n"),t.before=t.before.replace(/(\n|^)[ \t]+\n$/,"\n\n"),t.selection||/^[ \t]*(?:\n|$)/.test(t.after)||(t.after=t.after.replace(/^[^\n]*/,function(e){return t.selection=e,""}),n=!0),/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]+.*\n$/.test(t.before)&&e.doList&&e.doList(t),/(\n|^)[ ]{0,3}>[ \t]+.*\n$/.test(t.before)&&e.doBlockquote&&e.doBlockquote(t),/(\n|^)(\t|[ ]{4,}).*\n$/.test(t.before)&&e.doCode&&e.doCode(t),n&&(t.after=t.selection+t.after,t.selection="")},x.doBlockquote=function(t){t.selection=t.selection.replace(/^(\n*)([^\r]+?)(\n*)$/,function(e,n,r,i){return t.before+=n,t.after=i+t.after,r}),t.before=t.before.replace(/(>[ \t]*)$/,function(e,n){return t.selection=n+t.selection,""}),t.selection=t.selection.replace(/^(\s|>)+$/,""),t.selection=t.selection||this.getString("quoteexample");var e,n="",r="";if(t.before){for(var i=t.before.replace(/\n$/,"").split("\n"),a=!1,o=0;o0,/^>/.test(e)?(s=!0,!a&&e.length>1&&(a=!0)):s=/^[ \t]*$/.test(e)?!0:a,s?n+=e+"\n":(r+=n+e,n="\n")}/(^|\n)>/.test(n)||(r+=n,n="")}t.startTag=n,t.before=r,t.after&&(t.after=t.after.replace(/^\n?/,"\n")),t.after=t.after.replace(/^(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*)/,function(e){return t.endTag=e,""});var l=function(e){var n=e?"> ":"";t.startTag&&(t.startTag=t.startTag.replace(/\n((>|\s)*)\n$/,function(t,e){return"\n"+e.replace(/^[ ]{0,3}>?[ \t]*$/gm,n)+"\n"})),t.endTag&&(t.endTag=t.endTag.replace(/^\n((>|\s)*)\n/,function(t,e){return"\n"+e.replace(/^[ ]{0,3}>?[ \t]*$/gm,n)+"\n"}))};/^(?![ ]{0,3}>)/m.test(t.selection)?(this.wrap(t,p.lineLength-2),t.selection=t.selection.replace(/^/gm,"> "),l(!0),t.skipLines()):(t.selection=t.selection.replace(/^[ ]{0,3}> ?/gm,""),this.unwrap(t),l(!1),!/^(\n|^)[ ]{0,3}>/.test(t.selection)&&t.startTag&&(t.startTag=t.startTag.replace(/\n{0,2}$/,"\n\n")),!/(\n|^)[ ]{0,3}>.*$/.test(t.selection)&&t.endTag&&(t.endTag=t.endTag.replace(/^\n{0,2}/,"\n\n"))),t.selection=this.hooks.postBlockquoteCreation(t.selection),/\n/.test(t.selection)||(t.selection=t.selection.replace(/^(> *)/,function(e,n){return t.startTag+=n,""}))},x.doCode=function(t){var e=/\S[ ]*$/.test(t.before),n=/^[ ]*\S/.test(t.after);if(!n&&!e||/\n/.test(t.selection)){t.before=t.before.replace(/[ ]{4}$/,function(e){return t.selection=e+t.selection,""});var r=1,i=1;/(\n|^)(\t|[ ]{4,}).*\n$/.test(t.before)&&(r=0),/^\n(\t|[ ]{4,})/.test(t.after)&&(i=0),t.skipLines(r,i),t.selection?/^[ ]{0,3}\S/m.test(t.selection)?/\n/.test(t.selection)?t.selection=t.selection.replace(/^/gm," "):t.before+=" ":t.selection=t.selection.replace(/^(?:[ ]{4}|[ ]{0,3}\t)/gm,""):(t.startTag=" ",t.selection=this.getString("codeexample"))}else t.trimWhitespace(),t.findTags(/`/,/`/),t.startTag||t.endTag?t.endTag&&!t.startTag?(t.before+=t.endTag,t.endTag=""):t.startTag=t.endTag="":(t.startTag=t.endTag="`",t.selection||(t.selection=this.getString("codeexample")))},x.doList=function(t,e,n){var r=/(\n|^)(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*$/,i=/^\n*(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*/,a="-",o=1,s=function(){var t;return n?(t=" "+o+". ",o++):t=" "+a+" ",t},l=function(t){return void 0===n&&(n=/^\s*\d/.test(t)),t=t.replace(/^[ ]{0,3}([*+-]|\d+[.])\s/gm,function(){return s()})};if(t.findTags(/(\n|^)*[ ]{0,3}([*+-]|\d+[.])\s+/,null),!t.before||/\n$/.test(t.before)||/^\n/.test(t.startTag)||(t.before+=t.startTag,t.startTag=""),t.startTag){var c=/\d+[.]/.test(t.startTag);if(t.startTag="",t.selection=t.selection.replace(/\n[ ]{4}/g,"\n"),this.unwrap(t),t.skipLines(),c&&(t.after=t.after.replace(i,l)),n==c)return}var u=1;t.before=t.before.replace(r,function(t){return/^\s*([*+-])/.test(t)&&(a=f.$1),u=/[^\n]\n\n[^\n]/.test(t)?1:0,l(t)}),t.selection||(t.selection=this.getString("litem"));var h=s(),d=1;t.after=t.after.replace(i,function(t){return d=/[^\n]\n\n[^\n]/.test(t)?1:0,l(t)}),t.trimWhitespace(!0),t.skipLines(u,d,!0),t.startTag=h;var g=h.replace(/./g," ");this.wrap(t,p.lineLength-g.length),t.selection=t.selection.replace(/\n/g,"\n"+g)},x.doHeading=function(t){if(t.selection=t.selection.replace(/\s+/g," "),t.selection=t.selection.replace(/(^\s+|\s+$)/g,""),!t.selection)return t.startTag="## ",t.selection=this.getString("headingexample"),void(t.endTag=" ##");var e=0;t.findTags(/#+[ ]*/,/[ ]*#+/),/#+/.test(t.startTag)&&(e=f.lastMatch.length),t.startTag=t.endTag="",t.findTags(null,/\s?(-+|=+)/),/=+/.test(t.endTag)&&(e=1),/-+/.test(t.endTag)&&(e=2),t.startTag=t.endTag="",t.skipLines(1,1);var n=0==e?2:e-1;if(n>0){var r=n>=2?"-":"=",i=t.selection.length;for(i>p.lineLength&&(i=p.lineLength),t.endTag="\n";i--;)t.endTag+=r}},x.doHorizontalRule=function(t){t.startTag="----------\n",t.selection="",t.skipLines(2,1,!0)}}(),define("pagedown",function(){}),define("core",["underscore","crel","editor","constants","utils","storage","settings","eventMgr","pagedown"],function(t,e,n,r,i,a,o,s){function l(){f=!0,d=!0;var t=i.currentTime;t>p+1e3&&(p=t,s.onUserActive())}var c={};MD=n;var u,h,f=!1,d=!1,p=0;return c.initEditorFirst=function(){var t=new Markdown.Converter,e={_DoItalicsAndBold:function(t){return t=t.replace(/(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\1/g,"$2"),t=t.replace(/(\*|_)(?=\S)(.+?)(?=\S)\1/g,"$2")}};t.setOptions(e),u=new Markdown.Editor(t,void 0,{undoManager:n.undoMgr}),MD.insertLink2=u.insertLink,u.hooks.set("insertLinkDialog",function(t){return c.insertLinkCallback=t,i.resetModalInputs(),$(".modal-insert-link").modal(),!0}),u.hooks.set("insertImageDialog",function(t){if(c.insertLinkCallback=t,c.catchModal)return!0;i.resetModalInputs();var e=$("#leauiIfrForMD");return e.attr("src")||e.attr("src","/tinymce/plugins/leaui_image/index.html?md=1"),$(".modal-insert-image").modal(),!0}),s.onPagedownConfigure(u),u.hooks.chain("onPreviewRefresh",s.onAsyncPreview),u.run(),$(".wmd-button-row li").addClass("btn btn-success").css("left",0).find("span").hide();var r=$(".wmd-button-group1");$("#wmd-bold-button").append($('')).appendTo(r),$("#wmd-italic-button").append($('')).appendTo(r),r=$(".wmd-button-group2"),$("#wmd-link-button").append($('')).appendTo(r), +$("#wmd-quote-button").append($('')).appendTo(r),$("#wmd-code-button").append($('')).appendTo(r),$("#wmd-image-button").append($('')).appendTo(r),r=$(".wmd-button-group3"),$("#wmd-olist-button").append($('')).appendTo(r),$("#wmd-ulist-button").append($('')).appendTo(r),$("#wmd-heading-button").append($('')).appendTo(r),$("#wmd-hr-button").append($('')).appendTo(r),r=$(".wmd-button-group5"),$("#wmd-undo-button").append($('')).appendTo(r),$("#wmd-redo-button").append($('')).appendTo(r),$("#wmd-help-button").show()},c.initEditor=function(t){return void 0!==h&&s.onFileClosed(h),h=t,void 0!==u?(n.undoMgr.init(),u.uiManager.setUndoRedoButtonStates()):(c.initEditorFirst(),void n.undoMgr.init())},c.onReady=function(){document.body.className+=" "+o.editMode,i.init(),$(document).mousemove(l).keypress(l),s.onReady(),c.initEditorFirst(),n.init()},s.addListener("onReady",function(){$(document.body).on("shown.bs.modal",".modal",function(){var t=$(this);setTimeout(function(){t.find(".btn:first").focus(),t.find("button:first").focus(),t.find("input:enabled:visible:first").focus()},50)}).on("hidden.bs.modal",".modal",function(){n.focus()}).on("keypress",".modal",function(t){13!=t.which||$(t.target).is("textarea")||$(this).find(".modal-footer a:last").click()}),$(".action-insert-link").click(function(t){var e=i.getInputTextValue($("#input-insert-link"),t);void 0!==e&&(c.insertLinkCallback(e),c.insertLinkCallback=void 0)}),$(".action-insert-image").click(function(){var t=document.mdImageManager.mdGetImgSrc();t&&(c.insertLinkCallback(t),c.insertLinkCallback=void 0)}),$(".modal-insert-link, .modal-insert-image").on("hidden.bs.modal",function(){void 0!==c.insertLinkCallback&&(c.insertLinkCallback(null),c.insertLinkCallback=void 0)}),$("div.dropdown-menu").click(function(t){t.stopPropagation()}),$("#wmd-help-button").click(function(){window.open("http://leanote.com/blog/view/531b263bdfeb2c0ea9000002")}),t.each(document.querySelectorAll("img"),function(t){var e=$(t),n=e.data("stackeditSrc");n&&e.attr("src",window.baseDir+"/img/"+n)})}),c}),define("css/css",[],function(){if("undefined"==typeof window)return{load:function(t,e,n){n()}};var t=document.getElementsByTagName("head")[0],e=window.navigator.userAgent.match(/Trident\/([^ ;]*)|AppleWebKit\/([^ ;]*)|Opera\/([^ ;]*)|rv\:([^ ;]*)(.*?)Gecko\/([^ ;]*)|MSIE\s([^ ;]*)/)||0,n=!1,r=!0;e[1]||e[7]?n=parseInt(e[1])<6||parseInt(e[7])<=9:e[2]?r=!1:e[4]&&(n=parseInt(e[4])<18);var i={};i.pluginBuilder="./css-builder";var a,o,s,l=function(){a=document.createElement("style"),t.appendChild(a),o=a.styleSheet||a.sheet},c=0,u=[],h=function(t){c++,32==c&&(l(),c=0),o.addImport(t),a.onload=function(){f()}},f=function(){s();var t=u.shift();return t?(s=t[1],void h(t[0])):void(s=null)},d=function(t,e){if(o&&o.addImport||l(),o&&o.addImport)s?u.push([t,e]):(h(t),s=e);else{a.textContent='@import "'+t+'";';var n=setInterval(function(){try{a.sheet.cssRules,clearInterval(n),e()}catch(t){}},10)}},p=function(e,n){var i=document.createElement("link");if(i.type="text/css",i.rel="stylesheet",r)i.onload=function(){i.onload=function(){},setTimeout(n,7)};else var a=setInterval(function(){for(var t=0;ta;++a)if(n=t.attributes[a],i=n.name,"class"!=i){if(r=e.attributes.getNamedItem(i),n.specified!=r.specified)return!1;if(n.specified&&n.nodeValue!==r.nodeValue)return!1}return!0}function f(t,e){for(var n,r=0,i=t.attributes.length;i>r;++r)if(n=t.attributes[r].name,(!e||!k.arrayContains(e,n))&&t.attributes[r].specified&&"class"!=n)return!0;return!1}function d(t,e){for(var n in e)if(e.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}function p(t){var e;return t&&1==t.nodeType&&((e=t.parentNode)&&9==e.nodeType&&"on"==e.designMode||N(t)&&!N(t.parentNode))}function g(t){return(N(t)||1!=t.nodeType&&N(t.parentNode))&&!p(t)}function m(t){return t&&1==t.nodeType&&!R.test(E(t,"display"))}function v(t){if(0==t.data.length)return!0;if(A.test(t.data))return!1;var e=E(t.parentNode,"whiteSpace");switch(e){case"pre":case"pre-wrap":case"-moz-pre-wrap":return!1;case"pre-line":if(/[\r\n]/.test(t.data))return!1}return m(t.previousSibling)||m(t.nextSibling)}function y(t,e){return k.isCharacterDataNode(t)?0==e?!!t.previousSibling:e==t.length?!!t.nextSibling:!0:e>0&&eo;++o)"*"==r[o]?this.applyToAnyTagName=!0:this.tagNames.push(r[o].toLowerCase());else this.tagNames=[this.elementTagName]}function C(t,e,n){return new S(t,e,n)}t.requireModules(["WrappedSelection","WrappedRange"]);var E,k=t.dom,T="span",I=function(){function t(t,e,n){return e&&n?" ":""}return function(e,n){e.className&&(e.className=e.className.replace(new RegExp("(?:^|\\s)"+n+"(?:\\s|$)"),t))}}();"undefined"!=typeof window.getComputedStyle?E=function(t,e){return k.getWindow(t).getComputedStyle(t,null)[e]}:"undefined"!=typeof document.documentElement.currentStyle?E=function(t,e){return t.currentStyle[e]}:e.fail("No means of obtaining computed style properties found");var N;!function(){var t=document.createElement("div");N="boolean"==typeof t.isContentEditable?function(t){return t&&1==t.nodeType&&t.isContentEditable}:function(t){return t&&1==t.nodeType&&"false"!=t.contentEditable?"true"==t.contentEditable||N(t.parentNode):!1}}();var R=/^inline(-block|-table)?$/i,A=/[^\r\n\t\f \u200B]/,M=w(!1),L=w(!0);_.prototype={doMerge:function(){for(var t,e,n,r=[],i=0,a=this.textNodes.length;a>i;++i)t=this.textNodes[i],e=t.parentNode,r[i]=t.data,i&&(e.removeChild(t),e.hasChildNodes()||e.parentNode.removeChild(e));return this.firstTextNode.data=n=r.join(""),n},getLength:function(){for(var t=this.textNodes.length,e=0;t--;)e+=this.textNodes[t].length;return e},toString:function(){for(var t=[],e=0,n=this.textNodes.length;n>e;++e)t[e]="'"+this.textNodes[e].data+"'";return"[Merge("+t.join(",")+")]"}};var O=["elementTagName","ignoreWhiteSpace","applyToEditableOnly"],D={"class":"className"};S.prototype={elementTagName:T,elementProperties:{},ignoreWhiteSpace:!0,applyToEditableOnly:!1,hasClass:function(t){return 1==t.nodeType&&k.arrayContains(this.tagNames,t.tagName.toLowerCase())&&r(t,this.cssClass)},getSelfOrAncestorWithClass:function(t){for(;t;){if(this.hasClass(t,this.cssClass))return t;t=t.parentNode}return null},isModifiable:function(t){return!this.applyToEditableOnly||g(t)},isIgnorableWhiteSpaceNode:function(t){return this.ignoreWhiteSpace&&t&&3==t.nodeType&&v(t)},postApply:function(t,e,n){for(var r,i,a,o=t[0],s=t[t.length-1],l=[],c=o,u=s,h=0,f=s.length,d=0,p=t.length;p>d;++d)i=t[d],a=M(i,!n),a?(r||(r=new _(a),l.push(r)),r.textNodes.push(i),i===o&&(c=r.firstTextNode,h=c.length),i===s&&(u=r.firstTextNode,f=r.getLength())):r=null;var g=L(s,!n);if(g&&(r||(r=new _(s),l.push(r)),r.textNodes.push(g)),l.length){for(d=0,p=l.length;p>d;++d)l[d].doMerge();e.setStart(c,h),e.setEnd(u,f)}},createContainer:function(e){var n=e.createElement(this.elementTagName);return t.util.extend(n,this.elementProperties),i(n,this.cssClass),n},applyToTextNode:function(t){var e=t.parentNode;if(1==e.childNodes.length&&k.arrayContains(this.tagNames,e.tagName.toLowerCase()))i(e,this.cssClass);else{var n=this.createContainer(k.getDocument(t));t.parentNode.insertBefore(n,t),n.appendChild(t)}},isRemovable:function(t){return t.tagName.toLowerCase()==this.elementTagName&&o(t)==this.elementSortedClassName&&d(t,this.elementProperties)&&!f(t,this.attrExceptions)&&this.isModifiable(t)},undoToTextNode:function(t,e,n){if(!e.containsNode(n)){var r=e.cloneRange();r.selectNode(n),r.isPointInRange(e.endContainer,e.endOffset)&&(x(n,e.endContainer,e.endOffset,[e]),e.setEndAfter(n)),r.isPointInRange(e.startContainer,e.startOffset)&&(n=x(n,e.startContainer,e.startOffset,[e]))}this.isRemovable(n)?l(n):I(n,this.cssClass)},applyToRange:function(t){t.splitBoundaries();var e=u(t);if(e.length){for(var n,r=0,i=e.length;i>r;++r)n=e[r],this.isIgnorableWhiteSpaceNode(n)||this.getSelfOrAncestorWithClass(n)||!this.isModifiable(n)||this.applyToTextNode(n);t.setStart(e[0],0),n=e[e.length-1],t.setEnd(n,n.length),this.normalize&&this.postApply(e,t,!1)}},applyToSelection:function(e){e=e||window;var n,r=t.getSelection(e),i=r.getAllRanges();r.removeAllRanges();for(var a=i.length;a--;)n=i[a],this.applyToRange(n),r.addRange(n)},undoToRange:function(t){t.splitBoundaries();var e,n,r=u(t),i=r[r.length-1];if(r.length){for(var a=0,o=r.length;o>a;++a)e=r[a],n=this.getSelfOrAncestorWithClass(e),n&&this.isModifiable(e)&&this.undoToTextNode(e,t,n),t.setStart(r[0],0),t.setEnd(i,i.length);this.normalize&&this.postApply(r,t,!0)}},undoToSelection:function(e){e=e||window;var n,r=t.getSelection(e),i=r.getAllRanges();r.removeAllRanges();for(var a=0,o=i.length;o>a;++a)n=i[a],this.undoToRange(n),r.addRange(n)},getTextSelectedByRange:function(t,e){var n=e.cloneRange();n.selectNodeContents(t);var r=n.intersection(e),i=r?r.toString():"";return n.detach(),i},isAppliedToRange:function(t){if(t.collapsed)return!!this.getSelfOrAncestorWithClass(t.commonAncestorContainer);for(var e,n=t.getNodes([3]),r=0;e=n[r++];)if(!this.isIgnorableWhiteSpaceNode(e)&&c(t,e)&&this.isModifiable(e)&&!this.getSelfOrAncestorWithClass(e))return!1;return!0},isAppliedToSelection:function(e){e=e||window;for(var n=t.getSelection(e),r=n.getAllRanges(),i=r.length;i--;)if(!this.isAppliedToRange(r[i]))return!1;return!0},toggleRange:function(t){this.isAppliedToRange(t)?this.undoToRange(t):this.applyToRange(t)},toggleSelection:function(t){this.isAppliedToSelection(t)?this.undoToSelection(t):this.applyToSelection(t)},detach:function(){}},S.util={hasClass:r,addClass:i,removeClass:I,hasSameClasses:s,replaceWithOwnChildren:l,elementsHaveSameNonClassAttributes:h,elementHasNonClassAttributes:f,splitNodeAt:x,isEditableElement:N,isEditingHost:p,isEditable:g},t.CssClassApplier=S,t.createCssClassApplier=C}),define("rangy-cssclassapplier",function(){}),requirejs.config({waitSeconds:0,packages:[{name:"css",location:"bower-libs/require-css",main:"css"},{name:"less",location:"bower-libs/require-less",main:"less"}],paths:{underscore:"bower-libs/underscore/underscore",crel:"bower-libs/crel/crel",jgrowl:"bower-libs/jgrowl/jquery.jgrowl",mousetrap:"bower-libs/mousetrap/mousetrap","mousetrap-record":"bower-libs/mousetrap/plugins/record/mousetrap-record",toMarkdown:"bower-libs/to-markdown/src/to-markdown",text:"bower-libs/requirejs-text/text",mathjax:"libs/MathJax/MathJax.js?config=TeX-AMS_HTML",bootstrap:"bower-libs/bootstrap/dist/js/bootstrap",requirejs:"bower-libs/requirejs/require","google-code-prettify":"bower-libs/google-code-prettify/src/prettify",highlightjs:"libs/highlight/highlight.pack","jquery-waitforimages":"bower-libs/waitForImages/src/jquery.waitforimages","jquery-ui":"bower-libs/jquery-ui/ui/jquery-ui","jquery-ui-core":"bower-libs/jquery-ui/ui/jquery.ui.core","jquery-ui-widget":"bower-libs/jquery-ui/ui/jquery.ui.widget","jquery-ui-mouse":"bower-libs/jquery-ui/ui/jquery.ui.mouse","jquery-ui-draggable":"bower-libs/jquery-ui/ui/jquery.ui.draggable","jquery-ui-effect":"bower-libs/jquery-ui/ui/jquery.ui.effect","jquery-ui-effect-slide":"bower-libs/jquery-ui/ui/jquery.ui.effect-slide",FileSaver:"bower-libs/FileSaver/FileSaver",stacktrace:"bower-libs/stacktrace/stacktrace","requirejs-text":"bower-libs/requirejs-text/text","bootstrap-tour":"bower-libs/bootstrap-tour/build/js/bootstrap-tour",css_browser_selector:"bower-libs/css_browser_selector/css_browser_selector","pagedown-extra":"bower-libs/pagedown-extra/node-pagedown-extra",pagedownExtra:"bower-libs/pagedown-extra/Markdown.Extra",pagedown:"libs/Markdown.Editor","require-css":"bower-libs/require-css/css",xregexp:"bower-libs/xregexp/xregexp-all",yaml:"bower-libs/yaml.js/bin/yaml","yaml.js":"bower-libs/yaml.js","yaml-js":"bower-libs/yaml.js/bin/yaml",css:"bower-libs/require-css/css","css-builder":"bower-libs/require-css/css-builder",normalize:"bower-libs/require-css/normalize",prism:"bower-libs/prism/prism","prism-core":"bower-libs/prism/components/prism-core",MutationObservers:"bower-libs/MutationObservers/MutationObserver",WeakMap:"bower-libs/WeakMap/weakmap",rangy:"bower-libs/rangy/rangy-core","rangy-cssclassapplier":"bower-libs/rangy/rangy-cssclassapplier",diff_match_patch:"bower-libs/google-diff-match-patch-js/diff_match_patch",diff_match_patch_uncompressed:"bower-libs/google-diff-match-patch-js/diff_match_patch_uncompressed",jsondiffpatch:"bower-libs/jsondiffpatch/build/bundle",hammerjs:"bower-libs/hammerjs/hammer",Diagram:"bower-libs/js-sequence-diagrams/src/sequence-diagram","diagram-grammar":"bower-libs/js-sequence-diagrams/build/diagram-grammar",raphael:"bower-libs/raphael/raphael","flow-chart":"bower-libs/flowchart/release/flowchart.amd-1.3.4.min",flowchart:"bower-libs/flowchart/release/flowchart-1.3.4.min",monetizejs:"bower-libs/monetizejs/src/monetize","to-markdown":"bower-libs/to-markdown/src/to-markdown",waitForImages:"bower-libs/waitForImages/dist/jquery.waitforimages",MathJax:"../libs/MathJax/MathJax",alertify:"bower-libs/alertify.js/lib/alertify"},shim:{underscore:{exports:"_"},mathjax:["libs/mathjax_init"],jgrowl:{deps:[],exports:"jQuery.jGrowl"},diff_match_patch_uncompressed:{exports:"diff_match_patch"},jsondiffpatch:["diff_match_patch_uncompressed"],rangy:{exports:"rangy"},"rangy-cssclassapplier":["rangy"],mousetrap:{exports:"Mousetrap"},"yaml-js":{exports:"YAML"},"prism-core":{exports:"Prism"},"bower-libs/prism/components/prism-markup":["prism-core"],"libs/prism-latex":["prism-core"],"libs/prism-markdown":["bower-libs/prism/components/prism-markup","libs/prism-latex"],"bootstrap-record":["mousetrap"],toMarkdown:{deps:[],exports:"toMarkdown"},stacktrace:{exports:"printStackTrace"},FileSaver:{exports:"saveAs"},MutationObservers:["WeakMap"],highlightjs:{exports:"hljs"},"bootstrap-tour":{deps:["bootstrap"],exports:"Tour"},bootstrap:[],"jquery-waitforimages":[],pagedown:["libs/Markdown.Converter"],pagedownExtra:["libs/Markdown.Converter"],"flow-chart":["raphael"],"diagram-grammar":["underscore"],Diagram:["raphael","diagram-grammar"]}}),window.viewerMode=!1,window.theme="default";var themeModule="less!themes/"+window.theme;require(["rangy","core","eventMgr","css","rangy-cssclassapplier"],function(t,e){window.noStart||$(function(){t.init(),e.onReady()})}),define("main",function(){}); \ No newline at end of file