defuddle
Version:
Extract article content and metadata from web pages.
1 lines • 480 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Defuddle=t():e.Defuddle=t()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={20:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GrokExtractor=void 0;const n=r(181);class o extends n.ConversationExtractor{constructor(e,t){super(e,t),this.messageContainerSelector=".relative.group.flex.flex-col.justify-center.w-full",this.messageBubbles=e.querySelectorAll(this.messageContainerSelector),this.footnotes=[],this.footnoteCounter=0}canExtract(){return!!this.messageBubbles&&this.messageBubbles.length>0}extractMessages(){const e=[];return this.footnotes=[],this.footnoteCounter=0,this.messageBubbles&&0!==this.messageBubbles.length?(this.messageBubbles.forEach((t=>{var r;const n=t.classList.contains("items-end"),o=t.classList.contains("items-start");if(!n&&!o)return;const a=t.querySelector(".message-bubble");if(!a)return;let i="",s="",l="";if(n)i=a.textContent||"",s="user",l="You";else if(o){s="assistant",l="Grok";const e=a.cloneNode(!0);null===(r=e.querySelector(".relative.border.border-border-l1.bg-surface-base"))||void 0===r||r.remove(),i=e.innerHTML,i=this.processFootnotes(i)}i.trim()&&e.push({author:l,content:i.trim(),metadata:{role:s}})})),e):e}getFootnotes(){return this.footnotes}getMetadata(){var e;const t=this.getTitle(),r=(null===(e=this.messageBubbles)||void 0===e?void 0:e.length)||0;return{title:t,site:"Grok",url:this.url,messageCount:r,description:`Grok conversation with ${r} messages`}}getTitle(){var e,t;const r=null===(e=this.document.title)||void 0===e?void 0:e.trim();if(r&&"Grok"!==r&&!r.startsWith("Grok by "))return r.replace(/\s-\s*Grok$/,"").trim();const n=this.document.querySelector(`${this.messageContainerSelector}.items-end`);if(n){const e=n.querySelector(".message-bubble");if(e){const r=(null===(t=e.textContent)||void 0===t?void 0:t.trim())||"";return r.length>50?r.slice(0,50)+"...":r}}return"Grok Conversation"}processFootnotes(e){return e.replace(/<a\s+(?:[^>]*?\s+)?href="([^"]*)"[^>]*>(.*?)<\/a>/gi,((e,t,r)=>{if(!t||t.startsWith("#")||!t.match(/^https?:\/\//i))return e;let n;if(this.footnotes.find((e=>e.url===t)))n=this.footnotes.findIndex((e=>e.url===t))+1;else{this.footnoteCounter++,n=this.footnoteCounter;let e=t;try{const r=new URL(t).hostname.replace(/^www\./,"");e=`<a href="${t}" target="_blank" rel="noopener noreferrer">${r}</a>`}catch(r){e=`<a href="${t}" target="_blank" rel="noopener noreferrer">${t}</a>`,console.warn(`GrokExtractor: Could not parse URL for footnote: ${t}`)}this.footnotes.push({url:t,text:e})}return`${r}<sup id="fnref:${n}" class="footnote-ref"><a href="#fn:${n}" class="footnote-link">${n}</a></sup>`}))}}t.GrokExtractor=o},181:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConversationExtractor=void 0;const n=r(279),o=r(628);class a extends n.BaseExtractor{getFootnotes(){return[]}extract(){var e;const t=this.extractMessages(),r=this.getMetadata(),n=this.getFootnotes(),a=this.createContentHtml(t,n),i=document.implementation.createHTMLDocument(),s=i.createElement("article");s.innerHTML=a,i.body.appendChild(s);const l=new o.Defuddle(i).parse(),c=l.content;return{content:c,contentHtml:c,extractedContent:{messageCount:t.length.toString()},variables:{title:r.title||"Conversation",site:r.site,description:r.description||`${r.site} conversation with ${t.length} messages`,wordCount:(null===(e=l.wordCount)||void 0===e?void 0:e.toString())||""}}}createContentHtml(e,t){return`${e.map(((t,r)=>{const n=t.timestamp?`<div class="message-timestamp">${t.timestamp}</div>`:"",o=/<p[^>]*>[\s\S]*?<\/p>/i.test(t.content)?t.content:`<p>${t.content}</p>`,a=t.metadata?Object.entries(t.metadata).map((([e,t])=>`data-${e}="${t}"`)).join(" "):"";return`\n\t\t\t<div class="message message-${t.author.toLowerCase()}" ${a}>\n\t\t\t\t<div class="message-header">\n\t\t\t\t\t<p class="message-author"><strong>${t.author}</strong></p>\n\t\t\t\t\t${n}\n\t\t\t\t</div>\n\t\t\t\t<div class="message-content">\n\t\t\t\t\t${o}\n\t\t\t\t</div>\n\t\t\t</div>${r<e.length-1?"\n<hr>":""}`})).join("\n").trim()}\n${t.length>0?`\n\t\t\t<div id="footnotes">\n\t\t\t\t<ol>\n\t\t\t\t\t${t.map(((e,t)=>`\n\t\t\t\t\t\t<li class="footnote" id="fn:${t+1}">\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<a href="${e.url}" target="_blank">${e.text}</a> <a href="#fnref:${t+1}" class="footnote-backref">\u21a9</a>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t`)).join("")}\n\t\t\t\t</ol>\n\t\t\t</div>`:""}`.trim()}}t.ConversationExtractor=a},248:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TwitterExtractor=void 0;const n=r(279);class o extends n.BaseExtractor{constructor(e,t){var r;super(e,t),this.mainTweet=null,this.threadTweets=[];const n=e.querySelector('[aria-label="Timeline: Conversation"]');if(!n){const t=e.querySelector('article[data-testid="tweet"]');return void(t&&(this.mainTweet=t))}const o=Array.from(n.querySelectorAll('article[data-testid="tweet"]')),a=null===(r=n.querySelector("section, h2"))||void 0===r?void 0:r.parentElement;a&&o.forEach(((e,t)=>{if(a.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)return o.splice(t),!1})),this.mainTweet=o[0]||null,this.threadTweets=o.slice(1)}canExtract(){return!!this.mainTweet}extract(){const e=this.extractTweet(this.mainTweet),t=this.threadTweets.map((e=>this.extractTweet(e))).join("\n<hr>\n"),r=`\n\t\t\t<div class="tweet-thread">\n\t\t\t\t<div class="main-tweet">\n\t\t\t\t\t${e}\n\t\t\t\t</div>\n\t\t\t\t${t?`\n\t\t\t\t\t<hr>\n\t\t\t\t\t<div class="thread-tweets">\n\t\t\t\t\t\t${t}\n\t\t\t\t\t</div>\n\t\t\t\t`:""}\n\t\t\t</div>\n\t\t`.trim(),n=this.getTweetId(),o=this.getTweetAuthor();return{content:r,contentHtml:r,extractedContent:{tweetId:n,tweetAuthor:o},variables:{title:`Thread by ${o}`,author:o,site:"X (Twitter)",description:this.createDescription(this.mainTweet)}}}formatTweetText(e){if(!e)return"";const t=document.createElement("div");t.innerHTML=e,t.querySelectorAll("a").forEach((e=>{var t;const r=(null===(t=e.textContent)||void 0===t?void 0:t.trim())||"";e.replaceWith(r)})),t.querySelectorAll("span, div").forEach((e=>{e.replaceWith(...Array.from(e.childNodes))}));return t.innerHTML.split("\n").map((e=>e.trim())).filter((e=>e)).map((e=>`<p>${e}</p>`)).join("\n")}extractTweet(e){var t,r,n;if(!e)return"";const o=e.cloneNode(!0);o.querySelectorAll('img[src*="/emoji/"]').forEach((e=>{if("img"===e.tagName.toLowerCase()&&e.getAttribute("alt")){const t=e.getAttribute("alt");t&&e.replaceWith(t)}}));const a=(null===(t=o.querySelector('[data-testid="tweetText"]'))||void 0===t?void 0:t.innerHTML)||"",i=this.formatTweetText(a),s=this.extractImages(e),l=this.extractUserInfo(e),c=null===(n=null===(r=e.querySelector('[aria-labelledby*="id__"]'))||void 0===r?void 0:r.querySelector('[data-testid="User-Name"]'))||void 0===n?void 0:n.closest('[aria-labelledby*="id__"]'),u=c?this.extractTweet(c):"";return`\n\t\t\t<div class="tweet">\n\t\t\t\t<div class="tweet-header">\n\t\t\t\t\t<span class="tweet-author"><strong>${l.fullName}</strong> <span class="tweet-handle">${l.handle}</span></span>\n\t\t\t\t\t${l.date?`<a href="${l.permalink}" class="tweet-date">${l.date}</a>`:""}\n\t\t\t\t</div>\n\t\t\t\t${i?`<div class="tweet-text">${i}</div>`:""}\n\t\t\t\t${s.length?`\n\t\t\t\t\t<div class="tweet-media">\n\t\t\t\t\t\t${s.join("\n")}\n\t\t\t\t\t</div>\n\t\t\t\t`:""}\n\t\t\t\t${u?`\n\t\t\t\t\t<blockquote class="quoted-tweet">\n\t\t\t\t\t\t${u}\n\t\t\t\t\t</blockquote>\n\t\t\t\t`:""}\n\t\t\t</div>\n\t\t`.trim()}extractUserInfo(e){var t,r,n,o,a,i,s,l,c;const u=e.querySelector('[data-testid="User-Name"]');if(!u)return{fullName:"",handle:"",date:"",permalink:""};const d=u.querySelectorAll("a");let m=(null===(r=null===(t=null==d?void 0:d[0])||void 0===t?void 0:t.textContent)||void 0===r?void 0:r.trim())||"",h=(null===(o=null===(n=null==d?void 0:d[1])||void 0===n?void 0:n.textContent)||void 0===o?void 0:o.trim())||"";m&&h||(m=(null===(i=null===(a=u.querySelector('span[style*="color: rgb(15, 20, 25)"] span'))||void 0===a?void 0:a.textContent)||void 0===i?void 0:i.trim())||"",h=(null===(l=null===(s=u.querySelector('span[style*="color: rgb(83, 100, 113)"]'))||void 0===s?void 0:s.textContent)||void 0===l?void 0:l.trim())||"");const p=e.querySelector("time"),f=(null==p?void 0:p.getAttribute("datetime"))||"";return{fullName:m,handle:h,date:f?new Date(f).toISOString().split("T")[0]:"",permalink:(null===(c=null==p?void 0:p.closest("a"))||void 0===c?void 0:c.href)||""}}extractImages(e){var t,r;const n=['[data-testid="tweetPhoto"]','[data-testid="tweet-image"]','img[src*="media"]'],o=[],a=null===(r=null===(t=e.querySelector('[aria-labelledby*="id__"]'))||void 0===t?void 0:t.querySelector('[data-testid="User-Name"]'))||void 0===r?void 0:r.closest('[aria-labelledby*="id__"]');for(const t of n){e.querySelectorAll(t).forEach((e=>{var t,r;if(!(null==a?void 0:a.contains(e))&&"img"===e.tagName.toLowerCase()&&e.getAttribute("alt")){const n=(null===(t=e.getAttribute("src"))||void 0===t?void 0:t.replace(/&name=\w+$/,"&name=large"))||"",a=(null===(r=e.getAttribute("alt"))||void 0===r?void 0:r.replace(/\s+/g," ").trim())||"";o.push(`<img src="${n}" alt="${a}" />`)}}))}return o}getTweetId(){const e=this.url.match(/status\/(\d+)/);return(null==e?void 0:e[1])||""}getTweetAuthor(){var e,t,r;const n=null===(e=this.mainTweet)||void 0===e?void 0:e.querySelector('[data-testid="User-Name"]'),o=null==n?void 0:n.querySelectorAll("a"),a=(null===(r=null===(t=null==o?void 0:o[1])||void 0===t?void 0:t.textContent)||void 0===r?void 0:r.trim())||"";return a.startsWith("@")?a:`@${a}`}createDescription(e){var t;if(!e)return"";return((null===(t=e.querySelector('[data-testid="tweetText"]'))||void 0===t?void 0:t.textContent)||"").trim().slice(0,140).replace(/\s+/g," ")}}t.TwitterExtractor=o},258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YoutubeExtractor=void 0;const n=r(279);class o extends n.BaseExtractor{constructor(e,t,r){super(e,t,r),this.videoElement=e.querySelector("video"),this.schemaOrgData=r}canExtract(){return!0}extract(){const e=this.getVideoData(),t=e.description||"",r=this.formatDescription(t),n=`<iframe width="560" height="315" src="https://www.youtube.com/embed/${this.getVideoId()}?si=_m0qv33lAuJFoGNh" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe><br>${r}`;return{content:n,contentHtml:n,extractedContent:{videoId:this.getVideoId(),author:e.author||""},variables:{title:e.name||"",author:e.author||"",site:"YouTube",image:Array.isArray(e.thumbnailUrl)&&e.thumbnailUrl[0]||"",published:e.uploadDate,description:t.slice(0,200).trim()}}}formatDescription(e){return`<p>${e.replace(/\n/g,"<br>")}</p>`}getVideoData(){if(!this.schemaOrgData)return{};return(Array.isArray(this.schemaOrgData)?this.schemaOrgData.find((e=>"VideoObject"===e["@type"])):"VideoObject"===this.schemaOrgData["@type"]?this.schemaOrgData:null)||{}}getVideoId(){return new URLSearchParams(new URL(this.url).search).get("v")||""}}t.YoutubeExtractor=o},279:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseExtractor=void 0;t.BaseExtractor=class{constructor(e,t,r){this.document=e,this.url=t,this.schemaOrgData=r}}},282:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mathSelectors=t.isBlockDisplay=t.getBasicLatexFromElement=t.getMathMLFromElement=void 0;t.getMathMLFromElement=e=>{if("math"===e.tagName.toLowerCase()){const t="block"===e.getAttribute("display");return{mathml:e.outerHTML,latex:e.getAttribute("alttext")||null,isBlock:t}}const t=e.getAttribute("data-mathml");if(t){const e=document.createElement("div");e.innerHTML=t;const r=e.querySelector("math");if(r){const e="block"===r.getAttribute("display");return{mathml:r.outerHTML,latex:r.getAttribute("alttext")||null,isBlock:e}}}const r=e.querySelector(".MJX_Assistive_MathML, mjx-assistive-mml");if(r){const e=r.querySelector("math");if(e){const t=e.getAttribute("display"),n=r.getAttribute("display"),o="block"===t||"block"===n;return{mathml:e.outerHTML,latex:e.getAttribute("alttext")||null,isBlock:o}}}const n=e.querySelector(".katex-mathml math");return n?{mathml:n.outerHTML,latex:null,isBlock:!1}:null};t.getBasicLatexFromElement=e=>{var t,r,n;const o=e.getAttribute("data-latex");if(o)return o;if("img"===e.tagName.toLowerCase()&&e.classList.contains("latex")){const t=e.getAttribute("alt");if(t)return t;const r=e.getAttribute("src");if(r){const e=r.match(/latex\.php\?latex=([^&]+)/);if(e)return decodeURIComponent(e[1]).replace(/\+/g," ").replace(/%5C/g,"\\")}}const a=e.querySelector('annotation[encoding="application/x-tex"]');if(null==a?void 0:a.textContent)return a.textContent.trim();if(e.matches(".katex")){const t=e.querySelector('.katex-mathml annotation[encoding="application/x-tex"]');if(null==t?void 0:t.textContent)return t.textContent.trim()}if(e.matches('script[type="math/tex"]')||e.matches('script[type="math/tex; mode=display"]'))return(null===(t=e.textContent)||void 0===t?void 0:t.trim())||null;if(e.parentElement){const t=e.parentElement.querySelector('script[type="math/tex"], script[type="math/tex; mode=display"]');if(t)return(null===(r=t.textContent)||void 0===r?void 0:r.trim())||null}return e.getAttribute("alt")||(null===(n=e.textContent)||void 0===n?void 0:n.trim())||null};t.isBlockDisplay=e=>{if("block"===e.getAttribute("display"))return!0;const t=e.className.toLowerCase();if(t.includes("display")||t.includes("block"))return!0;if(e.closest('.katex-display, .MathJax_Display, [data-display="block"]'))return!0;const r=e.previousElementSibling;if("p"===(null==r?void 0:r.tagName.toLowerCase()))return!0;if(e.matches(".mwe-math-fallback-image-display"))return!0;if(e.matches(".katex"))return null!==e.closest(".katex-display");if(e.hasAttribute("display"))return"true"===e.getAttribute("display");if(e.matches('script[type="math/tex; mode=display"]'))return!0;if(e.hasAttribute("display"))return"true"===e.getAttribute("display");const n=e.closest("[display]");return!!n&&"true"===n.getAttribute("display")},t.mathSelectors=['img.latex[src*="latex.php"]',"span.MathJax","mjx-container",'script[type="math/tex"]','script[type="math/tex; mode=display"]','.MathJax_Preview + script[type="math/tex"]',".MathJax_Display",".MathJax_SVG",".MathJax_MathML",".mwe-math-element",".mwe-math-fallback-image-inline",".mwe-math-fallback-image-display",".mwe-math-mathml-inline",".mwe-math-mathml-display",".katex",".katex-display",".katex-mathml",".katex-html","[data-katex]",'script[type="math/katex"]',"math","[data-math]","[data-latex]","[data-tex]",'script[type^="math/"]','annotation[encoding="application/x-tex"]'].join(",")},354:function(e){var t;t=()=>(()=>{var e={4582:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=Object),t&&"function"==typeof t.freeze?t.freeze(e):e}var n=r({HTML:"text/html",isHTML:function(e){return e===n.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),o=r({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(e){return e===o.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});t.assign=function(e,t){if(null===e||"object"!=typeof e)throw new TypeError("target is not an object");for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},t.find=function(e,t,r){if(void 0===r&&(r=Array.prototype),e&&"function"==typeof r.find)return r.find.call(e,t);for(var n=0;n<e.length;n++)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[n];if(t.call(void 0,o,n,e))return o}},t.freeze=r,t.MIME_TYPE=n,t.NAMESPACE=o},5752:(e,t,r)=>{var n=r(4582),o=r(4722),a=r(6559),i=r(4466),s=o.DOMImplementation,l=n.NAMESPACE,c=i.ParseError,u=i.XMLReader;function d(e){return e.replace(/\r[\n\u0085]/g,"\n").replace(/[\r\u0085\u2028]/g,"\n")}function m(e){this.options=e||{locator:{}}}function h(){this.cdata=!1}function p(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function f(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]"}function g(e,t,r){return"string"==typeof e?e.substr(t,r):e.length>=t+r||t?new java.lang.String(e,t,r)+"":e}function x(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}m.prototype.parseFromString=function(e,t){var r=this.options,n=new u,o=r.domBuilder||new h,i=r.errorHandler,s=r.locator,c=r.xmlns||{},m=/\/x?html?$/.test(t),p=m?a.HTML_ENTITIES:a.XML_ENTITIES;s&&o.setDocumentLocator(s),n.errorHandler=function(e,t,r){if(!e){if(t instanceof h)return t;e=t}var n={},o=e instanceof Function;function a(t){var a=e[t];!a&&o&&(a=2==e.length?function(r){e(t,r)}:e),n[t]=a&&function(e){a("[xmldom "+t+"]\t"+e+f(r))}||function(){}}return r=r||{},a("warning"),a("error"),a("fatalError"),n}(i,o,s),n.domBuilder=r.domBuilder||o,m&&(c[""]=l.HTML),c.xml=c.xml||l.XML;var g=r.normalizeLineEndings||d;return e&&"string"==typeof e?n.parse(g(e),c,p):n.errorHandler.error("invalid doc source"),o.doc},h.prototype={startDocument:function(){this.doc=(new s).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,r,n){var o=this.doc,a=o.createElementNS(e,r||t),i=n.length;x(this,a),this.currentElement=a,this.locator&&p(this.locator,a);for(var s=0;s<i;s++){e=n.getURI(s);var l=n.getValue(s),c=(r=n.getQName(s),o.createAttributeNS(e,r));this.locator&&p(n.getLocator(s),c),c.value=c.nodeValue=l,a.setAttributeNode(c)}},endElement:function(e,t,r){var n=this.currentElement;n.tagName,this.currentElement=n.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var r=this.doc.createProcessingInstruction(e,t);this.locator&&p(this.locator,r),x(this,r)},ignorableWhitespace:function(e,t,r){},characters:function(e,t,r){if(e=g.apply(this,arguments)){if(this.cdata)var n=this.doc.createCDATASection(e);else n=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(n):/^\s*$/.test(e)&&this.doc.appendChild(n),this.locator&&p(this.locator,n)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,r){e=g.apply(this,arguments);var n=this.doc.createComment(e);this.locator&&p(this.locator,n),x(this,n)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,r){var n=this.doc.implementation;if(n&&n.createDocumentType){var o=n.createDocumentType(e,t,r);this.locator&&p(this.locator,o),x(this,o),this.doc.doctype=o}},warning:function(e){console.warn("[xmldom warning]\t"+e,f(this.locator))},error:function(e){console.error("[xmldom error]\t"+e,f(this.locator))},fatalError:function(e){throw new c(e,this.locator)}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,(function(e){h.prototype[e]=function(){return null}})),t.DOMParser=m},4722:(e,t,r)=>{var n=r(4582),o=n.find,a=n.NAMESPACE;function i(e){return""!==e}function s(e,t){return e.hasOwnProperty(t)||(e[t]=!0),e}function l(e){if(!e)return[];var t=function(e){return e?e.split(/[\t\n\f\r ]+/).filter(i):[]}(e);return Object.keys(t.reduce(s,{}))}function c(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}function u(e,t){var r=e.prototype;if(!(r instanceof t)){function n(){}n.prototype=t.prototype,c(r,n=new n),e.prototype=r=n}r.constructor!=e&&("function"!=typeof e&&console.error("unknown Class:"+e),r.constructor=e)}var d={},m=d.ELEMENT_NODE=1,h=d.ATTRIBUTE_NODE=2,p=d.TEXT_NODE=3,f=d.CDATA_SECTION_NODE=4,g=d.ENTITY_REFERENCE_NODE=5,x=d.ENTITY_NODE=6,b=d.PROCESSING_INSTRUCTION_NODE=7,w=d.COMMENT_NODE=8,y=d.DOCUMENT_NODE=9,v=d.DOCUMENT_TYPE_NODE=10,A=d.DOCUMENT_FRAGMENT_NODE=11,C=d.NOTATION_NODE=12,E={},_={},T=(E.INDEX_SIZE_ERR=(_[1]="Index size error",1),E.DOMSTRING_SIZE_ERR=(_[2]="DOMString size error",2),E.HIERARCHY_REQUEST_ERR=(_[3]="Hierarchy request error",3)),q=(E.WRONG_DOCUMENT_ERR=(_[4]="Wrong document",4),E.INVALID_CHARACTER_ERR=(_[5]="Invalid character",5),E.NO_DATA_ALLOWED_ERR=(_[6]="No data allowed",6),E.NO_MODIFICATION_ALLOWED_ERR=(_[7]="No modification allowed",7),E.NOT_FOUND_ERR=(_[8]="Not found",8)),S=(E.NOT_SUPPORTED_ERR=(_[9]="Not supported",9),E.INUSE_ATTRIBUTE_ERR=(_[10]="Attribute in use",10));function N(e,t){if(t instanceof Error)var r=t;else r=this,Error.call(this,_[e]),this.message=_[e],Error.captureStackTrace&&Error.captureStackTrace(this,N);return r.code=e,t&&(this.message=this.message+": "+t),r}function k(){}function M(e,t){this._node=e,this._refresh=t,L(this)}function L(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!==t){var r=e._refresh(e._node);if(be(e,"length",r.length),!e.$$length||r.length<e.$$length)for(var n=r.length;n in e;n++)Object.prototype.hasOwnProperty.call(e,n)&&delete e[n];c(r,e),e._inc=t}}function O(){}function D(e,t){for(var r=e.length;r--;)if(e[r]===t)return r}function B(e,t,r,n){if(n?t[D(t,n)]=r:t[t.length++]=r,e){r.ownerElement=e;var o=e.ownerDocument;o&&(n&&z(o,e,n),function(e,t,r){e&&e._inc++,r.namespaceURI===a.XMLNS&&(t._nsMap[r.prefix?r.localName:""]=r.value)}(o,e,r))}}function $(e,t,r){var n=D(t,r);if(!(n>=0))throw new N(q,new Error(e.tagName+"@"+r));for(var o=t.length-1;n<o;)t[n]=t[++n];if(t.length=o,e){var a=e.ownerDocument;a&&(z(a,e,r),r.ownerElement=null)}}function F(){}function I(){}function P(e){return("<"==e?"<":">"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";"}function R(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(R(e,t))return!0}while(e=e.nextSibling)}function j(){this.ownerDocument=this}function z(e,t,r,n){e&&e._inc++,r.namespaceURI===a.XMLNS&&delete t._nsMap[r.prefix?r.localName:""]}function U(e,t,r){if(e&&e._inc){e._inc++;var n=t.childNodes;if(r)n[n.length++]=r;else{for(var o=t.firstChild,a=0;o;)n[a++]=o,o=o.nextSibling;n.length=a,delete n[n.length]}}}function G(e,t){var r=t.previousSibling,n=t.nextSibling;return r?r.nextSibling=n:e.firstChild=n,n?n.previousSibling=r:e.lastChild=r,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,U(e.ownerDocument,e),t}function H(e){return e&&e.nodeType===I.DOCUMENT_TYPE_NODE}function W(e){return e&&e.nodeType===I.ELEMENT_NODE}function V(e){return e&&e.nodeType===I.TEXT_NODE}function X(e,t){var r=e.childNodes||[];if(o(r,W)||H(t))return!1;var n=o(r,H);return!(t&&n&&r.indexOf(n)>r.indexOf(t))}function Z(e,t){var r=e.childNodes||[];if(o(r,(function(e){return W(e)&&e!==t})))return!1;var n=o(r,H);return!(t&&n&&r.indexOf(n)>r.indexOf(t))}function Y(e,t,r){var n=e.childNodes||[],a=t.childNodes||[];if(t.nodeType===I.DOCUMENT_FRAGMENT_NODE){var i=a.filter(W);if(i.length>1||o(a,V))throw new N(T,"More than one element or text in fragment");if(1===i.length&&!X(e,r))throw new N(T,"Element in fragment can not be inserted before doctype")}if(W(t)&&!X(e,r))throw new N(T,"Only one element can be added and only after doctype");if(H(t)){if(o(n,H))throw new N(T,"Only one doctype is allowed");var s=o(n,W);if(r&&n.indexOf(s)<n.indexOf(r))throw new N(T,"Doctype can only be inserted before an element");if(!r&&s)throw new N(T,"Doctype can not be appended since element is present")}}function J(e,t,r){var n=e.childNodes||[],a=t.childNodes||[];if(t.nodeType===I.DOCUMENT_FRAGMENT_NODE){var i=a.filter(W);if(i.length>1||o(a,V))throw new N(T,"More than one element or text in fragment");if(1===i.length&&!Z(e,r))throw new N(T,"Element in fragment can not be inserted before doctype")}if(W(t)&&!Z(e,r))throw new N(T,"Only one element can be added and only after doctype");if(H(t)){if(o(n,(function(e){return H(e)&&e!==r})))throw new N(T,"Only one doctype is allowed");var s=o(n,W);if(r&&n.indexOf(s)<n.indexOf(r))throw new N(T,"Doctype can only be inserted before an element")}}function K(e,t,r,n){(function(e,t,r){if(!function(e){return e&&(e.nodeType===I.DOCUMENT_NODE||e.nodeType===I.DOCUMENT_FRAGMENT_NODE||e.nodeType===I.ELEMENT_NODE)}(e))throw new N(T,"Unexpected parent node type "+e.nodeType);if(r&&r.parentNode!==e)throw new N(q,"child not in parent");if(!function(e){return e&&(W(e)||V(e)||H(e)||e.nodeType===I.DOCUMENT_FRAGMENT_NODE||e.nodeType===I.COMMENT_NODE||e.nodeType===I.PROCESSING_INSTRUCTION_NODE)}(t)||H(t)&&e.nodeType!==I.DOCUMENT_NODE)throw new N(T,"Unexpected node type "+t.nodeType+" for parent node type "+e.nodeType)})(e,t,r),e.nodeType===I.DOCUMENT_NODE&&(n||Y)(e,t,r);var o=t.parentNode;if(o&&o.removeChild(t),t.nodeType===A){var a=t.firstChild;if(null==a)return t;var i=t.lastChild}else a=i=t;var s=r?r.previousSibling:e.lastChild;a.previousSibling=s,i.nextSibling=r,s?s.nextSibling=a:e.firstChild=a,null==r?e.lastChild=i:r.previousSibling=i;do{a.parentNode=e}while(a!==i&&(a=a.nextSibling));return U(e.ownerDocument||e,e),t.nodeType==A&&(t.firstChild=t.lastChild=null),t}function Q(){this._nsMap={}}function ee(){}function te(){}function re(){}function ne(){}function oe(){}function ae(){}function ie(){}function se(){}function le(){}function ce(){}function ue(){}function de(){}function me(e,t){var r=[],n=9==this.nodeType&&this.documentElement||this,o=n.prefix,a=n.namespaceURI;if(a&&null==o&&null==(o=n.lookupPrefix(a)))var i=[{namespace:a,prefix:null}];return fe(this,r,e,t,i),r.join("")}function he(e,t,r){var n=e.prefix||"",o=e.namespaceURI;if(!o)return!1;if("xml"===n&&o===a.XML||o===a.XMLNS)return!1;for(var i=r.length;i--;){var s=r[i];if(s.prefix===n)return s.namespace!==o}return!0}function pe(e,t,r){e.push(" ",t,'="',r.replace(/[<>&"\t\n\r]/g,P),'"')}function fe(e,t,r,n,o){if(o||(o=[]),n){if(!(e=n(e)))return;if("string"==typeof e)return void t.push(e)}switch(e.nodeType){case m:var i=e.attributes,s=i.length,l=e.firstChild,c=e.tagName,u=c;if(!(r=a.isHTML(e.namespaceURI)||r)&&!e.prefix&&e.namespaceURI){for(var d,x=0;x<i.length;x++)if("xmlns"===i.item(x).name){d=i.item(x).value;break}if(!d)for(var C=o.length-1;C>=0;C--)if(""===(E=o[C]).prefix&&E.namespace===e.namespaceURI){d=E.namespace;break}if(d!==e.namespaceURI)for(C=o.length-1;C>=0;C--){var E;if((E=o[C]).namespace===e.namespaceURI){E.prefix&&(u=E.prefix+":"+c);break}}}t.push("<",u);for(var _=0;_<s;_++)"xmlns"==(T=i.item(_)).prefix?o.push({prefix:T.localName,namespace:T.value}):"xmlns"==T.nodeName&&o.push({prefix:"",namespace:T.value});for(_=0;_<s;_++){var T,q,S;he(T=i.item(_),0,o)&&(pe(t,(q=T.prefix||"")?"xmlns:"+q:"xmlns",S=T.namespaceURI),o.push({prefix:q,namespace:S})),fe(T,t,r,n,o)}if(c===u&&he(e,0,o)&&(pe(t,(q=e.prefix||"")?"xmlns:"+q:"xmlns",S=e.namespaceURI),o.push({prefix:q,namespace:S})),l||r&&!/^(?:meta|link|img|br|hr|input)$/i.test(c)){if(t.push(">"),r&&/^script$/i.test(c))for(;l;)l.data?t.push(l.data):fe(l,t,r,n,o.slice()),l=l.nextSibling;else for(;l;)fe(l,t,r,n,o.slice()),l=l.nextSibling;t.push("</",u,">")}else t.push("/>");return;case y:case A:for(l=e.firstChild;l;)fe(l,t,r,n,o.slice()),l=l.nextSibling;return;case h:return pe(t,e.name,e.value);case p:return t.push(e.data.replace(/[<&>]/g,P));case f:return t.push("<![CDATA[",e.data,"]]>");case w:return t.push("\x3c!--",e.data,"--\x3e");case v:var N=e.publicId,k=e.systemId;if(t.push("<!DOCTYPE ",e.name),N)t.push(" PUBLIC ",N),k&&"."!=k&&t.push(" ",k),t.push(">");else if(k&&"."!=k)t.push(" SYSTEM ",k,">");else{var M=e.internalSubset;M&&t.push(" [",M,"]"),t.push(">")}return;case b:return t.push("<?",e.target," ",e.data,"?>");case g:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function ge(e,t,r){var n;switch(t.nodeType){case m:(n=t.cloneNode(!1)).ownerDocument=e;case A:break;case h:r=!0}if(n||(n=t.cloneNode(!1)),n.ownerDocument=e,n.parentNode=null,r)for(var o=t.firstChild;o;)n.appendChild(ge(e,o,r)),o=o.nextSibling;return n}function xe(e,t,r){var n=new t.constructor;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var a=t[o];"object"!=typeof a&&a!=n[o]&&(n[o]=a)}switch(t.childNodes&&(n.childNodes=new k),n.ownerDocument=e,n.nodeType){case m:var i=t.attributes,s=n.attributes=new O,l=i.length;s._ownerElement=n;for(var c=0;c<l;c++)n.setAttributeNode(xe(e,i.item(c),!0));break;case h:r=!0}if(r)for(var u=t.firstChild;u;)n.appendChild(xe(e,u,r)),u=u.nextSibling;return n}function be(e,t,r){e[t]=r}E.INVALID_STATE_ERR=(_[11]="Invalid state",11),E.SYNTAX_ERR=(_[12]="Syntax error",12),E.INVALID_MODIFICATION_ERR=(_[13]="Invalid modification",13),E.NAMESPACE_ERR=(_[14]="Invalid namespace",14),E.INVALID_ACCESS_ERR=(_[15]="Invalid access",15),N.prototype=Error.prototype,c(E,N),k.prototype={length:0,item:function(e){return e>=0&&e<this.length?this[e]:null},toString:function(e,t){for(var r=[],n=0;n<this.length;n++)fe(this[n],r,e,t);return r.join("")},filter:function(e){return Array.prototype.filter.call(this,e)},indexOf:function(e){return Array.prototype.indexOf.call(this,e)}},M.prototype.item=function(e){return L(this),this[e]||null},u(M,k),O.prototype={length:0,item:k.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var r=this[t];if(r.nodeName==e)return r}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new N(S);var r=this.getNamedItem(e.nodeName);return B(this._ownerElement,this,e,r),r},setNamedItemNS:function(e){var t,r=e.ownerElement;if(r&&r!=this._ownerElement)throw new N(S);return t=this.getNamedItemNS(e.namespaceURI,e.localName),B(this._ownerElement,this,e,t),t},removeNamedItem:function(e){var t=this.getNamedItem(e);return $(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var r=this.getNamedItemNS(e,t);return $(this._ownerElement,this,r),r},getNamedItemNS:function(e,t){for(var r=this.length;r--;){var n=this[r];if(n.localName==t&&n.namespaceURI==e)return n}return null}},F.prototype={hasFeature:function(e,t){return!0},createDocument:function(e,t,r){var n=new j;if(n.implementation=this,n.childNodes=new k,n.doctype=r||null,r&&n.appendChild(r),t){var o=n.createElementNS(e,t);n.appendChild(o)}return n},createDocumentType:function(e,t,r){var n=new ae;return n.name=e,n.nodeName=e,n.publicId=t||"",n.systemId=r||"",n}},I.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return K(this,e,t)},replaceChild:function(e,t){K(this,e,t,J),t&&this.removeChild(t)},removeChild:function(e){return G(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(e){return xe(this.ownerDocument||this,this,e)},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==p&&e.nodeType==p?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t)}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(e){for(var t=this;t;){var r=t._nsMap;if(r)for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)&&r[n]===e)return n;t=t.nodeType==h?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var r=t._nsMap;if(r&&Object.prototype.hasOwnProperty.call(r,e))return r[e];t=t.nodeType==h?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},c(d,I),c(d,I.prototype),j.prototype={nodeName:"#document",nodeType:y,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==A){for(var r=e.firstChild;r;){var n=r.nextSibling;this.insertBefore(r,t),r=n}return e}return K(this,e,t),e.ownerDocument=this,null===this.documentElement&&e.nodeType===m&&(this.documentElement=e),e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),G(this,e)},replaceChild:function(e,t){K(this,e,t,J),e.ownerDocument=this,t&&this.removeChild(t),W(e)&&(this.documentElement=e)},importNode:function(e,t){return ge(this,e,t)},getElementById:function(e){var t=null;return R(this.documentElement,(function(r){if(r.nodeType==m&&r.getAttribute("id")==e)return t=r,!0})),t},getElementsByClassName:function(e){var t=l(e);return new M(this,(function(r){var n=[];return t.length>0&&R(r.documentElement,(function(o){if(o!==r&&o.nodeType===m){var a=o.getAttribute("class");if(a){var i=e===a;if(!i){var s=l(a);i=t.every((c=s,function(e){return c&&-1!==c.indexOf(e)}))}i&&n.push(o)}}var c})),n}))},createElement:function(e){var t=new Q;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new k,(t.attributes=new O)._ownerElement=t,t},createDocumentFragment:function(){var e=new ce;return e.ownerDocument=this,e.childNodes=new k,e},createTextNode:function(e){var t=new re;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new ne;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new oe;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var r=new ue;return r.ownerDocument=this,r.tagName=r.nodeName=r.target=e,r.nodeValue=r.data=t,r},createAttribute:function(e){var t=new ee;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new le;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var r=new Q,n=t.split(":"),o=r.attributes=new O;return r.childNodes=new k,r.ownerDocument=this,r.nodeName=t,r.tagName=t,r.namespaceURI=e,2==n.length?(r.prefix=n[0],r.localName=n[1]):r.localName=t,o._ownerElement=r,r},createAttributeNS:function(e,t){var r=new ee,n=t.split(":");return r.ownerDocument=this,r.nodeName=t,r.name=t,r.namespaceURI=e,r.specified=!0,2==n.length?(r.prefix=n[0],r.localName=n[1]):r.localName=t,r}},u(j,I),Q.prototype={nodeType:m,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var r=this.ownerDocument.createAttribute(e);r.value=r.nodeValue=""+t,this.setAttributeNode(r)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===A?this.insertBefore(e,null):function(e,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=e,t.previousSibling=e.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,e.lastChild=t,U(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var r=this.getAttributeNodeNS(e,t);r&&this.removeAttributeNode(r)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var r=this.getAttributeNodeNS(e,t);return r&&r.value||""},setAttributeNS:function(e,t,r){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=""+r,this.setAttributeNode(n)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new M(this,(function(t){var r=[];return R(t,(function(n){n===t||n.nodeType!=m||"*"!==e&&n.tagName!=e||r.push(n)})),r}))},getElementsByTagNameNS:function(e,t){return new M(this,(function(r){var n=[];return R(r,(function(o){o===r||o.nodeType!==m||"*"!==e&&o.namespaceURI!==e||"*"!==t&&o.localName!=t||n.push(o)})),n}))}},j.prototype.getElementsByTagName=Q.prototype.getElementsByTagName,j.prototype.getElementsByTagNameNS=Q.prototype.getElementsByTagNameNS,u(Q,I),ee.prototype.nodeType=h,u(ee,I),te.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(_[T])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,r){r=this.data.substring(0,e)+r+this.data.substring(e+t),this.nodeValue=this.data=r,this.length=r.length}},u(te,I),re.prototype={nodeName:"#text",nodeType:p,splitText:function(e){var t=this.data,r=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(r);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n}},u(re,te),ne.prototype={nodeName:"#comment",nodeType:w},u(ne,te),oe.prototype={nodeName:"#cdata-section",nodeType:f},u(oe,te),ae.prototype.nodeType=v,u(ae,I),ie.prototype.nodeType=C,u(ie,I),se.prototype.nodeType=x,u(se,I),le.prototype.nodeType=g,u(le,I),ce.prototype.nodeName="#document-fragment",ce.prototype.nodeType=A,u(ce,I),ue.prototype.nodeType=b,u(ue,I),de.prototype.serializeToString=function(e,t,r){return me.call(e,t,r)},I.prototype.toString=me;try{if(Object.defineProperty){function we(e){switch(e.nodeType){case m:case A:var t=[];for(e=e.firstChild;e;)7!==e.nodeType&&8!==e.nodeType&&t.push(we(e)),e=e.nextSibling;return t.join("");default:return e.nodeValue}}Object.defineProperty(M.prototype,"length",{get:function(){return L(this),this.$$length}}),Object.defineProperty(I.prototype,"textContent",{get:function(){return we(this)},set:function(e){switch(this.nodeType){case m:case A:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),be=function(e,t,r){e["$$"+t]=r}}}catch(ye){}t.DocumentType=ae,t.DOMException=N,t.DOMImplementation=F,t.Element=Q,t.Node=I,t.NodeList=k,t.XMLSerializer=de},6559:(e,t,r)=>{"use strict";var n=r(4582).freeze;t.XML_ENTITIES=n({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),t.HTML_ENTITIES=n({Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\u{1d504}",afr:"\u{1d51e}",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",AMP:"&",amp:"&",And:"\u2a53",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1d538}",aopf:"\u{1d552}",ap:"\u2248",apacir:"\u2a6f",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\u{1d49c}",ascr:"\u{1d4b6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\u{1d505}",bfr:"\u{1d51f}",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\u{1d539}",bopf:"\u{1d553}",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250c",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252c",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxUL:"\u255d",boxUl:"\u255c",boxuL:"\u255b",boxul:"\u2518",boxUR:"\u255a",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256c",boxVh:"\u256b",boxvH:"\u256a",boxvh:"\u253c",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255f",boxvR:"\u255e",boxvr:"\u251c",bprime:"\u2035",Breve:"\u02d8",breve:"\u02d8",brvbar:"\xa6",Bscr:"\u212c",bscr:"\u{1d4b7}",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22d2",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",CenterDot:"\xb7",centerdot:"\xb7",Cfr:"\u212d",cfr:"\u{1d520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",cir:"\u25cb",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",Conint:"\u222f",conint:"\u222e",ContourIntegral:"\u222e",Copf:"\u2102",copf:"\u{1d554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xa9",copy:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",Cross:"\u2a2f",cross:"\u2717",Cscr:"\u{1d49e}",cscr:"\u{1d4b8}",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",Cup:"\u22d3",cup:"\u222a",cupbrcap:"\u2a48",CupCap:"\u224d",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21a1",dArr:"\u21d3",darr:"\u2193",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\u{1d507}",dfr:"\u{1d521}",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",Diamond:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\u{1d53b}",dopf:"\u{1d555}",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21d3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\u{1d49f}",dscr:"\u{1d4b9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",ecir:"\u2256",Ecirc:"\xca",ecirc:"\xea",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1d508}",efr:"\u{1d522}",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1d53c}",eopf:"\u{1d556}",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212f",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\u{1d509}",ffr:"\u{1d523}",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\u{1d53d}",fopf:"\u{1d557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1d4bb}",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\u{1d50a}",gfr:"\u{1d524}",Gg:"\u22d9",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2aa5",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gnE:"\u2269",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\u{1d53e}",gopf:"\u{1d558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\u{1d4a2}",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",Gt:"\u226b",GT:">",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",hArr:"\u21d4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",Hfr:"\u210c",hfr:"\u{1d525}",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",Hopf:"\u210d",hopf:"\u{1d559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210b",hscr:"\u{1d4bd}",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",Ifr:"\u2111",ifr:"\u{1d526}",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148