UNPKG

damon-utils

Version:
19 lines 59.3 kB
(()=>{var bt=(R,l)=>()=>(l||R((l={exports:{}}).exports,l),l.exports);var Ft=bt((Ar,Ut)=>{"use strict";var{entries:kt,setPrototypeOf:Ct,isFrozen:Kt,getPrototypeOf:Xt,getOwnPropertyDescriptor:Zt}=Object,{freeze:X,seal:ee,create:It}=Object,{apply:Ze,construct:Qe}=typeof Reflect<"u"&&Reflect;X||(X=function(l){return l});ee||(ee=function(l){return l});Ze||(Ze=function(l,g,i){return l.apply(g,i)});Qe||(Qe=function(l,g){return new l(...g)});var ke=Z(Array.prototype.forEach),Qt=Z(Array.prototype.lastIndexOf),xt=Z(Array.prototype.pop),Ee=Z(Array.prototype.push),jt=Z(Array.prototype.splice),He=Z(String.prototype.toLowerCase),Ve=Z(String.prototype.toString),Lt=Z(String.prototype.match),Ne=Z(String.prototype.replace),er=Z(String.prototype.indexOf),tr=Z(String.prototype.trim),te=Z(Object.prototype.hasOwnProperty),K=Z(RegExp.prototype.test),be=rr(TypeError);function Z(R){return function(l){l instanceof RegExp&&(l.lastIndex=0);for(var g=arguments.length,i=new Array(g>1?g-1:0),n=1;n<g;n++)i[n-1]=arguments[n];return Ze(R,l,i)}}function rr(R){return function(){for(var l=arguments.length,g=new Array(l),i=0;i<l;i++)g[i]=arguments[i];return Qe(R,g)}}function k(R,l){let g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:He;Ct&&Ct(R,null);let i=l.length;for(;i--;){let n=l[i];if(typeof n=="string"){let s=g(n);s!==n&&(Kt(l)||(l[i]=s),n=s)}R[n]=!0}return R}function nr(R){for(let l=0;l<R.length;l++)te(R,l)||(R[l]=null);return R}function se(R){let l=It(null);for(let[g,i]of kt(R))te(R,g)&&(Array.isArray(i)?l[g]=nr(i):i&&typeof i=="object"&&i.constructor===Object?l[g]=se(i):l[g]=i);return l}function Ce(R,l){for(;R!==null;){let i=Zt(R,l);if(i){if(i.get)return Z(i.get);if(typeof i.value=="function")return Z(i.value)}R=Xt(R)}function g(){return null}return g}var wt=X(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ye=X(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),qe=X(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ir=X(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ke=X(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),lr=X(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),_t=X(["#text"]),St=X(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Xe=X(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ot=X(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ie=X(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ar=ee(/\{\{[\w\W]*|[\w\W]*\}\}/gm),sr=ee(/<%[\w\W]*|[\w\W]*%>/gm),or=ee(/\$\{[\w\W]*/gm),fr=ee(/^data-[\-\w.\u00B7-\uFFFF]+$/),cr=ee(/^aria-[\-\w]+$/),Ht=ee(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ur=ee(/^(?:\w+script|data):/i),mr=ee(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Mt=ee(/^html$/i),dr=ee(/^[a-z][.\w]*(-[.\w]+)+$/i),Rt=Object.freeze({__proto__:null,ARIA_ATTR:cr,ATTR_WHITESPACE:mr,CUSTOM_ELEMENT:dr,DATA_ATTR:fr,DOCTYPE_NAME:Mt,ERB_EXPR:sr,IS_ALLOWED_URI:Ht,IS_SCRIPT_OR_DATA:ur,MUSTACHE_EXPR:ar,TMPLIT_EXPR:or}),xe={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},pr=function(){return typeof window>"u"?null:window},hr=function(l,g){if(typeof l!="object"||typeof l.createPolicy!="function")return null;let i=null,n="data-tt-policy-suffix";g&&g.hasAttribute(n)&&(i=g.getAttribute(n));let s="dompurify"+(i?"#"+i:"");try{return l.createPolicy(s,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Dt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function $t(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:pr(),l=w=>$t(w);if(l.version="3.2.6",l.removed=[],!R||!R.document||R.document.nodeType!==xe.document||!R.Element)return l.isSupported=!1,l;let{document:g}=R,i=g,n=i.currentScript,{DocumentFragment:s,HTMLTemplateElement:a,Node:o,Element:c,NodeFilter:r,NamedNodeMap:m=R.NamedNodeMap||R.MozNamedAttrMap,HTMLFormElement:e,DOMParser:f,trustedTypes:u}=R,C=c.prototype,h=Ce(C,"cloneNode"),D=Ce(C,"remove"),y=Ce(C,"nextSibling"),E=Ce(C,"childNodes"),A=Ce(C,"parentNode");if(typeof a=="function"){let w=g.createElement("template");w.content&&w.content.ownerDocument&&(g=w.content.ownerDocument)}let d,T="",{implementation:p,createNodeIterator:x,createDocumentFragment:b,getElementsByTagName:S}=g,{importNode:O}=i,_=Dt();l.isSupported=typeof kt=="function"&&typeof A=="function"&&p&&p.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:M,ERB_EXPR:z,TMPLIT_EXPR:j,DATA_ATTR:H,ARIA_ATTR:$,IS_SCRIPT_OR_DATA:v,ATTR_WHITESPACE:U,CUSTOM_ELEMENT:J}=Rt,{IS_ALLOWED_URI:re}=Rt,G=null,je=k({},[...wt,...Ye,...qe,...Ke,..._t]),V=null,et=k({},[...St,...Xe,...Ot,...Ie]),P=Object.seal(It(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ye=null,Me=null,tt=!0,$e=!0,rt=!1,nt=!0,fe=!1,Le=!0,oe=!1,Ue=!1,Fe=!1,ce=!1,we=!1,_e=!1,it=!0,lt=!1,zt="user-content-",ve=!0,ge=!1,ue={},me=null,at=k({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),st=null,ot=k({},["audio","video","img","source","image","track"]),Pe=null,ft=k({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Se="http://www.w3.org/1998/Math/MathML",Oe="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml",de=ie,ze=!1,Be=null,Bt=k({},[Se,Oe,ie],Ve),Re=k({},["mi","mo","mn","ms","mtext"]),De=k({},["annotation-xml"]),Jt=k({},["title","style","font","a","script"]),Ae=null,Gt=["application/xhtml+xml","text/html"],Wt="text/html",W=null,pe=null,Vt=g.createElement("form"),ct=function(t){return t instanceof RegExp||t instanceof Function},Je=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(pe&&pe===t)){if((!t||typeof t!="object")&&(t={}),t=se(t),Ae=Gt.indexOf(t.PARSER_MEDIA_TYPE)===-1?Wt:t.PARSER_MEDIA_TYPE,W=Ae==="application/xhtml+xml"?Ve:He,G=te(t,"ALLOWED_TAGS")?k({},t.ALLOWED_TAGS,W):je,V=te(t,"ALLOWED_ATTR")?k({},t.ALLOWED_ATTR,W):et,Be=te(t,"ALLOWED_NAMESPACES")?k({},t.ALLOWED_NAMESPACES,Ve):Bt,Pe=te(t,"ADD_URI_SAFE_ATTR")?k(se(ft),t.ADD_URI_SAFE_ATTR,W):ft,st=te(t,"ADD_DATA_URI_TAGS")?k(se(ot),t.ADD_DATA_URI_TAGS,W):ot,me=te(t,"FORBID_CONTENTS")?k({},t.FORBID_CONTENTS,W):at,ye=te(t,"FORBID_TAGS")?k({},t.FORBID_TAGS,W):se({}),Me=te(t,"FORBID_ATTR")?k({},t.FORBID_ATTR,W):se({}),ue=te(t,"USE_PROFILES")?t.USE_PROFILES:!1,tt=t.ALLOW_ARIA_ATTR!==!1,$e=t.ALLOW_DATA_ATTR!==!1,rt=t.ALLOW_UNKNOWN_PROTOCOLS||!1,nt=t.ALLOW_SELF_CLOSE_IN_ATTR!==!1,fe=t.SAFE_FOR_TEMPLATES||!1,Le=t.SAFE_FOR_XML!==!1,oe=t.WHOLE_DOCUMENT||!1,ce=t.RETURN_DOM||!1,we=t.RETURN_DOM_FRAGMENT||!1,_e=t.RETURN_TRUSTED_TYPE||!1,Fe=t.FORCE_BODY||!1,it=t.SANITIZE_DOM!==!1,lt=t.SANITIZE_NAMED_PROPS||!1,ve=t.KEEP_CONTENT!==!1,ge=t.IN_PLACE||!1,re=t.ALLOWED_URI_REGEXP||Ht,de=t.NAMESPACE||ie,Re=t.MATHML_TEXT_INTEGRATION_POINTS||Re,De=t.HTML_INTEGRATION_POINTS||De,P=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(P.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(P.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(P.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),fe&&($e=!1),we&&(ce=!0),ue&&(G=k({},_t),V=[],ue.html===!0&&(k(G,wt),k(V,St)),ue.svg===!0&&(k(G,Ye),k(V,Xe),k(V,Ie)),ue.svgFilters===!0&&(k(G,qe),k(V,Xe),k(V,Ie)),ue.mathMl===!0&&(k(G,Ke),k(V,Ot),k(V,Ie))),t.ADD_TAGS&&(G===je&&(G=se(G)),k(G,t.ADD_TAGS,W)),t.ADD_ATTR&&(V===et&&(V=se(V)),k(V,t.ADD_ATTR,W)),t.ADD_URI_SAFE_ATTR&&k(Pe,t.ADD_URI_SAFE_ATTR,W),t.FORBID_CONTENTS&&(me===at&&(me=se(me)),k(me,t.FORBID_CONTENTS,W)),ve&&(G["#text"]=!0),oe&&k(G,["html","head","body"]),G.table&&(k(G,["tbody"]),delete ye.tbody),t.TRUSTED_TYPES_POLICY){if(typeof t.TRUSTED_TYPES_POLICY.createHTML!="function")throw be('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof t.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw be('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');d=t.TRUSTED_TYPES_POLICY,T=d.createHTML("")}else d===void 0&&(d=hr(u,n)),d!==null&&typeof T=="string"&&(T=d.createHTML(""));X&&X(t),pe=t}},ut=k({},[...Ye,...qe,...ir]),mt=k({},[...Ke,...lr]),Yt=function(t){let N=A(t);(!N||!N.tagName)&&(N={namespaceURI:de,tagName:"template"});let L=He(t.tagName),F=He(N.tagName);return Be[t.namespaceURI]?t.namespaceURI===Oe?N.namespaceURI===ie?L==="svg":N.namespaceURI===Se?L==="svg"&&(F==="annotation-xml"||Re[F]):!!ut[L]:t.namespaceURI===Se?N.namespaceURI===ie?L==="math":N.namespaceURI===Oe?L==="math"&&De[F]:!!mt[L]:t.namespaceURI===ie?N.namespaceURI===Oe&&!De[F]||N.namespaceURI===Se&&!Re[F]?!1:!mt[L]&&(Jt[L]||!ut[L]):!!(Ae==="application/xhtml+xml"&&Be[t.namespaceURI]):!1},ne=function(t){Ee(l.removed,{element:t});try{A(t).removeChild(t)}catch{D(t)}},he=function(t,N){try{Ee(l.removed,{attribute:N.getAttributeNode(t),from:N})}catch{Ee(l.removed,{attribute:null,from:N})}if(N.removeAttribute(t),t==="is")if(ce||we)try{ne(N)}catch{}else try{N.setAttribute(t,"")}catch{}},dt=function(t){let N=null,L=null;if(Fe)t="<remove></remove>"+t;else{let B=Lt(t,/^[\r\n\t ]+/);L=B&&B[0]}Ae==="application/xhtml+xml"&&de===ie&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");let F=d?d.createHTML(t):t;if(de===ie)try{N=new f().parseFromString(F,Ae)}catch{}if(!N||!N.documentElement){N=p.createDocument(de,"template",null);try{N.documentElement.innerHTML=ze?T:F}catch{}}let Y=N.body||N.documentElement;return t&&L&&Y.insertBefore(g.createTextNode(L),Y.childNodes[0]||null),de===ie?S.call(N,oe?"html":"body")[0]:oe?N.documentElement:Y},pt=function(t){return x.call(t.ownerDocument||t,t,r.SHOW_ELEMENT|r.SHOW_COMMENT|r.SHOW_TEXT|r.SHOW_PROCESSING_INSTRUCTION|r.SHOW_CDATA_SECTION,null)},Ge=function(t){return t instanceof e&&(typeof t.nodeName!="string"||typeof t.textContent!="string"||typeof t.removeChild!="function"||!(t.attributes instanceof m)||typeof t.removeAttribute!="function"||typeof t.setAttribute!="function"||typeof t.namespaceURI!="string"||typeof t.insertBefore!="function"||typeof t.hasChildNodes!="function")},ht=function(t){return typeof o=="function"&&t instanceof o};function le(w,t,N){ke(w,L=>{L.call(l,t,N,pe)})}let yt=function(t){let N=null;if(le(_.beforeSanitizeElements,t,null),Ge(t))return ne(t),!0;let L=W(t.nodeName);if(le(_.uponSanitizeElement,t,{tagName:L,allowedTags:G}),Le&&t.hasChildNodes()&&!ht(t.firstElementChild)&&K(/<[/\w!]/g,t.innerHTML)&&K(/<[/\w!]/g,t.textContent)||t.nodeType===xe.progressingInstruction||Le&&t.nodeType===xe.comment&&K(/<[/\w]/g,t.data))return ne(t),!0;if(!G[L]||ye[L]){if(!ye[L]&&At(L)&&(P.tagNameCheck instanceof RegExp&&K(P.tagNameCheck,L)||P.tagNameCheck instanceof Function&&P.tagNameCheck(L)))return!1;if(ve&&!me[L]){let F=A(t)||t.parentNode,Y=E(t)||t.childNodes;if(Y&&F){let B=Y.length;for(let Q=B-1;Q>=0;--Q){let ae=h(Y[Q],!0);ae.__removalCount=(t.__removalCount||0)+1,F.insertBefore(ae,y(t))}}}return ne(t),!0}return t instanceof c&&!Yt(t)||(L==="noscript"||L==="noembed"||L==="noframes")&&K(/<\/no(script|embed|frames)/i,t.innerHTML)?(ne(t),!0):(fe&&t.nodeType===xe.text&&(N=t.textContent,ke([M,z,j],F=>{N=Ne(N,F," ")}),t.textContent!==N&&(Ee(l.removed,{element:t.cloneNode()}),t.textContent=N)),le(_.afterSanitizeElements,t,null),!1)},gt=function(t,N,L){if(it&&(N==="id"||N==="name")&&(L in g||L in Vt))return!1;if(!($e&&!Me[N]&&K(H,N))){if(!(tt&&K($,N))){if(!V[N]||Me[N]){if(!(At(t)&&(P.tagNameCheck instanceof RegExp&&K(P.tagNameCheck,t)||P.tagNameCheck instanceof Function&&P.tagNameCheck(t))&&(P.attributeNameCheck instanceof RegExp&&K(P.attributeNameCheck,N)||P.attributeNameCheck instanceof Function&&P.attributeNameCheck(N))||N==="is"&&P.allowCustomizedBuiltInElements&&(P.tagNameCheck instanceof RegExp&&K(P.tagNameCheck,L)||P.tagNameCheck instanceof Function&&P.tagNameCheck(L))))return!1}else if(!Pe[N]){if(!K(re,Ne(L,U,""))){if(!((N==="src"||N==="xlink:href"||N==="href")&&t!=="script"&&er(L,"data:")===0&&st[t])){if(!(rt&&!K(v,Ne(L,U,"")))){if(L)return!1}}}}}}return!0},At=function(t){return t!=="annotation-xml"&&Lt(t,J)},Tt=function(t){le(_.beforeSanitizeAttributes,t,null);let{attributes:N}=t;if(!N||Ge(t))return;let L={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:V,forceKeepAttr:void 0},F=N.length;for(;F--;){let Y=N[F],{name:B,namespaceURI:Q,value:ae}=Y,Te=W(B),We=ae,q=B==="value"?We:tr(We);if(L.attrName=Te,L.attrValue=q,L.keepAttr=!0,L.forceKeepAttr=void 0,le(_.uponSanitizeAttribute,t,L),q=L.attrValue,lt&&(Te==="id"||Te==="name")&&(he(B,t),q=zt+q),Le&&K(/((--!?|])>)|<\/(style|title)/i,q)){he(B,t);continue}if(L.forceKeepAttr)continue;if(!L.keepAttr){he(B,t);continue}if(!nt&&K(/\/>/i,q)){he(B,t);continue}fe&&ke([M,z,j],Nt=>{q=Ne(q,Nt," ")});let Et=W(t.nodeName);if(!gt(Et,Te,q)){he(B,t);continue}if(d&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!Q)switch(u.getAttributeType(Et,Te)){case"TrustedHTML":{q=d.createHTML(q);break}case"TrustedScriptURL":{q=d.createScriptURL(q);break}}if(q!==We)try{Q?t.setAttributeNS(Q,B,q):t.setAttribute(B,q),Ge(t)?ne(t):xt(l.removed)}catch{he(B,t)}}le(_.afterSanitizeAttributes,t,null)},qt=function w(t){let N=null,L=pt(t);for(le(_.beforeSanitizeShadowDOM,t,null);N=L.nextNode();)le(_.uponSanitizeShadowNode,N,null),yt(N),Tt(N),N.content instanceof s&&w(N.content);le(_.afterSanitizeShadowDOM,t,null)};return l.sanitize=function(w){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},N=null,L=null,F=null,Y=null;if(ze=!w,ze&&(w="<!-->"),typeof w!="string"&&!ht(w))if(typeof w.toString=="function"){if(w=w.toString(),typeof w!="string")throw be("dirty is not a string, aborting")}else throw be("toString is not a function");if(!l.isSupported)return w;if(Ue||Je(t),l.removed=[],typeof w=="string"&&(ge=!1),ge){if(w.nodeName){let ae=W(w.nodeName);if(!G[ae]||ye[ae])throw be("root node is forbidden and cannot be sanitized in-place")}}else if(w instanceof o)N=dt("<!---->"),L=N.ownerDocument.importNode(w,!0),L.nodeType===xe.element&&L.nodeName==="BODY"||L.nodeName==="HTML"?N=L:N.appendChild(L);else{if(!ce&&!fe&&!oe&&w.indexOf("<")===-1)return d&&_e?d.createHTML(w):w;if(N=dt(w),!N)return ce?null:_e?T:""}N&&Fe&&ne(N.firstChild);let B=pt(ge?w:N);for(;F=B.nextNode();)yt(F),Tt(F),F.content instanceof s&&qt(F.content);if(ge)return w;if(ce){if(we)for(Y=b.call(N.ownerDocument);N.firstChild;)Y.appendChild(N.firstChild);else Y=N;return(V.shadowroot||V.shadowrootmode)&&(Y=O.call(i,Y,!0)),Y}let Q=oe?N.outerHTML:N.innerHTML;return oe&&G["!doctype"]&&N.ownerDocument&&N.ownerDocument.doctype&&N.ownerDocument.doctype.name&&K(Mt,N.ownerDocument.doctype.name)&&(Q="<!DOCTYPE "+N.ownerDocument.doctype.name+`> `+Q),fe&&ke([M,z,j],ae=>{Q=Ne(Q,ae," ")}),d&&_e?d.createHTML(Q):Q},l.setConfig=function(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Je(w),Ue=!0},l.clearConfig=function(){pe=null,Ue=!1},l.isValidAttribute=function(w,t,N){pe||Je({});let L=W(w),F=W(t);return gt(L,F,N)},l.addHook=function(w,t){typeof t=="function"&&Ee(_[w],t)},l.removeHook=function(w,t){if(t!==void 0){let N=Qt(_[w],t);return N===-1?void 0:jt(_[w],N,1)[0]}return xt(_[w])},l.removeHooks=function(w){_[w]=[]},l.removeAllHooks=function(){_=Dt()},l}var yr=$t();Ut.exports=yr});var Pt=bt((Er,vt)=>{var I=Ft();vt.exports=class{constructor(l){let g=this;g.damon=l,g.websiteRegex=/^(https?:\/\/)?[-a-zA-Z0-9]*[a-zA-Z0-9]+(\.[-a-zA-Z0-9]*[a-zA-Z0-9]+)+/,g.httpRegex=/^https?:\/\//}damonToSExpression(l){let g=this;return g.implicitMapToSExpression(g.damon.damonToMap(l))}escape(l){return l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}mapToHtmlList(l,g=!1,i=void 0){let n=this;try{n.damon.mapToJSON(l)}catch(r){throw console.log(r),new Error("Provided map value doesn't passes JSON.parse()")}var s=0,a=document.createElement("ul"),o;return i!==void 0&&(o=JSON.parse(i)),a.className="DAMON-List",c(l,a),a;function c(r,m,e=[]){if(typeof m!="object"||m==null||Array.isArray(m))throw new Error("Error List Item number "+s+": @param { {} } list");if(typeof r=="object"&&r!==null&&!Array.isArray(r)&&r instanceof Map&&r.constructor===Map){if(m.tagName=="UL")for(let[C,h]of r){let D=document.createElement("ul"),y=document.createElement("code"),E=document.createElement("span"),A=document.createElement("li");if(A.dataset.graphArbo=Array.from(r.keys()).indexOf(C),e.length>0&&(A.dataset.graphArbo=e.join("-")+"-"+Array.from(r.keys()).indexOf(C)),E.className="type-key",n.websiteRegex.test(C)){let d=C;n.httpRegex.test(C)||(d="https://"+C);let T=I.sanitize(`<a href="${d}">${d}</a>`);E.innerHTML=T}else i!==void 0&&C in o["@context"]?E.innerHTML=I.sanitize(`<a href="${o["@context"][C]["@id"]}">${C}</a>`):E.textContent=C;if(typeof h=="object"&&h!==null)if(Array.isArray(h))if(r.damonInlineArrays!==void 0&&r.damonInlineArrays.indexOf(C)>-1){y.innerHTML=E.outerHTML+": [";for(let d=0,T=h.length;d<T;d++){let p=document.createElement("span"),x=h[d];if(x===!0)p.textContent="true",p.className="type-boolean";else if(x===!1)p.textContent="false",p.className="type-boolean";else if(x===null)p.textContent="null",p.className="type-null";else if(Number.isFinite(x)&&!Number.isNaN(x))p.textContent=x+"",p.className="type-number";else{if(g)if(n.websiteRegex.test(x)){let b=x;n.httpRegex.test(x)||(b="https://"+x),p.innerHTML=I.sanitize(`<a href="${b}">"${b}"</a>`)}else p.innerHTML=`"${x}"`;else if(n.websiteRegex.test(x)){let b=x;n.httpRegex.test(x)||(b="https://"+x),p.innerHTML=I.sanitize(`<a href="${b}">"${b}"</a>`)}else p.textContent=`"${x}"`;p.className="type-string"}d!==0&&(y.innerHTML+=", "),y.appendChild(p)}y.innerHTML+="]",A.appendChild(y),A.appendChild(D),m.appendChild(A)}else y.innerHTML=E.outerHTML+": []",A.appendChild(y),A.appendChild(D),m.appendChild(A),c(h,D,e.concat([Array.from(r.keys()).indexOf(C)]));else r.implicitMaps!==void 0&&r.implicitMaps.indexOf(C)>-1?y.innerHTML=E.outerHTML:y.innerHTML=E.outerHTML+": {}",A.appendChild(y),A.appendChild(D),m.appendChild(A),c(h,D,e.concat([Array.from(r.keys()).indexOf(C)]));else{s++,y.innerHTML=E.outerHTML+": ";let d=document.createElement("span"),T=h;if(T===!0)d.textContent="true",d.className="type-boolean";else if(T===!1)d.textContent="false",d.className="type-boolean";else if(T===null)d.textContent="null",d.className="type-null";else if(Number.isFinite(T)&&!Number.isNaN(T))d.textContent=T+"",d.className="type-number";else{if(g)if(n.websiteRegex.test(T)){let p=T;n.httpRegex.test(T)||(p="https://"+T),d.innerHTML=I.sanitize(`<a href="${p}">"${p}"</a>`)}else d.innerHTML=`"${T}"`;else if(n.websiteRegex.test(T)){let p=T;n.httpRegex.test(T)||(p="https://"+T),d.innerHTML=I.sanitize(`<a href="${p}">"${p}"</a>`)}else d.textContent=`"${T}"`;d.className="type-string"}r.implicitNulls===void 0||r.implicitNulls.indexOf(C)==-1?y.appendChild(d):y.innerHTML=y.innerHTML.slice(0,-2),A.appendChild(y),m.appendChild(A)}}}else if(Array.isArray(r))for(var f=0,u=r.length;f<u;f++){let C=document.createElement("ul"),h=document.createElement("code"),D=document.createElement("li");if(D.dataset.graphArbo=f,e.length>0&&(D.dataset.graphArbo=e.join("-")+"-"+f),typeof r[f]=="object"&&r[f]!==null)if(Array.isArray(r[f]))if(r.damonInlineArrays!==void 0&&r.damonInlineArrays.indexOf(f)>-1){h.innerHTML+="[";for(let y=0,E=r[f].length;y<E;y++){let A=document.createElement("span"),d=r[f][y];if(d===!0)A.textContent="true",A.className="type-boolean";else if(d===!1)A.textContent="false",A.className="type-boolean";else if(d===null)A.textContent="null",A.className="type-null";else if(Number.isFinite(d)&&!Number.isNaN(d))A.textContent=d+"",A.className="type-number";else{if(g)if(n.websiteRegex.test(d)){let T=d;n.httpRegex.test(d)||(T="https://"+d),A.innerHTML=I.sanitize(`<a href="${T}">"${T}"</a>`)}else A.innerHTML=`"${d}"`;else if(n.websiteRegex.test(d)){let T=d;n.httpRegex.test(d)||(T="https://"+d),A.innerHTML=I.sanitize(`<a href="${T}">"${T}"</a>`)}else A.textContent=`"${d}"`;A.className="type-string"}y!==0&&(h.innerHTML+=", "),h.appendChild(A)}h.innerHTML+="]",D.appendChild(h),D.appendChild(C),m.appendChild(D)}else h.textContent="[]",D.appendChild(h),D.appendChild(C),m.appendChild(D),c(r[f],C,e.concat(f));else h.textContent="{}",D.appendChild(h),D.appendChild(C),m.appendChild(D),c(r[f],C,e.concat(f));else{s++;let y=r[f];if(y===!0)h.textContent="true",h.className="type-boolean";else if(y===!1)h.textContent="false",h.className="type-boolean";else if(y===null)h.textContent="null",h.className="type-null";else if(Number.isFinite(y)&&!Number.isNaN(y))h.textContent=y+"",h.className="type-number";else{if(g)if(n.websiteRegex.test(y)){let E=y;n.httpRegex.test(y)||(E="https://"+y),h.innerHTML=I.sanitize(`<a href="${E}">"${E}"</a>`)}else h.innerHTML=`"${y}"`;else if(n.websiteRegex.test(y)){let E=y;n.httpRegex.test(y)||(E="https://"+y),h.innerHTML=I.sanitize(`<a href="${E}">"${E}"</a>`)}else h.textContent=`"${y}"`;h.className="type-string"}D.appendChild(h),D.appendChild(C),m.appendChild(D)}}}}mapToHtmlTable(l,g=!1){let i=this;try{i.damon.mapToJSON(l)}catch{throw new Error("Provided value doesn't passes JSON.parse().")}var n=0,s=document.createElement("table"),a=document.createElement("thead"),o=document.createElement("tbody"),c=!1,r=0;if(s.className="DAMON-Table",typeof l!="object"||l==null||Array.isArray(l)||!(l instanceof Map)||l.constructor!==Map)throw new Error("Error: expected an Object value, saw otherwise.");for(let[m,e]of l){if(typeof e=="object"&&e!==null&&!Array.isArray(e)&&e instanceof Map&&e.constructor===Map)if(n==0){let f=document.createElement("tr");r=e.length;for(let[u,C]of e)if(C===null){let h=document.createElement("th");g?i.websiteRegex.test(u)?h.innerHTML=I.sanitize(`<a href="${u}">${u}</a>`):h.innerHTML=`${u}`:i.websiteRegex.test(u)?h.innerHTML=I.sanitize(`<a href="${u}">${u}</a>`):h.textContent=`${u}`,f.appendChild(h)}else throw new Error("Error row "+n+": expected implicit null property, saw otherwise.");a.appendChild(f),c=!0}else{if(e.length!=r)throw new Error("Error row "+n+": cells total doesn't match the header's.");let f=document.createElement("tr");for(let[u,C]of e)if(C===null){let h=document.createElement("td");g?i.websiteRegex.test(u)?h.innerHTML=I.sanitize(`<a href="${u}">${u}</a>`):h.innerHTML=`${u}`:i.websiteRegex.test(u)?h.innerHTML=I.sanitize(`<a href="${u}">${u}</a>`):h.textContent=`${u}`,f.appendChild(h)}else throw new Error("Error row "+n+": expected implicit null property, saw otherwise.");o.appendChild(f)}else throw new Error("Error row "+n+": expected an Object value, saw otherwise.");n++}return c&&s.appendChild(a),s.appendChild(o),s}mapTreeLeavesToHtmlTable(l,g=!1){let i=this;try{i.damon.mapToJSON(l)}catch{throw new Error("Provided map value doesn't passes JSON.parse()")}var n=0,s=0,a=document.createElement("table"),o=document.createElement("thead"),c=document.createElement("tbody"),r=!1;if(a.className="DAMON-LeavesToTable",typeof l!="object"||l==null||Array.isArray(l)||!(l instanceof Map)||l.constructor!==Map)throw new Error("Error List Item number "+n+": @param { {} } list");for(let[e,f]of l){if(typeof f=="object"&&!Array.isArray(f)){if(e=="head"&&!r){try{m(f,o)}catch{return}r=!0}else if(e=="body")try{m(f,c)}catch{return}}else if(typeof f!="object"&&e=="caption"){let u=document.createElement("caption");g?u.innerHTML=f:u.textContent=f,a.appendChild(u)}else throw new Error("Error List Item number "+n+": @param { {} } list");n++}return r&&a.appendChild(o),a.appendChild(c),a;function m(e,f,u=0,C=[]){if(typeof f!="object"||f==null)throw new Error("Error List Item number "+n+": @param { {} } list");if(typeof e=="object"&&e!==null&&!Array.isArray(e)&&e instanceof Map&&e.constructor===Map){if(f.tagName=="THEAD")if(Array.from(e.keys()).length==1)if(typeof e.get(Array.from(e.keys())[0])=="object"&&e.get(Array.from(e.keys())[0])!==null)n++,m(e.get(Array.from(e.keys())[0]),f,u+1,C.concat([Array.from(e.keys())[0]]));else throw new Error("Error List Item number "+n+": @param { {} } list");else throw new Error("Error List Item number "+n+": @param { {} } list");else if(f.tagName=="TBODY"){if(Array.from(e.keys()).length==0)throw new Error("Error List Item number "+n+": @param { {} } list");for(let[h,D]of e)if(typeof D=="object"&&D!==null)n++,m(D,f,u+1,C.concat([h]));else throw new Error("Error List Item number "+n+": @param { {} } list")}}else if(Array.isArray(e)){if(f.tagName=="THEAD")if(e.length==1){n++,s=u;let h=document.createElement("tr");C.push(e[0]);for(let D=0,y=C.length;D<y;D++){let E=document.createElement("th");g?E.innerHTML=C[D]:E.textContent=C[D],h.appendChild(E)}f.appendChild(h)}else throw new Error("Error List Item number "+n+": @param { {} } list");else if(f.tagName=="TBODY")if(u==s){if(e.length==0)throw new Error("Error List Item number "+n+": @param { {} } list");for(let h=0,D=e.length;h<D;h++){n++;let y=document.createElement("tr");for(let A=0,d=C.length;A<d;A++){let T=document.createElement("td");g?T.innerHTML=C[A]:T.textContent=C[A],y.appendChild(T)}let E=document.createElement("td");g?E.innerHTML=e[h]:E.textContent=e[h],E.textContent=e[h],y.appendChild(E),f.appendChild(y)}}else throw new Error("Error List Item number "+n+": @param { {} } list")}}}htmlToJSON(l){let g=this;var i=0;if(l.firstElementChild.textContent=="{}")return g._mapToJSON(n(l,new Map));if(l.firstElementChild.textContent=="[]")return g._mapToJSON(n(l,[]));function n(s,a){if(typeof s!="object"||s==null||Array.isArray(s))throw new Error("Error List Item number "+i+": @param { {} } list");if(typeof a=="object"&&a!==null&&!Array.isArray(a)&&a instanceof Map&&a.constructor===Map){for(let o=0,c=s.children.length;o<c;o++)if(i++,s.children[o].tagName=="LI")if(s.children[o].firstElementChild.tagName=="CODE")if(s.children[o].firstElementChild.innerHTML.length){let r=s.children[o].firstElementChild.innerHTML.trim();if(r[r.length-1]==":"&&r.length>1){let m=s.children[o].children[1];if(m.tagName=="UL"&&m.firstElementChild.tagName=="LI"&&m.children.length==1&&m.firstElementChild.firstElementChild.tagName=="CODE"){i++;let e=m.firstElementChild.firstElementChild.textContent.trim();e=="true"?a.set(r.slice(0,-1),!0):e=="false"?a.set(r.slice(0,-1),!1):e=="null"?a.set(r.slice(0,-1),null):isFinite(e)&&!isNaN(parseFloat(e))?a.set(r.slice(0,-1),e*1):a.set(r.slice(0,-1),e)}else throw new Error("Error List Item number "+i+": not DAMON-compliant.")}else if(r[r.length-4]==":"&&r.length>4){if(r.slice(-3)==" []")if(a.set(r.slice(0,-4),[]),s.children[o].children[1].tagName=="UL")n(s.children[o].children[1],a.get(r.slice(0,-4)));else throw new Error("Error List Item number "+i+": not DAMON-compliant.");else if(r.slice(-3)==" {}")if(a.set(r.slice(0,-4),new Map),s.children[o].children[1].tagName=="UL")n(s.children[o].children[1],a.get(r.slice(0,-4)));else throw new Error("Error List Item number "+i+": not DAMON-compliant.")}else throw new Error("Error List Item number "+i+": map items need a key")}else throw new Error("Error List Item number "+i+": empty node.");else throw new Error("Error List Item number "+i+": not DAMON-compliant.")}else if(Array.isArray(a)){for(let o=0,c=s.children.length;o<c;o++)if(i++,s.children[o].tagName=="LI")if(s.children[o].firstElementChild.tagName=="CODE")if(s.children[o].firstElementChild.innerHTML.length){let r=s.children[o].firstElementChild.innerHTML.trim();if(r[r.length-1]==":"&&r.length>1)throw new Error("Error List Item number "+i+": lists can't have keys.");if(r[r.length-4]==":"&&r.length>4)throw new Error("Error List Item number "+i+": not DAMON-compliant.");if(r=="[]")if(a.push([]),s.children[o].children[1]&&s.children[o].children[1].tagName=="UL")n(s.children[o].children[1],a[a.length-1]);else throw new Error("Error List Item number "+i+": not DAMON-compliant.");else if(r=="{}")if(a.push({}),s.children[o].children[1]&&s.children[o].children[1].tagName=="UL")n(s.children[o].children[1],a[a.length-1]);else throw new Error("Error List Item number "+i+": not DAMON-compliant.");else r=="true"?a.push(!0):r=="false"?a.push(!1):r=="null"?a.push(null):isFinite(r)&&!isNaN(parseFloat(r))?a.push(r*1):a.push(r)}else throw new Error("Error List Item number "+i+": empty node.");else throw new Error("Error List Item number "+i+": not DAMON-compliant.")}else throw new Error("Error List Item number "+i+": @param { {} | [] } jsonMap");return a}}implicitMapToSExpression(l){let g=this;var i="";if(typeof l=="object"&&l!==null&&l instanceof Map&&l.constructor===Map)return i+=`[\r `,n(l),i+="]",JSON.parse(i),i;return typeof l=="string"&&(l='"'+l+'"'),JSON.parse(l),l;function n(s,a=1){if(typeof s=="object"&&s!==null&&!Array.isArray(s)&&s instanceof Map&&s.constructor===Map){let r=-1;for(let[m,e]of s){if(r++,typeof e=="object"&&e!==null)if(Array.isArray(e))e.length>0?(i+=" ".repeat(a)+`${JSON.stringify(m)}, [\r `,n(e,a+1),i+=" ".repeat(a)+"]"):i+=" ".repeat(a)+`${JSON.stringify(m)}, []`;else if(Array.from(e.keys()).length>0){if(a==1)if(r==0)i="";else throw new Error("Multiple S-Expression roots");i+=" ".repeat(a)+`[${JSON.stringify(m)}, \r `,n(e,a+1),a!=1&&(i+=" ".repeat(a)+"]")}else i+=" ".repeat(a)+`${JSON.stringify(m)}, []`;else{if(e===!0)throw new Error("Booleans require quotes");if(e===!1)throw new Error("Booleans require quotes");e===null?i+=" ".repeat(a)+`${JSON.stringify(m)}`:Number.isFinite(e)&&!Number.isNaN(e)?i+=" ".repeat(a)+`${JSON.stringify(m)}, `+e:i+=" ".repeat(a)+`${JSON.stringify(m)}, `+JSON.stringify(e)}m!=Array.from(s.keys())[Array.from(s.keys()).length-1]?i+=`,\r `:i+=`\r `}}else if(Array.isArray(s))for(var o=0,c=s.length;o<c;o++){if(typeof s[o]=="object"&&s[o]!==null)Array.isArray(s[o])?s[o].length>0?(i+=" ".repeat(a)+`[\r `,n(s[o],a+1),i+=" ".repeat(a)+"]"):i+=" ".repeat(a)+"[]":Array.from(s[o].keys()).length>0?(i+=" ".repeat(a)+`[\r `,n(s[o],a+1),i+=" ".repeat(a)+"]"):i+=" ".repeat(a)+"[]";else{if(s[o]===!0)throw new Error("Booleans require quotes");if(s[o]===!1)throw new Error("Booleans require quotes");if(s[o]===null)throw new Error("Array-nulls require quotes");Number.isFinite(s[o])&&!Number.isNaN(s[o])?i+=" ".repeat(a)+s[o]:i+=" ".repeat(a)+JSON.stringify(s[o])}o!=c-1?i+=`,\r `:i+=`\r `}}}damonToMathJs(l){let g=this,i="",n=g.damon.damonToMap(l);if(Array.isArray(n))return a(n),i.slice(0,-1);return typeof n=="object"&&n!==null&&n instanceof Map&&n.constructor===Map?(a(n),i.slice(0,-1)):(typeof n=="string"&&(n=JSON.stringify(n)),JSON.parse(n),n);function s(o){return o[0].toLowerCase()+o.slice(1)}function a(o,c=0){if(typeof o=="object"&&o!==null&&!Array.isArray(o)&&o instanceof Map&&o.constructor===Map)for(let[e,f]of o){let u=e;u=="Power"&&(u="Pow"),typeof f=="object"&&f!==null?Array.isArray(f)?f.length>0?(i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}( `,a(f,c+1),i+=" ".repeat(c)+")"):i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}()`:Array.from(f.keys()).length>0?(i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}( `,a(f,c+1),i+=" ".repeat(c)+")"):i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}()`:f===!0?i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}(true)`:f===!1?i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}(false)`:f===null?i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}`:Number.isFinite(f)&&!Number.isNaN(f)?i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}(`+f+")":i+=" ".repeat(c)+`${JSON.stringify(s(u)).slice(1,-1)}(`+JSON.stringify(f)+")",e!=Array.from(o.keys())[Array.from(o.keys()).length-1]?i+=`, `:i+=` `}else if(Array.isArray(o))for(var r=0,m=o.length;r<m;r++)typeof o[r]=="object"&&o[r]!==null?Array.isArray(o[r])?o[r].length>0?o.damonInlineArrays!==void 0&&o.damonInlineArrays.indexOf(r)>-1?o[r]===!0?i+=" ".repeat(c)+"true":o[r]===!1?i+=" ".repeat(c)+"false":o[r]===null?i+=" ".repeat(c)+"null":Number.isFinite(o[r])&&!Number.isNaN(o[r])?i+=" ".repeat(c)+o[r]:i+=" ".repeat(c)+JSON.stringify(o[r]).slice(1,-1):(i+=" ".repeat(c)+`( `,a(o[r],c+1),i+=" ".repeat(c)+")"):i+=" ".repeat(c)+"()":Array.from(o[r].keys()).length>0?(i+=" ".repeat(c)+`( `,a(o[r],c+1),i+=" ".repeat(c)+")"):i+=" ".repeat(c)+"()":o[r]===!0?i+=" ".repeat(c)+"true":o[r]===!1?i+=" ".repeat(c)+"false":o[r]===null?i+=" ".repeat(c)+"null":Number.isFinite(o[r])&&!Number.isNaN(o[r])?i+=" ".repeat(c)+o[r]:i+=" ".repeat(c)+JSON.stringify(o[r]).slice(1,-1),r!=m-1?i+=`, `:i+=` `}}_mapsDiff(l,g){let i=this;try{i.damon.mapToJSON(l),i.damon.mapToJSON(g)}catch{throw new Error("Provided map value doesn't passes JSON.parse()")}if(typeof l!=typeof g||typeof l=="object"&&l!==null&&!Array.isArray(l)&&l instanceof Map&&l.constructor===Map&&(g==null||Array.isArray(g)||!(g instanceof Map)||g.constructor!==Map))throw new Error("Different root types.");var n;if(typeof l=="object"&&l!==null&&!Array.isArray(l)&&l instanceof Map&&l.constructor===Map)return n=new Map,s(l),n;if(Array.isArray(l))return n=[],s(l),n;function s(a,o=[]){if(typeof a=="object"&&a!==null&&!Array.isArray(a)&&a instanceof Map&&a.constructor===Map){let c="",r=null,m=g;for(let u=0,C=o.length;u<C;u++)typeof m=="object"&&m!==null&&!Array.isArray(m)&&m instanceof Map&&m.constructor===Map?m=m.get(Array.from(m.keys())[o[u]]):m=m[o[u]];let e=n;for(let u=0,C=o.length;u<C;u++)typeof e=="object"&&e!==null&&!Array.isArray(e)&&e instanceof Map&&e.constructor===Map&&Array.from(e.keys()).length?e=e.get(Array.from(e.keys())[o[u]]):e=e[o[u]];let f=0;for(let[u,C]of a)f>Array.from(m.keys()).length-1?typeof C=="object"&&C!==null&&!Array.isArray(C)&&C instanceof Map&&C.constructor===Map?Array.from(m.keys()).indexOf(u)!==-1&&typeof m.get(u)=="object"&&m.get(u)!==null&&!Array.isArray(m.get(u))&&m.get(u)instanceof Map&&m.get(u).constructor===Map?e.set(f+"-yellow",null):e.set(f+"-red",null):Array.isArray(C)?Array.from(m.keys()).indexOf(u)!==-1&&Array.isArray(m.get(u))?e.set(f+"-yellow",null):e.set(f+"-red",null):Array.from(m.keys()).indexOf(u)!==-1&&C===m.get(u)?e.set(f+"-yellow",null):e.set(f+"-red",null):(c=Array.from(m.keys())[f],r=m.get(c),typeof C=="object"&&C!==null&&!Array.isArray(C)&&C instanceof Map&&C.constructor===Map?typeof r=="object"&&r!==null&&!Array.isArray(r)&&r instanceof Map&&r.constructor===Map&&u===c?(e.set(f+"-green",new Map),Array.from(C.keys()).length>0&&s(C,o.concat([f]))):e.set(f+"-red",null):Array.isArray(C)?Array.isArray(r)&&u===c?(e.set(f+"-green",[]),C.length>0&&s(C,o.concat([f]))):e.set(f+"-red",null):C===r&&u===c?e.set(f+"-green","green"):e.set(f+"-red",null)),f++;if(Array.from(a.keys()).length<Array.from(m.keys()).length){let u=0;for(let[C,h]of m){if(u<=f-1){u++;continue}typeof h=="object"&&h!==null&&!Array.isArray(h)&&h instanceof Map&&h.constructor===Map?Array.from(a.keys()).indexOf(C)!==-1&&typeof a.get(C)=="object"&&a.get(C)!==null&&!Array.isArray(a.get(C))&&a.get(C)instanceof Map&&a.get(C).constructor===Map?e.set(f+"-yellow",null):e.set(f+"-red",null):Array.isArray(h)?Array.from(a.keys()).indexOf(C)!==-1&&Array.isArray(a.get(C))?e.set(f+"-yellow",null):e.set(f+"-red",null):Array.from(a.keys()).indexOf(C)!==-1&&h===a.get(C)?e.set(f+"-yellow",null):e.set(f+"-red",null),u++}}}else{let c=null,r=g;for(let e=0,f=o.length;e<f;e++)typeof r=="object"&&r!==null&&!Array.isArray(r)&&r instanceof Map&&r.constructor===Map&&Array.from(r.keys()).length?r=r.get(Array.from(r.keys())[o[e]]):r=r[o[e]];let m=n;for(let e=0,f=o.length;e<f;e++)typeof m=="object"&&m!==null&&!Array.isArray(m)&&m instanceof Map&&m.constructor===Map&&Array.from(m.keys()).length?m=m.get(Array.from(m.keys())[o[e]]):m=m[o[e]];for(let e=0,f=a.length;e<f;e++)e>r.length-1?m[e]="red":(c=r[e],typeof a[e]=="object"&&a[e]!==null&&!Array.isArray(a[e])&&a[e]instanceof Map&&a[e].constructor===Map?typeof c=="object"&&c!==null&&!Array.isArray(c)&&c instanceof Map&&c.constructor===Map?(m[e]=new Map,Array.from(a[e].keys()).length>0&&s(a[e],o.concat([e]))):m[e]="red":Array.isArray(a[e])?Array.isArray(c)?(m[e]=[],a[e].length>0&&s(a[e],o.concat([e]))):m[e]="red":a[e]===c?m[e]="green":m[e]="red");if(a.length<r.length)for(let e=0,f=r.length;e<f;e++)e<=a.length-1||(m[e]="red")}}}sortMap(l,g){let i=this,n=Array.from(l.keys()),s=Array.from(g.keys()),a=new Map;for(let o=0,c=n.length;o<c;o++)g.get(n[o])!==void 0&&a.set(n[o],g.get(n[o]));for(let o=0,c=s.length;o<c;o++)n.indexOf(s[o])==-1&&a.set(s[o],g.get(s[o]));return a}renderDiff(l,g,i=!1){let n=this,s=document.createElement("div"),a=document.createElement("div"),o=document.createElement("ul"),c=n._mapsDiff(l,g);return s.className="DAMON-Diff",a.className="DAMON-Diff-legend",o.className="DAMON-List",a.innerHTML='<span id="damonDiffRed"><span>Red</span>: Difference</span>; <span id="damonDiffBlue"><span>Blue</span>: Addition</span>; <span id="damonDiffGreen"><span>Green</span>: Displacement</span>',r(c,o),s.appendChild(a),s.appendChild(o),s;function r(e,f,u=[],C="green"){if(C==="green"){if(typeof f!="object"||f==null||Array.isArray(f))throw new Error("Error List Item "+u.concat("-")+": @param { {} } list");if(typeof e=="object"&&e!==null&&!Array.isArray(e)&&e instanceof Map&&e.constructor===Map){if(f.tagName=="UL"){let y="",E=null,A=l;for(let b=0,S=u.length;b<S;b++)typeof A=="object"&&A!==null&&!Array.isArray(A)&&A instanceof Map&&A.constructor===Map?A=A.get(Array.from(A.keys())[u[b]]):A=A[u[b]];let d="",T=null,p=g;for(let b=0,S=u.length;b<S;b++)typeof p=="object"&&p!==null&&!Array.isArray(p)&&p instanceof Map&&p.constructor===Map?p=p.get(Array.from(p.keys())[u[b]]):p=p[u[b]];let x=0;for(let[b,S]of e){let O=Array.from(e.keys())[x].split("-")[1],_=e.get(Array.from(e.keys())[x]),M=document.createElement("ul"),z=document.createElement("code"),j=document.createElement("span"),H=document.createElement("li");if(j.className="type-key",H.className=O+"-diff",H.className==="red-diff"&&x<=Array.from(A.keys()).length-1?x>Array.from(p.keys()).length-1?(b="",S=""):(x>Array.from(A.keys()).length-1&&(H.className="blue-diff",H.setAttribute("aria-describedby","damonDiffBlue")),d=Array.from(p.keys())[x],T=p.get(d),b=d,S=T):H.className==="green-diff"?(H.dataset.graphArbo=x,u.length>0&&(H.dataset.graphArbo=u.join("-")+"-"+x),H.className="",y=Array.from(p.keys())[x],E=p.get(y),b=y,S=E):H.className==="yellow-diff"?x>Array.from(A.keys()).length-1?(H.className="green-diff",H.setAttribute("aria-describedby","damonDiffGreen"),y=Array.from(p.keys())[x],E=p.get(y),b=y,S=E):(b="",S="",H.className="red-diff",H.setAttribute("aria-describedby","damonDiffRed")):(H.className="blue-diff",H.setAttribute("aria-describedby","damonDiffBlue"),y=Array.from(p.keys())[x],E=p.get(y),b=y,S=E),H.className==="red-diff"&&H.setAttribute("aria-describedby","damonDiffRed"),n.websiteRegex.test(b)){let $=b;n.httpRegex.test(b)||($="https://"+b);let v=I.sanitize(`<a href="${$}">${$}</a>`);j.innerHTML=v}else j.textContent=b;if(typeof S=="object"&&S!==null)if(Array.isArray(S))if(l.damonInlineArrays!==void 0&&l.damonInlineArrays.indexOf(b)>-1){z.innerHTML=j.outerHTML+": [";for(let $=0,v=S.length;$<v;$++){let U=document.createElement("span"),J=S[$];if(J===!0)U.textContent="true",U.className="type-boolean";else if(J===!1)U.textContent="false",U.className="type-boolean";else if(J===null)U.textContent="null",U.className="type-null";else if(Number.isFinite(J)&&!Number.isNaN(J))U.textContent=J+"",U.className="type-number";else{if(i)if(n.websiteRegex.test(J)){let re=J;n.httpRegex.test(J)||(re="https://"+J),U.innerHTML=I.sanitize(`<a href="${re}">"${re}"</a>`)}else U.innerHTML=`"${J}"`;else if(n.websiteRegex.test(J)){let re=J;n.httpRegex.test(J)||(re="https://"+J),U.innerHTML=I.sanitize(`<a href="${re}">"${re}"</a>`)}else U.textContent=`"${J}"`;U.className="type-string"}$!==0&&(z.innerHTML+=", "),z.appendChild(U)}z.innerHTML+="]",H.appendChild(z),H.appendChild(M),f.appendChild(H)}else z.innerHTML=j.outerHTML+": []",H.appendChild(z),H.appendChild(M),f.appendChild(H),O=="green"?r(_,M,u.concat([x]),O):r(_,M,u.concat([x]),O);else l.implicitMaps!==void 0&&l.implicitMaps.indexOf(b)>-1?z.innerHTML=j.outerHTML:z.innerHTML=j.outerHTML+": {}",H.appendChild(z),H.appendChild(M),f.appendChild(H),O=="green"?r(_,M,u.concat([x]),O):r(_,M,u.concat([x]),O);else{z.innerHTML=j.outerHTML+": ";let $=document.createElement("span"),v=S;if(v===!0)$.textContent="true",$.className="type-boolean";else if(v===!1)$.textContent="false",$.className="type-boolean";else if(v===null)$.textContent="null",$.className="type-null";else if(Number.isFinite(v)&&!Number.isNaN(v))$.textContent=v+"",$.className="type-number";else{if(i)if(n.websiteRegex.test(v)){let U=v;n.httpRegex.test(v)||(U="https://"+v),$.innerHTML=I.sanitize(`<a href="${U}">"${U}"</a>`)}else $.innerHTML=`"${v}"`;else if(n.websiteRegex.test(v)){let U=v;n.httpRegex.test(v)||(U="https://"+v),$.innerHTML=I.sanitize(`<a href="${U}">"${U}"</a>`)}else $.textContent=`"${v}"`;$.className="type-string"}l.implicitNulls===void 0||l.implicitNulls.indexOf(b)==-1?z.appendChild($):z.innerHTML=z.innerHTML.slice(0,-2),H.appendChild(z),f.appendChild(H)}x++}}}else if(Array.isArray(e)){let y=l;for(let A=0,d=u.length;A<d;A++)typeof y=="object"&&y!==null&&!Array.isArray(y)&&y instanceof Map&&y.constructor===Map&&Array.from(y.keys()).length?y=y.get(Array.from(y.keys())[u[A]]):y=y[u[A]];let E=g;for(let A=0,d=u.length;A<d;A++)typeof E=="object"&&E!==null&&!Array.isArray(E)&&E instanceof Map&&E.constructor===Map&&Array.from(E.keys()).length?E=E.get(Array.from(E.keys())[u[A]]):E=E[u[A]];for(var h=0,D=e.length;h<D;h++){let A=e[h].split("-")[1],d=document.createElement("ul"),T=document.createElement("code"),p=document.createElement("li"),x;if(p.className=e[h].split("-")[1]+"-diff",p.className==="red-diff"&&h<=y.length-1?h>E.length-1?x="":(h>y.length-1&&(p.className=="red-diff"?(p.className="blue-diff",p.setAttribute("aria-describedby","damonDiffBlue")):(p.className="green-diff",p.setAttribute("aria-describedby","damonDiffGreen"))),x=E[h]):(p.className==="green-diff"?(p.dataset.graphArbo=h,u.length>0&&(p.dataset.graphArbo=u.join("-")+"-"+h),p.className=""):(p.className="blue-diff",p.setAttribute("aria-describedby","damonDiffBlue")),x=y[h]),p.className==="red-diff"&&p.setAttribute("aria-describedby","damonDiffRed"),typeof x=="object"&&x!==null)if(Array.isArray(x))if(l.damonInlineArrays!==void 0&&l.damonInlineArrays.indexOf(h)>-1){T.innerHTML+="[";for(let b=0,S=x.length;b<S;b++){let O=document.createElement("span"),_=x[b];if(_===!0)O.textContent="true",O.className="type-boolean";else if(_===!1)O.textContent="false",O.className="type-boolean";else if(_===null)O.textContent="null",O.className="type-null";else if(Number.isFinite(_)&&!Number.isNaN(_))O.textContent=_+"",O.className="type-number";else{if(i)if(n.websiteRegex.test(_)){let M=_;n.httpRegex.test(_)||(M="https://"+_),O.innerHTML=I.sanitize(`<a href="${M}">"${M}"</a>`)}else O.innerHTML=`"${_}"`;else if(n.websiteRegex.test(_)){let M=_;n.httpRegex.test(_)||(M="https://"+_),O.innerHTML=I.sanitize(`<a href="${M}">"${M}"</a>`)}else O.textContent=`"${_}"`;O.className="type-string"}b!==0&&(T.innerHTML+=", ")}T.innerHTML+="]",p.appendChild(T),p.appendChild(d),f.appendChild(p)}else T.textContent="[]",p.appendChild(T),p.appendChild(d),f.appendChild(p),r(x,d,u.concat([h]),A);else T.textContent="{}",p.appendChild(T),p.appendChild(d),f.appendChild(p),r(x,d,u.concat([h]),A);else{let b=x;if(b===!0)T.textContent="true",T.className="type-boolean";else if(b===!1)T.textContent="false",T.className="type-boolean";else if(b===null)T.textContent="null",T.className="type-null";else if(Number.isFinite(b)&&!Number.isNaN(b))T.textContent=b+"",T.className="type-number";else{if(i)if(n.websiteRegex.test(b)){let S=b;n