1(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[5485],{6191(e,t){"use strict";function n(e){return"[object Object]"===Object.prototype.toString.call(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isPlainObject=function(e){var t,o;return!1!==n(e)&&(void 0===(t=e.constructor)||!1!==n(o=t.prototype)&&!1!==o.hasOwnProperty("isPrototypeOf"))}},74728(e,t,n){const o=n(78659),r=n(52834),{isPlainObject:i}=n(6191),a=n(14744),s=n(29466),{parse:l}=n(12895),c=["img","audio","video","picture","svg","object","map","iframe","embed"],d=["script","style"];function u(e,t){e&&Object.keys(e).forEach(function(n){t(e[n],n)})}function f(e,t){return{}.hasOwnProperty.call(e,t)}function p(e,t){const n=[];return u(e,function(e){t(e)&&n.push(e)}),n}e.exports=h;const g=/^[^\0\t\n\f\r /<=>]+$/;function h(e,t,n){if(null==e)return"";"number"===typeof e&&(e=e.toString());let w="",b="";function y(e,t){const n=this;this.tag=e,this.attribs=t||{},this.tagPosition=w.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){if(j.length){j[j.length-1].text+=n.text}},this.updateParentNodeMediaChildren=function(){if(j.length&&c.includes(this.tag)){j[j.length-1].mediaChildren.push(this.tag)}}}(t=Object.assign({},h.defaults,t)).parser=Object.assign({},m,t.parser);const v=function(e){return!1===t.allowedTags||(t.allowedTags||[]).indexOf(e)>-1};d.forEach(function(e){v(e)&&!t.allowVulnerableTags&&console.warn(`\n\n\u26a0\ufe0f Your \`allowedTags\` option includes, \`${e}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)});const x=t.nonTextTags||["script","style","textarea","option"];let T,O;t.allowedAttributes&&(T={},O={},u(t.allowedAttributes,function(e,t){T[t]=[];const n=[];e.forEach(function(e){"string"===typeof e&&e.indexOf("*")>=0?n.push(r(e).replace(/\\\*/g,".*")):T[t].push(e)}),n.length&&(O[t]=new RegExp("^("+n.join("|")+")$"))}));const A={},S={},E={};u(t.allowedClasses,function(e,t){if(T&&(f(T,t)||(T[t]=[]),T[t].push("class")),A[t]=e,Array.isArray(e)){const n=[];A[t]=[],E[t]=[],e.forEach(function(e){"string"===typeof e&&e.indexOf("*")>=0?n.push(r(e).replace(/\\\*/g,".*")):e instanceof RegExp?E[t].push(e):A[t].push(e)}),n.length&&(S[t]=new RegExp("^("+n.join("|")+")$"))}});const k={};let P,M,j,D,L,N,$;u(t.transformTags,function(e,t){let n;"function"===typeof e?n=e:"string"===typeof e&&(n=h.simpleTransform(e)),"*"===t?P=n:k[t]=n});let _=!1;B();const C=new o.Parser({onopentag:function(e,n){if(t.onOpenTag&&t.onOpenTag(e,n),t.enforceHtmlBoundary&&"html"===e&&B(),N)return void $++;const o=new y(e,n);j.push(o);let r=!1;const c=!!o.text;let d;if(f(k,e)&&(d=k[e](e,n),o.attribs=n=d.attribs,void 0!==d.text&&(o.innerText=d.text),e!==d.tagName&&(o.name=e=d.tagName,L[M]=d.tagName)),P&&(d=P(e,n),o.attribs=n=d.attribs,e!==d.tagName&&(o.name=e=d.tagName,L[M]=d.tagName)),(!v(e)||"recursiveEscape"===t.disallowedTagsMode&&!function(e){for(const t in e)if(f(e,t))return!1;return!0}(D)||null!=t.nestingLimit&&M>=t.nestingLimit)&&(r=!0,D[M]=!0,"discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||-1!==x.indexOf(e)&&(N=!0,$=1)),M++,r){if("discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode){if(o.innerText&&!c){const n=H(o.innerText);t.textFilter?w+=t.textFilter(n,e):w+=n,_=!0}return}b=w,w=""}w+="<"+e,"script"===e&&(t.allowedScriptHostnames||t.allowedScriptDomains)&&(o.innerText="");r&&("escape"===t.disallowedTagsMode||"recursiveEscape"===t.disallowedTagsMode)&&t.preserveEscapedAttributes?u(n,function(e,t){w+=" "+t+'="'+H(e||"",!0)+'"'}):(!T||f(T,e)||T["*"])&&u(n,function(n,r){if(!g.test(r))return void delete o.attribs[r];if(""===n&&!t.allowedEmptyAttributes.includes(r)&&(t.nonBooleanAttributes.includes(r)||t.nonBooleanAttributes.includes("*")))return void delete o.attribs[r];let c=!1;if(!T||f(T,e)&&-1!==T[e].indexOf(r)||T["*"]&&-1!==T["*"].indexOf(r)||f(O,e)&&O[e].test(r)||O["*"]&&O["*"].test(r))c=!0;else if(T&&T[e])for(const t of T[e])if(i(t)&&t.name&&t.name===r){c=!0;let e="";if(!0===t.multiple){const o=n.split(" ");for(const n of o)-1!==t.values.indexOf(n)&&(""===e?e=n:e+=" "+n)}else t.values.indexOf(n)>=0&&(e=n);n=e}if(c){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(r)&&R(e,n))return void delete o.attribs[r];if("script"===e&&"src"===r){let e=!0;try{const o=z(n);if(t.allowedScriptHostnames||t.allowedScriptDomains){const n=(t.allowedScriptHostnames||[]).find(function(e){return e===o.url.hostname}),r=(t.allowedScriptDomains||[]).find(function(e){return o.url.hostname===e||o.url.hostname.endsWith(`.${e}`)});e=n||r}}catch(d){e=!1}if(!e)return void delete o.attribs[r]}if("iframe"===e&&"src"===r){let e=!0;try{const o=z(n);
1if(o.isRelativeUrl)e=f(t,"allowIframeRelativeUrls")?t.allowIframeRelativeUrls:!t.allowedIframeHostnames&&!t.allowedIframeDomains;else if(t.allowedIframeHostnames||t.allowedIframeDomains){const n=(t.allowedIframeHostnames||[]).find(function(e){return e===o.url.hostname}),r=(t.allowedIframeDomains||[]).find(function(e){return o.url.hostname===e||o.url.hostname.endsWith(`.${e}`)});e=n||r}}catch(d){e=!1}if(!e)return void delete o.attribs[r]}if("srcset"===r)try{let e=s(n);if(e.forEach(function(e){R("srcset",e.url)&&(e.evil=!0)}),e=p(e,function(e){return!e.evil}),!e.length)return void delete o.attribs[r];n=p(e,function(e){return!e.evil}).map(function(e){if(!e.url)throw new Error("URL missing");return e.url+(e.w?` ${e.w}w`:"")+(e.h?` ${e.h}h`:"")+(e.d?` ${e.d}x`:"")}).join(", "),o.attribs[r]=n}catch(d){return void delete o.attribs[r]}if("class"===r){const t=A[e],i=A["*"],s=S[e],l=E[e],c=E["*"],d=[s,S["*"]].concat(l,c).filter(function(e){return e});if(!(n=I(n,t&&i?a(t,i):t||i,d)).length)return void delete o.attribs[r]}if("style"===r)if(t.parseStyleAttributes)try{const i=function(e,t){if(!t)return e;const n=e.nodes[0];let o;o=t[n.selector]&&t["*"]?a(t[n.selector],t["*"]):t[n.selector]||t["*"];o&&(e.nodes[0].nodes=n.nodes.reduce(function(e){return function(t,n){if(f(e,n.prop)){e[n.prop].some(function(e){return e.test(n.value)})&&t.push(n)}return t}}(o),[]));return e}(l(e+" {"+n+"}",{map:!1}),t.allowedStyles);if(n=function(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(`${t.prop}:${t.value}${t.important?" !important":""}`),e},[]).join(";")}(i),0===n.length)return void delete o.attribs[r]}catch(d){return"undefined"!==typeof window&&console.warn('Failed to parse "'+e+" {"+n+"}\", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547"),void delete o.attribs[r]}else if(t.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.");w+=" "+r,n&&n.length?w+='="'+H(n,!0)+'"':t.allowedEmptyAttributes.includes(r)&&(w+='=""')}else delete o.attribs[r]}),-1!==t.selfClosing.indexOf(e)?w+=" />":(w+=">",!o.innerText||c||t.textFilter||(w+=H(o.innerText),_=!0)),r&&(w=b+H(w),b=""),o.openingTagLength=w.length-o.tagPosition},ontext:function(e){if(N)return;const n=j[j.length-1];let o;if(n&&(o=n.tag,e=void 0!==n.innerText?n.innerText:e),"completelyDiscard"!==t.disallowedTagsMode||v(o))if("discard"!==t.disallowedTagsMode&&"completelyDiscard"!==t.disallowedTagsMode||"script"!==o&&"style"!==o){if(!_){const n=H(e,!1);t.textFilter?w+=t.textFilter(n,o):w+=n}}else w+=e;else e="";if(j.length){j[j.length-1].text+=e}},onclosetag:function(e,n){if(t.onCloseTag&&t.onCloseTag(e,n),N){if($--,$)return;N=!1}const o=j.pop();if(!o)return;if(o.tag!==e)return void j.push(o);N=!!t.enforceHtmlBoundary&&"html"===e,M--;const r=D[M];if(r){if(delete D[M],"discard"===t.disallowedTagsMode||"completelyDiscard"===t.disallowedTagsMode)return void o.updateParentNodeText();b=w,w=""}if(L[M]&&(e=L[M],delete L[M]),t.exclusiveFilter){const e=t.exclusiveFilter(o);if("excludeTag"===e)return r&&(w=b,b=""),void(w=w.substring(0,o.tagPosition)+w.substring(o.tagPosition+o.openingTagLength));if(e)return void(w=w.substring(0,o.tagPosition))}o.updateParentNodeMediaChildren(),o.updateParentNodeText(),-1!==t.selfClosing.indexOf(e)||n&&!v(e)&&["escape","recursiveEscape"].indexOf(t.disallowedTagsMode)>=0?r&&(w=b,b=""):(w+="</"+e+">",r&&(w=b+H(w),b=""),_=!1)}},t.parser);return C.write(e),C.end(),w;function B(){w="",M=0,j=[],D={},L={},N=!1,$=0}function H(e,n){return"string"!==typeof e&&(e+=""),t.parser.decodeEntities&&(e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),n&&(e=e.replace(/"/g,"""))),e=e.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(/</g,"<").replace(/>/g,">"),n&&(e=e.replace(/"/g,""")),e}function R(e,n){for(n=n.replace(/[\x00-\x20]+/g,"");;){const e=n.indexOf("\x3c!--");if(-1===e)break;const t=n.indexOf("--\x3e",e+4);if(-1===t)break;n=n.substring(0,e)+n.substring(t+3)}const o=n.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!o)return!!n.match(/^[/\\]{2}/)&&!t.allowProtocolRelative;const r=o[1].toLowerCase();return f(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(r):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(r)}function z(e){if((e=e.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let t="relative://relative-site";for(let o=0;o<100;o++)t+=`/${o}`;const n=new URL(e,t);return{isRelativeUrl:n&&"relative-site"===n.hostname&&"relative:"===n.protocol,url:n}}function I(e,t,n){return t?(e=e.split(/\s+/)).filter(function(e){return-1!==t.indexOf(e)||n.some(function(t){return t.test(e)})}).join(" "):e}}const m={decodeEntities:!0};h.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","
1sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1},h.simpleTransform=function(e,t,n){return n=void 0===n||n,t=t||{},function(o,r){let i;if(n)for(i in t)r[i]=t[i];else r=t;return{tagName:e,attribs:r}}}}}]); 2//# sourceMappingURL=npm.sanitize-html.f1fc049c.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.