{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./src/views/Document.vue","webpack:///./src/views/menudata.js","webpack:///src/views/Document.vue","webpack:///./src/views/Document.vue?c152","webpack:///./src/views/Document.vue?67c7","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./src/assets/doc/file7.md","webpack:///./src/assets/doc/file6.md","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./src/assets/doc/file4.md","webpack:///./src/assets/doc/file3.md","webpack:///./src/assets/doc/file2.md","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./src/assets/doc/file5.md","webpack:///./src/assets/doc/file1.md","webpack:///./src/views/Document.vue?814c"],"names":["toInteger","defined","module","exports","TO_STRING","that","pos","a","b","s","String","i","l","length","undefined","charCodeAt","charAt","slice","at","S","index","unicode","render","_vm","this","_c","_self","staticClass","_l","menuList","level1","key","children","level2","class","id","on","$event","loadDocument","_v","_s","name","level3","_e","menuIndex","domProps","compiledMarkdown","anchorActive","attrs","staticRenderFns","MENUS","data","content","computed","sanitize","methods","e","location","currentActive","currentItem","window","handleFold","classVal","icon","active","target","component","anObject","result","global","ignoreCase","multiline","sticky","root","block","newline","code","fences","noop","hr","heading","nptable","blockquote","list","html","def","table","lheading","paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","lexer","prototype","token","top","next","loose","cap","bull","listStart","listItems","t","space","tag","isordered","istask","ischecked","exec","substring","push","type","lastToken","trimRight","codeBlockStyle","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","indexOf","RegExp","smartLists","join","task","checked","pre","sanitizer","toLowerCase","href","title","Error","inline","escape","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","_","n","fromCharCode","parseInt","regex","opt","val","cleanUrl","base","prot","decodeURIComponent","originIndependentUrl","resolveUrl","encodeURI","baseUrls","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","out","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","startatt","listitem","checkbox","tablerow","tablecell","flags","baseUrl","parse","parser","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","hasOwnProperty","originalSlug","obj","arguments","call","tableRow","count","offset","str","curr","splice","c","invert","suffLen","currChar","substr","callback","pending","done","err","message","setOptions","getDefaults","inlineLexer","redefine","hide","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","KEY","SYMBOL","DELEGATES_TO_SYMBOL","O","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","string","arg","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","lastIndex","reCopy","classof","builtinExec","R","TypeError","toObject","toLength","advanceStringIndex","regExpExec","max","min","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","$replace","maybeCallNative","searchValue","replaceValue","fn","res","rx","functionalReplace","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","concat","replacement","getSubstitution","tailPos","m","symbols","capture","f","proto","forced"],"mappings":"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","file":"js/chunk-7c09cf20.5cf452ea.js","sourcesContent":["var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"document\"},[_c('div',{staticClass:\"menu\"},[_c('div',{staticClass:\"menu-wrapper\"},_vm._l((_vm.menuList),function(level1){return _c('div',{key:level1.key,staticClass:\"level-1\"},[_c('div',{staticClass:\"level-1-content\"},_vm._l((level1.children),function(level2){return _c('div',{key:level2.key,staticClass:\"level-2\"},[(level2.children.length)?_c('div',[_c('div',{staticClass:\"level-2-title menu-item\",class:level2.id ==1 ? 'active' : '',on:{\"click\":function($event){return _vm.loadDocument($event, level2.id)}}},[_vm._v(\"\\n \"+_vm._s(level2.name)+\"\\n \")]),_vm._l((level2.children),function(level3){return _c('div',{key:level3.key,staticClass:\"menu-item level-3-item\",class:level3.id ==1 ? 'active' : '',on:{\"click\":function($event){return _vm.loadDocument($event, level3.id)}}},[_vm._v(\"\\n \"+_vm._s(level3.name)+\"\\n \")])})],2):_c('div',[(!level2.children.length)?_c('div',{staticClass:\"menu-item level-2-item\",class:level2.id ==1 ? 'active' : '',on:{\"click\":function($event){return _vm.loadDocument($event, level2.id)}}},[_vm._v(\"\\n \"+_vm._s(level2.name)+\"\\n \")]):_vm._e()])])}),0)])}),0)]),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"texts\"},[(_vm.menuIndex == 1)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"产品概述\")]):_vm._e(),(_vm.menuIndex == 2)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"核心功能\")]):_vm._e(),(_vm.menuIndex == 3)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"术语说明\")]):_vm._e(),(_vm.menuIndex == 4)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"提供方发布数据\")]):_vm._e(),(_vm.menuIndex == 5)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"使用方获取数据\")]):_vm._e(),(_vm.menuIndex == 6)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"使用方请求已获取数据\")]):_vm._e(),(_vm.menuIndex == 7)?_c('div',{staticClass:\"article-title\"},[_vm._v(\"数据共享\")]):_vm._e(),(true)?_c('div',{staticClass:\"article\",domProps:{\"innerHTML\":_vm._s(_vm.compiledMarkdown)}}):_vm._e()]),(_vm.menuIndex == 2)?_c('div',{staticClass:\"sub-menu\"},[_c('div',{staticClass:\"sub-menu-wrapper\",on:{\"click\":function($event){return _vm.anchorActive($event)}}},[_c('a',{staticClass:\"anchor-active\",attrs:{\"href\":\"#透明监管\"}},[_vm._v(\"透明监管\")]),_c('a',{attrs:{\"href\":\"#隐私安全\"}},[_vm._v(\"隐私安全\")]),_c('a',{attrs:{\"href\":\"#联邦计算\"}},[_vm._v(\"稳定可靠\")]),_c('a',{attrs:{\"href\":\"#算法高效\"}},[_vm._v(\"算法高效\")])])]):_vm._e(),(_vm.menuIndex == 3)?_c('div',{staticClass:\"sub-menu\"},[_c('div',{staticClass:\"sub-menu-wrapper\",on:{\"click\":function($event){return _vm.anchorActive($event)}}},[_c('a',{staticClass:\"anchor-active\",attrs:{\"href\":\"#区块链\"}},[_vm._v(\"区块链\")]),_c('a',{attrs:{\"href\":\"#隐私计算\"}},[_vm._v(\"隐私计算\")]),_c('a',{attrs:{\"href\":\"#联邦学习\"}},[_vm._v(\"联邦学习\")]),_c('a',{attrs:{\"href\":\"#安全多方计算\"}},[_vm._v(\"安全多方计算\")]),_c('a',{attrs:{\"href\":\"#模型\"}},[_vm._v(\"模型\")]),_c('a',{attrs:{\"href\":\"#数据源\"}},[_vm._v(\"数据源\")]),_c('a',{attrs:{\"href\":\"#数据哈希\"}},[_vm._v(\"数据哈希\")]),_c('a',{attrs:{\"href\":\"#appkey\"}},[_vm._v(\"Appkey\")])])]):_vm._e(),(_vm.menuIndex == 4)?_c('div',{staticClass:\"sub-menu\"},[_c('div',{staticClass:\"sub-menu-wrapper\",on:{\"click\":function($event){return _vm.anchorActive($event)}}},[_c('a',{staticClass:\"anchor-active\",attrs:{\"href\":\"#上传文件\"}},[_vm._v(\"上传文件\")]),_c('a',{attrs:{\"href\":\"#发布文件\"}},[_vm._v(\"发布文件\")]),_c('a',{attrs:{\"href\":\"#编辑授权名单\"}},[_vm._v(\"编辑授权名单\")])])]):_vm._e(),(_vm.menuIndex == 5)?_c('div',{staticClass:\"sub-menu\"},[_c('div',{staticClass:\"sub-menu-wrapper\",on:{\"click\":function($event){return _vm.anchorActive($event)}}},[_c('a',{staticClass:\"anchor-active\",attrs:{\"href\":\"#获取文件(在授权名单中)\"}},[_vm._v(\"获取文件(在授权名单中)\")]),_c('a',{attrs:{\"href\":\"#获取文件(不在授权名单中)\"}},[_vm._v(\"获取文件(不在授权名单中)\")]),_c('a',{attrs:{\"href\":\"#身份验证\"}},[_vm._v(\"身份验证\")])])]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const MENUS = [\n {\n name: '产品简介',\n key: '1',\n children: [\n {\n name: '产品概述',\n key: '1.1',\n id: '1',\n children: []\n },\n {\n name: '核心特性',\n key: '1.2',\n id: '2',\n children: []\n },\n {\n name: '术语说明',\n key: '1.3',\n id: '3',\n children: []\n }\n ]\n },\n // {\n // name: '使用手册',\n // key: '2',\n // children: [\n // {\n // name: '数据共享',\n // key: '2.1',\n // id: '7',\n // children: [\n // {\n // name: '提供方发布数据',\n // key: '2.1.1',\n // id: '4',\n // children: []\n // },\n // {\n // name: '使用方获取数据',\n // key: '2.1.2',\n // id: '5',\n // children: []\n // },\n // {\n // name: '使用方请求已获取数据',\n // key: '2.1.3',\n // id: '6',\n // children: []\n // }\n // ]\n // }\n // ]\n // }\n]\n\nexport default MENUS\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Document.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Document.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Document.vue?vue&type=template&id=8f34a3ca&\"\nimport script from \"./Document.vue?vue&type=script&lang=js&\"\nexport * from \"./Document.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Document.vue?vue&type=style&index=0&id=8f34a3ca&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function(match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","module.exports = \"\\n\\nBitXMesh支持多种类型数据的共享,包括文件、模型、接口以及数据源等。同时为了支撑不同应用场景下的共享需求,BitXMesh提供了积分和授权两种形式的共享方案。\\n\\n数据提供方仅发布数据元信息,实现原始数据不出库的点对点数据交换。数据交换的记录上链,后期可进行追溯、审计。\\n\\n以文件的授权共享为例说明基于BitXMesh进行数据共享的流程。\\n\\n![file share](../pictures/file_share.png)\\n\\n\\n\\n\\n\\n\"","module.exports = \"\\n\\n使用方成功获取数据后登录自己的数据浏览器,从导航栏进入 **数据请求** 页面。填写提供方的节点ID和Appkey后点击「请求数据」进行已获取数据的请求。\\n\\n注:在数据共享平台中点击右上角 **我是申请方** 进入后可查看使用方的所有订单和已获取的数据。使用方可在相应订单详情或已获取数据的数据详情中查看提供方的节点ID和Appkey,可直接进行复制。\\n\\n![file request](../pictures/file_request.png)\\n\\n使用方请求数据后将展示文件信息,并提供多种使用方式:\\n\\n* 下载数据到本地\\n* 在线查看,同文件预览方式\\n* 转存到数据浏览器的文件列表\\n\\n\\n\\n\\n\"","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$
    ') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","module.exports = \"\\n### 上传文件\\n提供方在自己节点的数据浏览器中进入 **文件管理** 页面,点击右上角的「上传文件」,根据弹出的文件列表选择框点击想要上传的文件,点击「打开」确定上传。\\n\\n![file upload](./pictures/file_upload.png)\\n\\n点击文件的名称进行预览,如果该文件格式支持预览则会直接显示文件内容。\\n\\n![file preview](./pictures/file_preview.png)\\n\\n如果不支持该文件格式会提示“该文件类型暂不提供预览”并提供下载链接,可在下载后本地打开查看。\\n\\n### 发布文件\\n对于未发布的文件,可通过以下两种方式之一进行发布:\\n\\n* 点击文件列表中对应文件行右侧的「···」,点击下拉列表中的「发布」\\n\\n* 点击文件列表中对应文件行左侧的方框,点击列表上方的「发布」\\n\\n**选择授权名单**\\n\\n授权形式下共享数据需要选择授权名单,在授权名单内的机构用户申请数据时无需进行审核,即可直接获取该文件。\\n\\n点击「选择授权名单」,弹框中的初始名单为BitXMesh网络中所有已加入的机构节点勾选相应的机构开放获取权限。\\n\\n![file whitelist](./pictures/file_whitelist.png)\\n\\n**填写发布信息**\\n\\n数据提供方需要填写数据标题、数据描述,所填数据信息将展示在数据共享平台中,填写完后点击「发布数据」完成发布。\\n\\n![file publish](./pictures/file_publish.png)\\n\\n### 编辑授权名单\\n\\n文件成功发布以后可进行仍可随时进行授权名单的编辑。进入 **数据发布** 页面,选择「已发布」列表,点击数据所在行右侧的「查看」,进入发布详情页面。\\n\\n![file pubinfo](./pictures/file_pubinfo.png)\\n\\n![file pubinfo2](./pictures/file_pubinfo2.png)\\n\\n点击「查看授权名单」,可查看当前的授权名单以及授权名单的历史变更记录,点击右上角的「编辑名单」,重新进行进行勾选完成更新。\\n\\n![edit whitelist](./pictures/edit_whitelist.png)\\n\\n\\n\\n\"","module.exports = \"\\n### 区块链\\n\\n区块链是一种由多种密码学算法、共识算法、块链式存储结构和对等网络等技术共同组成的分布式技术集合。通过区块链技术,能够保障数据的强一致性、防篡改等特性,实现数据共享和价值传输。\\n\\n### 隐私计算\\n\\n是指在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术,保障数据在流通与融合过程中的“可用不可见”。\\n\\n### 联邦学习\\n\\n联邦机器学习(Federated machine learning/Federated Learning),又名联邦学习,联合学习,联盟学习。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。\\n\\n### 安全多方计算\\n\\n在无可信第三方的分布式网络中,多个互不信任的参与实体各自持有数据输入隐私,并共同完成保证正确性与一致性的协同计算。\\n\\n### 模型\\n\\n用于执行数据库查询、接口调用、计算逻辑等任务的自定义脚本。\\n\\n### 数据源\\n\\n数据库持有方选择库中特定表的特定字段发布后,可供数据使用方自定义模型进行调用的数据库数据。\\n\\n### 数据哈希\\n\\n对各类型数据进行哈希计算得到的唯一的由数字和字母组成的字符串。\\n\\n### Appkey\\n\\n用于唯一用户在区块链上的一次交易记录的字符串,作为买方获取数据和卖方检查调用合法性的凭证。\\n\"","module.exports = \"\\n### 透明监管\\n\\n数据哈希链上铆定存储,通过数据目录链上同步多方集中管控,数据实体链下分布式存储的方式,基于区块链进行细粒度权限控制,全流程记录链上存证,保证后期数据不可篡改,支持数据使用和流转的追溯审计。\\n\\n### 隐私安全\\n\\n提供可靠的隐私保护机制,保证敏感源数据不出库及隐私数据安全交换,基于多重加密机制实现联邦计算与链下计算,同时引入安全多方计算MPC、可信执行环境TEE等项目进一步保证数据隐私,加入联邦机器学习提高数据可用性,在兼顾数据隐私安全与数据多样化使用的前提下打破行业间、机构间的“数据孤岛”。\\n\\n### 稳定可靠\\n\\n提供在弱网环境下的数据共享、联邦计算业务保护以及防网络抖动MPC设计;提供通用跨网闸数据共享、数据传输协议以应对不同密级网络之间的通信场景;提供节点备份、容灾的高可用机制,数据传输全链路加密通信。\\n\\n### 算法高效\\n\\n使用针对性能优化的隐私计算算法,通过算法和工程上的双重优化,在确保数据安全且结果准确的前提下,进一步提升本地计算与网络传输效率,算法效率已达到相关领域产品第一梯队水平。\"","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","module.exports = \"\\n# 使用方获取数据\\n\\n### 获取文件(在授权名单中)\\n数据使用方登录数据共享平台后可通过首页的最新数据列表,或者通过上方的搜索栏查找需要的数据。\\n\\n进入数据详情页后可查看详细的元数据信息和交易记录,点击「立即获取」进入确认订单页面。\\n\\n![file detail](./pictures/file_detail.png)\\n\\n![file confirm](./pictures/file_confirm.png)\\n\\n如果使用方在该数据的授权名单中,则直接在确认订单信息和数据信息后点击底部「确认订单」,通过用户在线签名进行身份验证。(详见本节中的“身份验证”)\\n\\n如果签名无误则获取数据成功,使用方可前往查看订单详情或继续查找、获取数据;如果签名有误则获取失败,可以选择保留订单或取消订单。\\n\\n\\n### 获取文件(不在授权名单中)\\n**使用方提交审核**\\n\\n如果使用方不在想要获取数据的授权名单中,则需要在申请信息中选择有效期并填写申请理由供数据提供方进行审核,并在确认订单后完成身份验证。\\n\\n![file apply](./pictures/file_apply.png)\\n\\n**提供方审核**\\n\\n数据提供方在数据共享平台上收到申请通知后前往 **我是提供方** 的授权订单中进行审核。根据申请理由判断是否进行授权,授权后申请方即可获取该数据的使用权限。\\n\\n点击「驳回」,填写驳回理由并签名,使用方收到相应的通知。\\n\\n![file reject](./pictures/file_reject.png)\\n\\n点击「通过」,提供方需要给数据申请方设置数据授权有效期,随后进行签名完成审核,申请方收到通知后可通过Appkey进行数据的请求和调用。\\n\\n![file pass](./pictures/file_pass.png)\\n\\n### 身份验证\\n\\nBitXMesh提供两种验证方式:\\n\\n![file verify](./pictures/file_verify.png)\\n\\n\\n* 飞洛客(推荐)\\n\\t* 使用方可在自己的数据浏览器中点击右上角“你好,xxx”字样,点击「用户信息」,通过飞洛客手机APP扫描 **导入密钥** 下方的二维码后点击「导入」,设置密钥名称后,显示“密钥创建成功”。\\n\\t* 使用方选择飞洛客为验证方式后,使用飞洛客手机端扫码进行签名\\n\\t\\n\\t
    \\n\\t \\n\\t \\n\\t \\n\\t
    \\n\\n\\n* 私钥\\n\\t* 使用方可在自己的数据浏览器中点击右上角“你好,xxx”字样,点击「用户信息」,点击私钥行右侧的「下载」按钮,下载即得到“key.txt”的私钥文件。\\n\\t* 使用方选择私钥为验证方式后,上传私钥文件进行验证。\\n\\n\\t![user info 2](./pictures/user_info_2.jpeg)\\n\\n\"","module.exports = \"\\nBitXMesh是趣链科技自主研发的链原生数据协作平台,是首个将区块链与安全多方计算技术结合,并支持链上链下协同的数据共享,满足隐私保护需求下的数据价值传递,打破数据孤岛,实现数据“可用不可见”。平台融合安全多方计算(MPC)、联邦学习等技术,首创性提出跨网闸数据交换等适配各类复杂工业场景的通信协议,及零知识黑名单共享算法等具有高度应用价值和社会牵引力的高性能应用算法,可支撑上千机构间数据的安全共享和隐私计算;专用算法延时低至毫秒级别,可支撑亿级以上数据量的应用场景。BitXMesh全项通过中国信通院的《隐私计算性能专项评测》、《区块链辅助的隐私计算工具专项评测》、《联邦学习基础能力专项评测》等行业技术评测,且在功能、性能评测的多项指标均达到行业顶尖水平,其中数据是构建数据要素市场的可信基础设施。\\n\\nBitXMesh提供数据交换、隐私计算和联邦学习三大核心服务,提供企业级的全方位数据流通解决方案,支撑不同数据类型、不同隐私级别、大数据量的跨行业、跨机构、跨部门数据流通场景。分布式数据共享借助分布式账本的不可篡改、可追溯特性提供链上目录管理、节点间数据点对点传输、本地数据分区管控等服务,为可公开、可定向共享的数据提供数据流通方案;隐私计算将密码学、安全硬件、机器学习等技术进行有机融合,通过软件、硬件两种类型的数据保护方式实现数据明文在不出本地的前提下实现高效的多方数据融合计算,让隐私保护需求较高的数据也能充分发挥其潜在价值;联邦学习提供完全去中心的多方数据隐私联邦建模服务,是打破数据孤岛、释放AI应用潜能的机器学习技术,让多方数据在不暴露数据原文或将数据混淆加密的前提下,实现联合建模效果。平台具备数据隐私保护、操作简易高效、区块链协同、算法类型丰富等特点,为大数据量分析或建模场景提供可信、高效、稳定的数据价值释放能力。\\n\\n![intro](../pictures/intro.png)\\n\\n\\n\\n\\n\\n\\n\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Document.vue?vue&type=style&index=0&id=8f34a3ca&prod&lang=scss&\""],"sourceRoot":""}