From 12cc16305871421da3b9b8ca2c7c624fb49d8dd5 Mon Sep 17 00:00:00 2001
From: Pascal Vizeli
Date: Fri, 1 May 2020 14:23:54 +0200
Subject: [PATCH] New addon panel (#1689)
* Update add-on pages
* update panel
---
home-assistant-polymer | 2 +-
.../api/panel/264283c05b3002fb79ff.worker.js | 2 +
.../panel/264283c05b3002fb79ff.worker.js.gz | Bin 0 -> 13295 bytes
.../panel/264283c05b3002fb79ff.worker.js.map | 1 +
.../api/panel/chunk.19d5bc1992ac27173ab6.js | 2 +
.../panel/chunk.19d5bc1992ac27173ab6.js.gz | Bin 0 -> 4060 bytes
.../panel/chunk.19d5bc1992ac27173ab6.js.map | 1 +
.../api/panel/chunk.1ff951c379cdd1f35962.js | 2 +
.../panel/chunk.1ff951c379cdd1f35962.js.gz | Bin 0 -> 494223 bytes
.../panel/chunk.1ff951c379cdd1f35962.js.map | 1 +
.../api/panel/chunk.3bc6767cb58f54994cc9.js | 2 +
.../panel/chunk.3bc6767cb58f54994cc9.js.gz | Bin 0 -> 284 bytes
.../panel/chunk.3bc6767cb58f54994cc9.js.map | 1 +
.../api/panel/chunk.4d87062420538817a606.js | 3 +
.../chunk.4d87062420538817a606.js.LICENSE | 189 ++++++++++++++++++
.../panel/chunk.4d87062420538817a606.js.gz | Bin 0 -> 65876 bytes
.../panel/chunk.4d87062420538817a606.js.map | 1 +
.../api/panel/chunk.51ce215bae87da93ee3e.js | 3 +
.../chunk.51ce215bae87da93ee3e.js.LICENSE | 34 ++++
.../panel/chunk.51ce215bae87da93ee3e.js.gz | Bin 0 -> 38289 bytes
.../panel/chunk.51ce215bae87da93ee3e.js.map | 1 +
.../api/panel/chunk.52de50c0d097931e03e1.js | 3 +
.../chunk.52de50c0d097931e03e1.js.LICENSE | 10 +
.../panel/chunk.52de50c0d097931e03e1.js.gz | Bin 0 -> 7171 bytes
.../panel/chunk.52de50c0d097931e03e1.js.map | 1 +
.../api/panel/chunk.5ccd3af1aae983d5ac7d.js | 2 +
.../panel/chunk.5ccd3af1aae983d5ac7d.js.gz | Bin 0 -> 4086 bytes
.../panel/chunk.5ccd3af1aae983d5ac7d.js.map | 1 +
.../api/panel/chunk.624517ff75204f1d595a.js | 2 +
.../panel/chunk.624517ff75204f1d595a.js.gz | Bin 0 -> 57370 bytes
.../panel/chunk.624517ff75204f1d595a.js.map | 1 +
.../api/panel/chunk.707a732f960dd1bf2b4e.js | 3 +
.../chunk.707a732f960dd1bf2b4e.js.LICENSE | 16 ++
.../panel/chunk.707a732f960dd1bf2b4e.js.gz | Bin 0 -> 3769 bytes
.../panel/chunk.707a732f960dd1bf2b4e.js.map | 1 +
.../api/panel/chunk.80fa272b1dfe6ae40565.js | 2 +
.../panel/chunk.80fa272b1dfe6ae40565.js.gz | Bin 0 -> 34584 bytes
.../panel/chunk.80fa272b1dfe6ae40565.js.map | 1 +
.../api/panel/chunk.930ff51033b925ec9180.js | 3 +
.../chunk.930ff51033b925ec9180.js.LICENSE | 10 +
.../panel/chunk.930ff51033b925ec9180.js.gz | Bin 0 -> 7668 bytes
.../panel/chunk.930ff51033b925ec9180.js.map | 1 +
.../api/panel/chunk.b2dd91c061286f3153d7.js | 2 +
.../panel/chunk.b2dd91c061286f3153d7.js.gz | Bin 0 -> 23890 bytes
.../panel/chunk.b2dd91c061286f3153d7.js.map | 1 +
.../api/panel/chunk.cc42ad88b4acb29d1b37.js | 3 +
.../chunk.cc42ad88b4acb29d1b37.js.LICENSE | 20 ++
.../panel/chunk.cc42ad88b4acb29d1b37.js.gz | Bin 0 -> 34166 bytes
.../panel/chunk.cc42ad88b4acb29d1b37.js.map | 1 +
.../api/panel/chunk.cd3638711ccab048746b.js | 3 +
.../chunk.cd3638711ccab048746b.js.LICENSE | 10 +
.../panel/chunk.cd3638711ccab048746b.js.gz | Bin 0 -> 6851 bytes
.../panel/chunk.cd3638711ccab048746b.js.map | 1 +
supervisor/api/panel/entrypoint.js | 2 +-
supervisor/api/panel/entrypoint.js.gz | Bin 1528 -> 1613 bytes
supervisor/api/panel/entrypoint.js.map | 2 +-
supervisor/api/panel/manifest.json | 74 +++----
57 files changed, 381 insertions(+), 40 deletions(-)
create mode 100644 supervisor/api/panel/264283c05b3002fb79ff.worker.js
create mode 100644 supervisor/api/panel/264283c05b3002fb79ff.worker.js.gz
create mode 100644 supervisor/api/panel/264283c05b3002fb79ff.worker.js.map
create mode 100644 supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js
create mode 100644 supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js.gz
create mode 100644 supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js.map
create mode 100644 supervisor/api/panel/chunk.1ff951c379cdd1f35962.js
create mode 100644 supervisor/api/panel/chunk.1ff951c379cdd1f35962.js.gz
create mode 100644 supervisor/api/panel/chunk.1ff951c379cdd1f35962.js.map
create mode 100644 supervisor/api/panel/chunk.3bc6767cb58f54994cc9.js
create mode 100644 supervisor/api/panel/chunk.3bc6767cb58f54994cc9.js.gz
create mode 100644 supervisor/api/panel/chunk.3bc6767cb58f54994cc9.js.map
create mode 100644 supervisor/api/panel/chunk.4d87062420538817a606.js
create mode 100644 supervisor/api/panel/chunk.4d87062420538817a606.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.4d87062420538817a606.js.gz
create mode 100644 supervisor/api/panel/chunk.4d87062420538817a606.js.map
create mode 100644 supervisor/api/panel/chunk.51ce215bae87da93ee3e.js
create mode 100644 supervisor/api/panel/chunk.51ce215bae87da93ee3e.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.51ce215bae87da93ee3e.js.gz
create mode 100644 supervisor/api/panel/chunk.51ce215bae87da93ee3e.js.map
create mode 100644 supervisor/api/panel/chunk.52de50c0d097931e03e1.js
create mode 100644 supervisor/api/panel/chunk.52de50c0d097931e03e1.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.52de50c0d097931e03e1.js.gz
create mode 100644 supervisor/api/panel/chunk.52de50c0d097931e03e1.js.map
create mode 100644 supervisor/api/panel/chunk.5ccd3af1aae983d5ac7d.js
create mode 100644 supervisor/api/panel/chunk.5ccd3af1aae983d5ac7d.js.gz
create mode 100644 supervisor/api/panel/chunk.5ccd3af1aae983d5ac7d.js.map
create mode 100644 supervisor/api/panel/chunk.624517ff75204f1d595a.js
create mode 100644 supervisor/api/panel/chunk.624517ff75204f1d595a.js.gz
create mode 100644 supervisor/api/panel/chunk.624517ff75204f1d595a.js.map
create mode 100644 supervisor/api/panel/chunk.707a732f960dd1bf2b4e.js
create mode 100644 supervisor/api/panel/chunk.707a732f960dd1bf2b4e.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.707a732f960dd1bf2b4e.js.gz
create mode 100644 supervisor/api/panel/chunk.707a732f960dd1bf2b4e.js.map
create mode 100644 supervisor/api/panel/chunk.80fa272b1dfe6ae40565.js
create mode 100644 supervisor/api/panel/chunk.80fa272b1dfe6ae40565.js.gz
create mode 100644 supervisor/api/panel/chunk.80fa272b1dfe6ae40565.js.map
create mode 100644 supervisor/api/panel/chunk.930ff51033b925ec9180.js
create mode 100644 supervisor/api/panel/chunk.930ff51033b925ec9180.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.930ff51033b925ec9180.js.gz
create mode 100644 supervisor/api/panel/chunk.930ff51033b925ec9180.js.map
create mode 100644 supervisor/api/panel/chunk.b2dd91c061286f3153d7.js
create mode 100644 supervisor/api/panel/chunk.b2dd91c061286f3153d7.js.gz
create mode 100644 supervisor/api/panel/chunk.b2dd91c061286f3153d7.js.map
create mode 100644 supervisor/api/panel/chunk.cc42ad88b4acb29d1b37.js
create mode 100644 supervisor/api/panel/chunk.cc42ad88b4acb29d1b37.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.cc42ad88b4acb29d1b37.js.gz
create mode 100644 supervisor/api/panel/chunk.cc42ad88b4acb29d1b37.js.map
create mode 100644 supervisor/api/panel/chunk.cd3638711ccab048746b.js
create mode 100644 supervisor/api/panel/chunk.cd3638711ccab048746b.js.LICENSE
create mode 100644 supervisor/api/panel/chunk.cd3638711ccab048746b.js.gz
create mode 100644 supervisor/api/panel/chunk.cd3638711ccab048746b.js.map
diff --git a/home-assistant-polymer b/home-assistant-polymer
index ebb20abee..d2a549433 160000
--- a/home-assistant-polymer
+++ b/home-assistant-polymer
@@ -1 +1 @@
-Subproject commit ebb20abee0b3b227974684116ea2207d9ad33856
+Subproject commit d2a5494335381a0a807067bd2234b0324b0f47fa
diff --git a/supervisor/api/panel/264283c05b3002fb79ff.worker.js b/supervisor/api/panel/264283c05b3002fb79ff.worker.js
new file mode 100644
index 000000000..ed6a3bfbd
--- /dev/null
+++ b/supervisor/api/panel/264283c05b3002fb79ff.worker.js
@@ -0,0 +1,2 @@
+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/api/hassio/app/",n(n.s=8)}([function(e,t,n){var r=n(4),i=n(10);for(var o in(t=e.exports=function(e,t){return new i(t).process(e)}).FilterCSS=i,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n/g,p=/"/g,h=/"/g,g=/([a-zA-Z0-9]*);?/gim,f=/:?/gim,d=/&newline;?/gim,m=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,b=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,y=/u\s*r\s*l\s*\(.*/gi;function x(e){return e.replace(p,""")}function k(e){return e.replace(h,'"')}function v(e){return e.replace(g,function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function w(e){return e.replace(f,":").replace(d," ")}function _(e){for(var t="",n=0,r=e.length;n/g;t.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},t.getDefaultWhiteList=s,t.onTag=function(e,t,n){},t.onIgnoreTag=function(e,t,n){},t.onTagAttr=function(e,t,n){},t.onIgnoreTagAttr=function(e,t,n){},t.safeAttrValue=function(e,t,n,r){if(n=S(n),"href"===t||"src"===t){if("#"===(n=o.trim(n)))return"#";if("http://"!==n.substr(0,7)&&"https://"!==n.substr(0,8)&&"mailto:"!==n.substr(0,7)&&"tel:"!==n.substr(0,4)&&"#"!==n[0]&&"/"!==n[0])return""}else if("background"===t){if(m.lastIndex=0,m.test(n))return""}else if("style"===t){if(b.lastIndex=0,b.test(n))return"";if(y.lastIndex=0,y.test(n)&&(m.lastIndex=0,m.test(n)))return"";!1!==r&&(n=(r=r||a).process(n))}return n=A(n)},t.escapeHtml=l,t.escapeQuote=x,t.unescapeQuote=k,t.escapeHtmlEntities=v,t.escapeDangerHtml5Entities=w,t.clearNonPrintableCharacter=_,t.friendlyAttrValue=S,t.escapeAttrValue=A,t.onIgnoreTagStripAll=function(){return""},t.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var n=!Array.isArray(e),r=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(t){return!!n||-1!==o.indexOf(e,t)}(s)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return r.push([!1!==i?i:l.position,u]),i=!1,c}return i||(i=l.position),"[removed]"}return t(s,a,l)},remove:function(e){var t="",n=0;return o.forEach(r,function(r){t+=e.slice(n,r[0]),n=r[1]}),t+=e.slice(n)}}},t.stripCommentTag=function(e){return e.replace($,"")},t.stripBlankChar=function(e){var t=e.split("");return(t=t.filter(function(e){var t=e.charCodeAt(0);return!(127===t||t<=31&&10!==t&&13!==t)})).join("")},t.cssFilter=a,t.getDefaultCSSWhiteList=i},function(e,t){function n(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var r=/javascript\s*\:/gim;t.whiteList=n(),t.getDefaultWhiteList=n,t.onAttr=function(e,t,n){},t.onIgnoreAttr=function(e,t,n){},t.safeAttrValue=function(e,t){return r.test(t)?"":t}},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n0;t--){var n=e[t];if(" "!==n)return"="===n?t:-1}}function c(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}t.parseTag=function(e,t,n){var r="",s=0,a=!1,l=!1,c=0,u=e.length,p="",h="";for(c=0;c"===g){r+=n(e.slice(s,a)),p=i(h=e.slice(a,c+1)),r+=t(a,r.length,p,h,o(h)),s=c+1,a=!1;continue}if(('"'===g||"'"===g)&&"="===e.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A.defaults,this.rules=s.normal,this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,s.def=m(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d{1,9}\.)/,s.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,s.item=m(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=m(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=m(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=m(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag",s._tag).getRegex(),s.blockquote=m(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=v({},s),s.gfm=v({},s.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=m(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=v({},s.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),s.pedantic=v({},s.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=s,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,i,o,a,l,c,u,p,h,g,f,d,m,b,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:_(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(l={type:"table",header:w(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),c={type:"list_start",ordered:m=(o=i[2]).length>1,start:m?+o:"",loose:!1},this.tokens.push(c),u=[],n=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===a.length:a.length>1||this.options.smartLists&&a!==o)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),r=n||/\n\n(?!\s*$)/.test(l),g!==d-1&&(n="\n"===l.charAt(l.length-1),r||(r=n)),r&&(c.loose=!0),y=void 0,(b=/^\[[ xX]\] /.test(l))&&(y=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:b,checked:y,loose:r},u.push(p),this.tokens.push(p),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(d=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:k,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",l.em=m(l.em).replace(/punctuation/g,l._punctuation).getRegex(),l._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._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])?)+(?![-_])/,l.autolink=m(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,l.tag=m(l.tag).replace("comment",s._comment).replace("attribute",l._attribute).getRegex(),l._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,l._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,l._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,l.link=m(l.link).replace("label",l._label).replace("href",l._href).replace("title",l._title).getRegex(),l.reflink=m(l.reflink).replace("label",l._label).getRegex(),l.normal=v({},l),l.pedantic=v({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",l._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l._label).getRegex()}),l.gfm=v({},l.normal,{escape:m(l.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(o[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.inRawBlock=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):f(o[0]):o[0];else if(o=this.rules.link.exec(e)){var l=S(o[2],"()");if(l>-1){var u=o[0].length-(o[2].length-l)-(o[3]||"").length;o[2]=o[2].substring(0,l),o[0]=o[0].substring(0,u).trim(),o[3]=""}e=e.substring(o[0].length),this.inLink=!0,r=o[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],i=t[3]):i="":i=o[3]?o[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(o,{href:c.escapes(r),title:c.escapes(i)}),this.inLink=!1}else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[6]||o[5]||o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(f(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),r="@"===o[2]?"mailto:"+(n=f(this.mangle(o[1]))):n=f(o[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.text.exec(e))e=e.substring(o[0].length),this.inRawBlock?a+=this.renderer.text(o[0]):a+=this.renderer.text(f(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===o[2])r="mailto:"+(n=f(o[0]));else{do{s=o[0],o[0]=this.rules._backpedal.exec(o[0])[0]}while(s!==o[0]);n=f(o[0]),r="www."===o[1]?"http://"+n:n}e=e.substring(o[0].length),a+=this.renderer.link(r,null,n)}return a},c.escapes=function(e){return e?e.replace(c.rules._escapes,"$1"):e},c.prototype.outputLink=function(e,t){var n=t.href,r=t.title?f(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,f(e[1]))},c.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},c.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+=""+t+";";return n},u.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return r?''+(n?e:f(e,!0))+"
\n":""+(n?e:f(e,!0))+"
"},u.prototype.blockquote=function(e){return"\n"+e+"
\n"},u.prototype.html=function(e){return e},u.prototype.heading=function(e,t,n,r){return this.options.headerIds?"\n":""+e+"\n"},u.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},u.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+r+">\n"},u.prototype.listitem=function(e){return""+e+"\n"},u.prototype.checkbox=function(e){return" "},u.prototype.paragraph=function(e){return""+e+"
\n"},u.prototype.table=function(e,t){return t&&(t=""+t+""),"\n"},u.prototype.tablerow=function(e){return"\n"+e+"
\n"},u.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+""+n+">\n"},u.prototype.strong=function(e){return""+e+""},u.prototype.em=function(e){return""+e+""},u.prototype.codespan=function(e){return""+e+"
"},u.prototype.br=function(){return this.options.xhtml?"
":"
"},u.prototype.del=function(e){return""+e+""},u.prototype.link=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"+n+""},u.prototype.image=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
":">"},u.prototype.text=function(e){return e},p.prototype.strong=p.prototype.em=p.prototype.codespan=p.prototype.del=p.prototype.text=function(e){return e},p.prototype.link=p.prototype.image=function(e,t,n){return""+n},p.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new c(e.links,this.options),this.inlineText=new c(e.links,v({},this.options,{renderer:new p})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop()},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},f.escapeTest=/[&<>"']/,f.escapeReplace=/[&<>"']/g,f.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},f.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,f.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var y={},x=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function k(){}function v(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:
"+f(c.message+"",!0)+"
";throw c}}k.exec=k,A.options=A.setOptions=function(e){return v(A.defaults,e),A},A.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new u,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},A.defaults=A.getDefaults(),A.Parser=h,A.parser=h.parse,A.Renderer=u,A.TextRenderer=p,A.Lexer=a,A.lexer=a.lex,A.InlineLexer=c,A.inlineLexer=c.output,A.Slugger=g,A.parse=A,"object"===o(t)?e.exports=A:void 0===(i=function(){return A}.call(t,n,t,e))||(e.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,n(9))},function(e,t,n){"use strict";n.r(t),n.d(t,"renderMarkdown",function(){return c});var r,i,o=n(7),s=n.n(o),a=n(2),l=n.n(a),c=function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r||(r=Object.assign({},l.a.whiteList,{"ha-icon":["icon"]})),o.allowSvg?(i||(i=Object.assign({},r,{svg:["xmlns","height","width"],path:["transform","stroke","d"],img:["src"]})),n=i):n=r,l()(s()(e,t),{whiteList:n})};addEventListener("message",function(e){var n,r=e.data,i=r.type,o=r.method,s=r.id,a=r.params;"RPC"===i&&o&&((n=t[o])?Promise.resolve().then(function(){return n.apply(t,a)}):Promise.reject("No such method")).then(function(e){postMessage({type:"RPC",id:s,result:e})}).catch(function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:"RPC",id:s,error:t})})}),postMessage({type:"RPC",method:"ready"})},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(i){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}e.exports=r},function(e,t,n){var r=n(4),i=n(11);n(5);function o(e){return null==e}function s(e){(e=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e||{})).whiteList=e.whiteList||r.whiteList,e.onAttr=e.onAttr||r.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||r.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||r.safeAttrValue,this.options=e}s.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,n=t.whiteList,r=t.onAttr,s=t.onIgnoreAttr,a=t.safeAttrValue;return i(e,function(e,t,i,l,c){var u=n[i],p=!1;if(!0===u?p=u:"function"==typeof u?p=u(l):u instanceof RegExp&&(p=u.test(l)),!0!==p&&(p=!1),l=a(i,l)){var h,g={position:t,sourcePosition:e,source:c,isWhite:p};return p?o(h=r(i,l,g))?i+":"+l:h:o(h=s(i,l,g))?void 0:h}})},e.exports=s},function(e,t,n){var r=n(5);e.exports=function(e,t){";"!==(e=r.trimRight(e))[e.length-1]&&(e+=";");var n=e.length,i=!1,o=0,s=0,a="";function l(){if(!i){var n=r.trim(e.slice(o,s)),l=n.indexOf(":");if(-1!==l){var c=r.trim(n.slice(0,l)),u=r.trim(n.slice(l+1));if(c){var p=t(o,a.length,c,u,n);p&&(a+=p+"; ")}}}o=s+1}for(;s";var y=function(e){var t=l.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var n="/"===(e=l.trim(e.slice(t+1,-1)))[e.length-1];return n&&(e=l.trim(e.slice(0,-1))),{html:e,closing:n}}(s),x=n[i],k=a(y.html,function(e,t){var n,r=-1!==l.indexOf(x,e);return c(n=u(i,e,t,r))?r?(t=h(i,e,t,f))?e+'="'+t+'"':e:c(n=p(i,e,t,r))?void 0:n:n});s="<"+i;return k&&(s+=" "+k),y.closing&&(s+=" /"),s+=">"}return c(m=o(i,s,b))?g(s):m},g);return d&&(m=d.remove(m)),m},e.exports=u}]);
+//# sourceMappingURL=264283c05b3002fb79ff.worker.js.map
\ No newline at end of file
diff --git a/supervisor/api/panel/264283c05b3002fb79ff.worker.js.gz b/supervisor/api/panel/264283c05b3002fb79ff.worker.js.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b409644a3ef663a2f7057da2af92cb58a53d2b94
GIT binary patch
literal 13295
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
literal 0
HcmV?d00001
diff --git a/supervisor/api/panel/264283c05b3002fb79ff.worker.js.map b/supervisor/api/panel/264283c05b3002fb79ff.worker.js.map
new file mode 100644
index 000000000..636587e14
--- /dev/null
+++ b/supervisor/api/panel/264283c05b3002fb79ff.worker.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/cssfilter/lib/index.js","webpack:///./node_modules/xss/lib/util.js","webpack:///./node_modules/xss/lib/index.js","webpack:///./node_modules/xss/lib/default.js","webpack:///./node_modules/cssfilter/lib/default.js","webpack:///./node_modules/cssfilter/lib/util.js","webpack:///./node_modules/xss/lib/parser.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./src/resources/markdown_worker.ts","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/cssfilter/lib/css.js","webpack:///./node_modules/cssfilter/lib/parser.js","webpack:///./node_modules/xss/lib/xss.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","DEFAULT","require","FilterCSS","html","options","process","window","filterCSS","indexOf","arr","item","j","Array","length","forEach","fn","scope","trim","str","String","replace","spaceIndex","match","exec","index","parser","FilterXSS","filterXSS","self","DedicatedWorkerGlobalScope","getDefaultCSSWhiteList","getDefaultWhiteList","_","a","abbr","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","caption","center","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","font","footer","h1","h2","h3","h4","h5","h6","header","hr","img","ins","li","mark","nav","ol","pre","section","small","span","sub","sup","strong","table","tbody","td","tfoot","th","thead","tr","tt","u","ul","video","defaultCSSFilter","escapeHtml","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","unescapeQuote","escapeHtmlEntities","fromCharCode","parseInt","substr","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","charCodeAt","charAt","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","whiteList","onTag","tag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","safeAttrValue","cssFilter","lastIndex","test","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","isArray","removeList","posStart","isRemoveTag","isClosing","ret","end","position","push","remove","rethtml","lastPos","pos","slice","stripCommentTag","stripBlankChar","chars","split","filter","char","join","REGEXP_URL_JAVASCRIPT","onAttr","onIgnoreAttr","trimRight","getTagName","tagName","toLowerCase","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","text","isQuoteWrapString","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","parseAttr","retAttrs","tmpName","addAttr","root","block","newline","fences","noop","heading","nptable","list","def","lheading","paragraph","Lexer","this","tokens","links","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","getRegex","bullet","source","_tag","_comment","merge","lex","src","token","top","loose","cap","bull","listStart","listItems","space","isordered","istask","ischecked","substring","type","rtrim","lang","depth","splitCells","align","cells","ordered","start","RegExp","smartLists","undefined","task","checked","sanitize","sanitizer","href","title","Error","inline","escape","autolink","url","link","reflink","nolink","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","regex","opt","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_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","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","errMsg","silent","console","log","originalSlug","&","<",">","\"","'","obj","target","arguments","tableRow","count","offset","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","setOptions","getDefaults","lexer","inlineLexer","_typeof","define","__WEBPACK_AMD_DEFINE_RESULT__","__webpack_exports__","renderMarkdown","whiteListNormal","whiteListSvg","marked__WEBPACK_IMPORTED_MODULE_0__","marked__WEBPACK_IMPORTED_MODULE_0___default","xss__WEBPACK_IMPORTED_MODULE_1__","xss__WEBPACK_IMPORTED_MODULE_1___default","markedOptions","hassOptions","assign","ha-icon","allowSvg","svg","path","addEventListener","f","ref","data","method","id","params","Promise","resolve","then","apply","reject","result","postMessage","catch","error","stack","g","Function","parseStyle","isNull","shallowCopyObject","css","sourcePosition","check","isWhite","opts","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr"],"mappings":"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","file":"264283c05b3002fb79ff.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/api/hassio/app/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function(arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function(arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function(str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function(str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n }\n};\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\"],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\", \"height\", \"width\"]\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape doube quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function() {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function(tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function(html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function(pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n }\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = //g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function(char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. ''\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\";\n}\n\n/**\n * parse input html and returns processed html\n *\n * @param {String} html\n * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)\n * @param {Function} escapeHtml\n * @return {String}\n */\nfunction parseTag(html, onTag, escapeHtml) {\n \"user strict\";\n\n var rethtml = \"\";\n var lastPos = 0;\n var tagStart = false;\n var quoteStart = false;\n var currentPos = 0;\n var len = html.length;\n var currentTagName = \"\";\n var currentHtml = \"\";\n\n for (currentPos = 0; currentPos < len; currentPos++) {\n var c = html.charAt(currentPos);\n if (tagStart === false) {\n if (c === \"<\") {\n tagStart = currentPos;\n continue;\n }\n } else {\n if (quoteStart === false) {\n if (c === \"<\") {\n rethtml += escapeHtml(html.slice(lastPos, currentPos));\n tagStart = currentPos;\n lastPos = currentPos;\n continue;\n }\n if (c === \">\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if ((c === '\"' || c === \"'\") && html.charAt(currentPos - 1) === \"=\") {\n quoteStart = c;\n continue;\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"user strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\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]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){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]+?\\\\1> *(?:\\\\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: /^ *\\[([^\\]]+)\\]: *([^\\s>]+)>?(?: +([\"(][^\\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 src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\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 + '|^[a-zA-Z][\\\\w:-]*\\\\s*>' // 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*])\\*(?!\\*)|^\\*([^\\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 + '' + type + '>\\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 + '' + type + '>\\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 = '' + text + '';\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 return this.token = this.tokens.pop();\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","import marked from \"marked\"; // @ts-ignore\n\nimport filterXSS from \"xss\";\nvar whiteListNormal;\nvar whiteListSvg;\nexport var renderMarkdown = function renderMarkdown(content, markedOptions) {\n var hassOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!whiteListNormal) {\n whiteListNormal = Object.assign({}, filterXSS.whiteList, {\n \"ha-icon\": [\"icon\"]\n });\n }\n\n var whiteList;\n\n if (hassOptions.allowSvg) {\n if (!whiteListSvg) {\n whiteListSvg = Object.assign({}, whiteListNormal, {\n svg: [\"xmlns\", \"height\", \"width\"],\n path: [\"transform\", \"stroke\", \"d\"],\n img: [\"src\"]\n });\n }\n\n whiteList = whiteListSvg;\n } else {\n whiteList = whiteListNormal;\n }\n\n return filterXSS(marked(content, markedOptions), {\n whiteList: whiteList\n });\n};\naddEventListener('message', function (e) {var ref = e.data;var type = ref.type;var method = ref.method;var id = ref.id;var params = ref.params;var f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () { return f.apply(__webpack_exports__, params); });} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\"\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function(html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function(sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag)\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\" + tag + \">\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function(name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js b/supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js
new file mode 100644
index 000000000..3bd5c019c
--- /dev/null
+++ b/supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js
@@ -0,0 +1,2 @@
+(self.webpackJsonp=self.webpackJsonp||[]).push([[8],{4:function(t,e,n){"use strict";n.r(e);n(78);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function L(t,e){for(var n=0;n',document.head.appendChild(a.content)}}]);
+//# sourceMappingURL=chunk.19d5bc1992ac27173ab6.js.map
\ No newline at end of file
diff --git a/supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js.gz b/supervisor/api/panel/chunk.19d5bc1992ac27173ab6.js.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2e07f89bbbe3ca3418fa40b12a0cb32f9d62598b
GIT binary patch
literal 4060
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 this.fire(\"iron-iconset-added\", this, { node: window }));\n }\n\n /**\n *\n * When name is changed, register iconset metadata\n *\n */\n _nameChanged() {\n this._meta.value = null;\n this._meta.key = this.name;\n this._meta.value = this;\n if (this.ownerDocument && this.ownerDocument.readyState === \"loading\") {\n // Document still loading. It could be that not all icons in the iconset are parsed yet.\n this.ownerDocument.addEventListener(\"DOMContentLoaded\", () => {\n this._fireIronIconsetAdded();\n });\n } else {\n this._fireIronIconsetAdded();\n }\n }\n}\n\ncustomElements.define(\"ha-iconset-svg\", HaIconset);\n","export default \"\";","import \"../../../src/components/ha-iconset-svg\";\nimport iconSetContent from \"../../hassio-icons.html\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/supervisor/api/panel/chunk.1ff951c379cdd1f35962.js b/supervisor/api/panel/chunk.1ff951c379cdd1f35962.js
new file mode 100644
index 000000000..a0145da73
--- /dev/null
+++ b/supervisor/api/panel/chunk.1ff951c379cdd1f35962.js
@@ -0,0 +1,2 @@
+(self.webpackJsonp=self.webpackJsonp||[]).push([[11],{183:function(H,V,C){"use strict";C.r(V);var L=document.createElement("template");L.setAttribute("style","display: none;"),L.innerHTML='',document.head.appendChild(L.content)}}]);
+//# sourceMappingURL=chunk.1ff951c379cdd1f35962.js.map
\ No newline at end of file
diff --git a/supervisor/api/panel/chunk.1ff951c379cdd1f35962.js.gz b/supervisor/api/panel/chunk.1ff951c379cdd1f35962.js.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5d853252eb71777eaf70f378a35e5fd943b5ccf9
GIT binary patch
literal 494223
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 qQAqpo$i8CLcK}`
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 %G|e
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 |