Action
Typlog Publisher
Simplified Chinese version follows below.
Send the current Markdown document in Drafts to Typlog as a draft. One action handles publishing, authors and settings in a single window. Works on iPhone, iPad and Mac.
Features
- Gets the title from metadata or the first H1, and combines Drafts tags with metadata tags. Edit both before sending.
- Remembers default authors for each site; you can change authors for an individual article.
- Updates the linked draft on subsequent runs. Unchanged content preserves manual edits in Typlog. If the linked article has been deleted, you can choose to create a new draft and relink it.
- Processes remote Markdown image links, including captions for standalone images. No image file uploads.
- English, Simplified Chinese and Traditional Chinese interfaces. Select a language under Settings → Language.
Metadata (optional)
Metadata is a block at the very beginning of the document, enclosed between two lines containing ::: (three colons). Write one key: value per line, using an English colon:
:::
title: Article title
tags: Notes, Writing
format: markdown
:::
Article body goes here.
All fields are optional. Separate tags with commas; tag also works. You can also use :::typlog-shortcut as the opening line and ::: as the closing line, or use --- for both. Only simple single-line values are supported, not YAML lists or multiline values. The metadata block is excluded from the submitted body.
Setup
- Sign in to Typlog. On the API token page, click + New token, enter a name, and select the
profileandsitepermissions. - Enable XML-RPC in your site’s Settings → Integrations. Keep iCloud Drive available for preferences and draft links.
- Run Typlog Publisher in Drafts and enter your token in the native credentials dialog on first use.
- Check the site, title, tags and authors, then click Create draft or Update draft. Preview and publish the article in Typlog admin.
Expand Settings to change the site, default authors or language, or to forget the token and authorize again next time. Save settings changes preferences without sending the article. After initial authorization, normal runs use just the one publishing window.
Credentials and privacy
Your token is stored using Drafts’ native Credential system. It is not included when you share the action; each person authorizes with their own token. Do not share the iCloud Drive → Drafts → TyplogPublisher runtime folder, which contains settings and article records.
简体中文
将 Drafts 当前 Markdown 文档推送为 Typlog 草稿。只需一个 Action,在同一窗口中处理推送、作者和设置。适用于 iPhone、iPad 和 Mac。
功能
- 从 metadata 或正文第一个 H1 获取标题,合并 Drafts 原生标签与 metadata 标签;推送前可修改标题和标签。
- 按站点记住默认作者,也可为单篇文章临时修改作者。
- 再次推送更新已关联草稿;内容未变时保留后台手动修改。关联文章已被删除时,可选择新建草稿并重新关联。
- 处理 Markdown 网络图片链接,为独立图片生成图注;不上传图片文件。
- 支持英文、简体中文和繁体中文界面,可在「设置 → 语言」中切换。
metadata(元数据,可选)
metadata 是放在文档最开头、由两行 :::(三个英文冒号)包围的文字。每行写一个 字段: 值,字段名后使用英文冒号:
:::
title: 文章标题
tags: 随笔, 写作
format: markdown
:::
这里开始写正文。
所有字段均可省略。标签用逗号分隔,也可使用 tag 字段。还支持以 :::typlog-shortcut 开头、以 ::: 结尾,或首尾都使用 ---。只支持简单的单行值,不支持 YAML 列表或多行值。metadata 块不会进入推送正文。
首次配置
- 登录 Typlog,在 API 密钥页面 点击「+ 新密钥」,输入名称并勾选
profile与site权限。 - 在站点的 Settings → Integrations 中启用 XML-RPC,并保持 iCloud Drive 可用,以保存偏好和草稿关联。
- 在 Drafts 运行 Typlog Publisher,首次在原生凭据窗口输入 Token。
- 检查站点、标题、标签和作者,点击「创建草稿」或「更新草稿」,再到 Typlog 后台预览与正式发布。
展开「设置」可修改站点、默认作者和语言,也可忘记 Token,让下次运行重新授权。「保存设置」只保存偏好,不推送文章。首次授权后,正常使用仅出现这一个推送窗口。
凭据与隐私
Token 使用 Drafts 原生 Credential 保存,分享 Action 不会包含你的 Token,每位使用者通过自己的 Token 授权。请勿分享 iCloud Drive → Drafts → TyplogPublisher 运行目录,其中包含设置和文章记录。
Steps
-
script
// Drafts Typlog Publisher v0.4.1 // Token is stored with Drafts Credential, never in this script. (function () { const { MarkdownIt, parseFragment, serialize } = (() => { var R0=Object.defineProperty,cu=(u,e)=>{for(var t in e)R0(u,t,{get:e[t],enumerable:!0})},qe={};cu(qe,{arrayReplaceAt:()=>cr,asciiTrim:()=>Gu,assign:()=>Yu,escapeHtml:()=>su,escapeRE:()=>Tr,fromCodePoint:()=>Tu,has:()=>or,isMdAsciiPunct:()=>pu,isPunctChar:()=>at,isPunctCharCode:()=>_u,isSpace:()=>O,isString:()=>fe,isValidEntityCode:()=>de,isWhiteSpace:()=>Fu,lib:()=>Fr,normalizeReference:()=>zu,unescapeAll:()=>hu,unescapeMd:()=>Cr});var Ye={};cu(Ye,{decode:()=>ce,encode:()=>Ve,format:()=>le,parse:()=>Ee});var ze={};function P0(u){let e=ze[u];if(e)return e;e=ze[u]=[];for(let t=0;t<128;t++){const s=String.fromCharCode(t);e.push(s)}for(let t=0;t<u.length;t++){const s=u.charCodeAt(t);e[s]="%"+("0"+s.toString(16).toUpperCase()).slice(-2)}return e}function Uu(u,e){typeof e!="string"&&(e=Uu.defaultChars);const t=P0(e);return u.replace(/(%[a-f0-9]{2})+/gi,function(s){let n="";for(let i=0,a=s.length;i<a;i+=3){const o=parseInt(s.slice(i+1,i+3),16);if(o<128){n+=t[o];continue}if((o&224)===192&&i+3<a){const l=parseInt(s.slice(i+4,i+6),16);if((l&192)===128){const h=o<<6&1984|l&63;h<128?n+="\uFFFD\uFFFD":n+=String.fromCharCode(h),i+=3;continue}}if((o&240)===224&&i+6<a){const l=parseInt(s.slice(i+4,i+6),16),h=parseInt(s.slice(i+7,i+9),16);if((l&192)===128&&(h&192)===128){const f=o<<12&61440|l<<6&4032|h&63;f<2048||f>=55296&&f<=57343?n+="\uFFFD\uFFFD\uFFFD":n+=String.fromCharCode(f),i+=6;continue}}if((o&248)===240&&i+9<a){const l=parseInt(s.slice(i+4,i+6),16),h=parseInt(s.slice(i+7,i+9),16),f=parseInt(s.slice(i+10,i+12),16);if((l&192)===128&&(h&192)===128&&(f&192)===128){let B=o<<18&1835008|l<<12&258048|h<<6&4032|f&63;B<65536||B>1114111?n+="\uFFFD\uFFFD\uFFFD\uFFFD":(B-=65536,n+=String.fromCharCode(55296+(B>>10),56320+(B&1023))),i+=9;continue}}n+="\uFFFD"}return n})}Uu.defaultChars=";/?:@&=+$,#",Uu.componentChars="";var ce=Uu,Ge={};function y0(u){let e=Ge[u];if(e)return e;e=Ge[u]=[];for(let t=0;t<128;t++){const s=String.fromCharCode(t);/^[0-9a-z]$/i.test(s)?e.push(s):e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}for(let t=0;t<u.length;t++)e[u.charCodeAt(t)]=u[t];return e}function wu(u,e,t){typeof e!="string"&&(t=e,e=wu.defaultChars),typeof t=="undefined"&&(t=!0);const s=y0(e);let n="";for(let i=0,a=u.length;i<a;i++){const o=u.charCodeAt(i);if(t&&o===37&&i+2<a&&/^[0-9a-f]{2}$/i.test(u.slice(i+1,i+3))){n+=u.slice(i,i+3),i+=2;continue}if(o<128){n+=s[o];continue}if(o>=55296&&o<=57343){if(o>=55296&&o<=56319&&i+1<a){const l=u.charCodeAt(i+1);if(l>=56320&&l<=57343){n+=encodeURIComponent(u[i]+u[i+1]),i++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(u[i])}return n}wu.defaultChars=";/?:@&=+$,-_.!~*'()#",wu.componentChars="-_.!~*'()";var Ve=wu;function le(u){let e="";return e+=u.protocol||"",e+=u.slashes?"//":"",e+=u.auth?u.auth+"@":"",u.hostname&&u.hostname.indexOf(":")!==-1?e+="["+u.hostname+"]":e+=u.hostname||"",e+=u.port?":"+u.port:"",e+=u.pathname||"",e+=u.search||"",e+=u.hash||"",e}function Hu(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var M0=/^([a-z0-9.+-]+:)/i,v0=/:[0-9]*$/,U0=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,w0=["<",">",'"',"`"," ","\r",` `," "],H0=["{","}","|","\\","^","`"].concat(w0),q0=["'"].concat(H0),Qe=["%","/","?",";","#"].concat(q0),We=["/","?","#"],Y0=255,Xe=/^[+a-z0-9A-Z_-]{0,63}$/,z0=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ke={javascript:!0,"javascript:":!0},$e={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function G0(u,e){if(u&&u instanceof Hu)return u;const t=new Hu;return t.parse(u,e),t}Hu.prototype.parse=function(u,e){let t,s,n,i=u;if(i=i.trim(),!e&&u.split("#").length===1){const h=U0.exec(i);if(h)return this.pathname=h[1],h[2]&&(this.search=h[2]),this}let a=M0.exec(i);if(a&&(a=a[0],t=a.toLowerCase(),this.protocol=a,i=i.substr(a.length)),(e||a||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&(n=i.substr(0,2)==="//",n&&!(a&&Ke[a])&&(i=i.substr(2),this.slashes=!0)),!Ke[a]&&(n||a&&!$e[a])){let h=-1;for(let D=0;D<We.length;D++)s=i.indexOf(We[D]),s!==-1&&(h===-1||s<h)&&(h=s);let f,B;h===-1?B=i.lastIndexOf("@"):B=i.lastIndexOf("@",h),B!==-1&&(f=i.slice(0,B),i=i.slice(B+1),this.auth=f),h=-1;for(let D=0;D<Qe.length;D++)s=i.indexOf(Qe[D]),s!==-1&&(h===-1||s<h)&&(h=s);h===-1&&(h=i.length),i[h-1]===":"&&h--;const _=i.slice(0,h);i=i.slice(h),this.parseHost(_),this.hostname=this.hostname||"";const T=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!T){const D=this.hostname.split(/\./);for(let x=0,b=D.length;x<b;x++){const S=D[x];if(S&&!S.match(Xe)){let g="";for(let p=0,I=S.length;p<I;p++)S.charCodeAt(p)>127?g+="x":g+=S[p];if(!g.match(Xe)){const p=D.slice(0,x),I=D.slice(x+1),N=S.match(z0);N&&(p.push(N[1]),I.unshift(N[2])),I.length&&(i=I.join(".")+i),this.hostname=p.join(".");break}}}}this.hostname.length>Y0&&(this.hostname=""),T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const o=i.indexOf("#");o!==-1&&(this.hash=i.substr(o),i=i.slice(0,o));const l=i.indexOf("?");return l!==-1&&(this.search=i.substr(l),i=i.slice(0,l)),i&&(this.pathname=i),$e[t]&&this.hostname&&!this.pathname&&(this.pathname=""),this},Hu.prototype.parseHost=function(u){let e=v0.exec(u);e&&(e=e[0],e!==":"&&(this.port=e.substr(1)),u=u.substr(0,u.length-e.length)),u&&(this.hostname=u)};var Ee=G0,je={};cu(je,{Any:()=>Ze,Cc:()=>Je,Cf:()=>V0,P:()=>Ae,S:()=>ut,Z:()=>et});var Ze=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Je=/[\0-\x1F\x7F-\x9F]/,V0=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Ae=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,ut=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,et=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Q0=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(u=>u.charCodeAt(0))),W0=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(u=>u.charCodeAt(0))),he,X0=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),K0=(he=String.fromCodePoint)!==null&&he!==void 0?he:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function $0(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=X0.get(u))!==null&&e!==void 0?e:u}var y;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(y||(y={}));var j0=32,ru;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(ru||(ru={}));function Ce(u){return u>=y.ZERO&&u<=y.NINE}function Z0(u){return u>=y.UPPER_A&&u<=y.UPPER_F||u>=y.LOWER_A&&u<=y.LOWER_F}function J0(u){return u>=y.UPPER_A&&u<=y.UPPER_Z||u>=y.LOWER_A&&u<=y.LOWER_Z||Ce(u)}function ur(u){return u===y.EQUALS||J0(u)}var M;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(M||(M={}));var J;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(J||(J={}));var er=class{constructor(u,e,t){this.decodeTree=u,this.emitCodePoint=e,this.errors=t,this.state=M.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=J.Strict}startEntity(u){this.decodeMode=u,this.state=M.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(u,e){switch(this.state){case M.EntityStart:return u.charCodeAt(e)===y.NUM?(this.state=M.NumericStart,this.consumed+=1,this.stateNumericStart(u,e+1)):(this.state=M.NamedEntity,this.stateNamedEntity(u,e));case M.NumericStart:return this.stateNumericStart(u,e);case M.NumericDecimal:return this.stateNumericDecimal(u,e);case M.NumericHex:return this.stateNumericHex(u,e);case M.NamedEntity:return this.stateNamedEntity(u,e)}}stateNumericStart(u,e){return e>=u.length?-1:(u.charCodeAt(e)|j0)===y.LOWER_X?(this.state=M.NumericHex,this.consumed+=1,this.stateNumericHex(u,e+1)):(this.state=M.NumericDecimal,this.stateNumericDecimal(u,e))}addToNumericResult(u,e,t,s){if(e!==t){const n=t-e;this.result=this.result*Math.pow(s,n)+parseInt(u.substr(e,n),s),this.consumed+=n}}stateNumericHex(u,e){const t=e;for(;e<u.length;){const s=u.charCodeAt(e);if(Ce(s)||Z0(s))e+=1;else return this.addToNumericResult(u,t,e,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(u,t,e,16),-1}stateNumericDecimal(u,e){const t=e;for(;e<u.length;){const s=u.charCodeAt(e);if(Ce(s))e+=1;else return this.addToNumericResult(u,t,e,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(u,t,e,10),-1}emitNumericEntity(u,e){var t;if(this.consumed<=e)return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(u===y.SEMI)this.consumed+=1;else if(this.decodeMode===J.Strict)return 0;return this.emitCodePoint($0(this.result),this.consumed),this.errors&&(u!==y.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(u,e){const{decodeTree:t}=this;let s=t[this.treeIndex],n=(s&ru.VALUE_LENGTH)>>14;for(;e<u.length;e++,this.excess++){const i=u.charCodeAt(e);if(this.treeIndex=tr(t,s,this.treeIndex+Math.max(1,n),i),this.treeIndex<0)return this.result===0||this.decodeMode===J.Attribute&&(n===0||ur(i))?0:this.emitNotTerminatedNamedEntity();if(s=t[this.treeIndex],n=(s&ru.VALUE_LENGTH)>>14,n!==0){if(i===y.SEMI)return this.emitNamedEntityData(this.treeIndex,n,this.consumed+this.excess);this.decodeMode!==J.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var u;const{result:e,decodeTree:t}=this,s=(t[e]&ru.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,s,this.consumed),(u=this.errors)===null||u===void 0||u.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(u,e,t){const{decodeTree:s}=this;return this.emitCodePoint(e===1?s[u]&~ru.VALUE_LENGTH:s[u+1],t),e===3&&this.emitCodePoint(s[u+2],t),t}end(){var u;switch(this.state){case M.NamedEntity:return this.result!==0&&(this.decodeMode!==J.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case M.NumericDecimal:return this.emitNumericEntity(0,2);case M.NumericHex:return this.emitNumericEntity(0,3);case M.NumericStart:return(u=this.errors)===null||u===void 0||u.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case M.EntityStart:return 0}}};function tt(u){let e="";const t=new er(u,s=>e+=K0(s));return function(n,i){let a=0,o=0;for(;(o=n.indexOf("&",o))>=0;){e+=n.slice(a,o),t.startEntity(i);const h=t.write(n,o+1);if(h<0){a=o+t.end();break}a=o+h,o=h===0?a+1:a}const l=e+n.slice(a);return e="",l}}function tr(u,e,t,s){const n=(e&ru.BRANCH_LENGTH)>>7,i=e&ru.JUMP_TABLE;if(n===0)return i!==0&&s===i?t:-1;if(i){const l=s-i;return l<0||l>=n?-1:u[t+l]-1}let a=t,o=a+n-1;for(;a<=o;){const l=a+o>>>1,h=u[l];if(h<s)a=l+1;else if(h>s)o=l-1;else return u[l+n]}return-1}var rt=tt(Q0),Bo=tt(W0);function rr(u,e=J.Legacy){return rt(u,e)}function sr(u){return rt(u,J.Strict)}function qu(u){for(let e=1;e<u.length;e++)u[e][0]+=u[e-1][0]+1;return u}var mo=new Map(qu([[9,"	"],[0,"
"],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(qu([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(qu([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(qu([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]])),nr=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),To=String.prototype.codePointAt!=null?(u,e)=>u.codePointAt(e):((u,e)=>(u.charCodeAt(e)&64512)===55296?(u.charCodeAt(e)-55296)*1024+u.charCodeAt(e+1)-56320+65536:u.charCodeAt(e));function De(u,e){return function(s){let n,i=0,a="";for(;n=u.exec(s);)i!==n.index&&(a+=s.substring(i,n.index)),a+=e.get(n[0].charCodeAt(0)),i=n.index+1;return a+s.substring(i)}}var Fo=De(/[&<>'"]/g,nr),_o=De(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),po=De(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),st;(function(u){u[u.XML=0]="XML",u[u.HTML=1]="HTML"})(st||(st={}));var nt;(function(u){u[u.UTF8=0]="UTF8",u[u.ASCII=1]="ASCII",u[u.Extensive=2]="Extensive",u[u.Attribute=3]="Attribute",u[u.Text=4]="Text"})(nt||(nt={}));function ir(u){return Object.prototype.toString.call(u)}function fe(u){return ir(u)==="[object String]"}var ar=Object.prototype.hasOwnProperty;function or(u,e){return ar.call(u,e)}function Yu(u){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!="object")throw new TypeError(t+"must be object");Object.keys(t).forEach(function(s){u[s]=t[s]})}}),u}function cr(u,e,t){return[].concat(u.slice(0,e),t,u.slice(e+1))}function de(u){return!(u>=55296&&u<=57343||u>=64976&&u<=65007||(u&65535)===65535||(u&65535)===65534||u>=0&&u<=8||u===11||u>=14&&u<=31||u>=127&&u<=159||u>1114111)}function Tu(u){if(u>65535){u-=65536;const e=55296+(u>>10),t=56320+(u&1023);return String.fromCharCode(e,t)}return String.fromCharCode(u)}var it=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,lr=/&([a-z#][a-z0-9]{1,31});/gi,Er=new RegExp(it.source+"|"+lr.source,"gi"),Ar=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function hr(u,e){if(e.charCodeAt(0)===35&&Ar.test(e)){const s=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);return de(s)?Tu(s):u}const t=rr(u);return t!==u?t:u}function Cr(u){return u.indexOf("\\")<0?u:u.replace(it,"$1")}function hu(u){return u.indexOf("\\")<0&&u.indexOf("&")<0?u:u.replace(Er,function(e,t,s){return t||hr(e,s)})}var Dr=/[&<>"]/,fr=/[&<>"]/g,dr={"&":"&","<":"<",">":">",'"':"""};function Br(u){return dr[u]}function su(u){return Dr.test(u)?u.replace(fr,Br):u}var mr=/[.?*+^$[\]\\(){}|-]/g;function Tr(u){return u.replace(mr,"\\$&")}function O(u){switch(u){case 9:case 32:return!0}return!1}function Fu(u){if(u>=8192&&u<=8202)return!0;switch(u){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function at(u){return Ae.test(u)||ut.test(u)}function _u(u){return at(Tu(u))}function pu(u){switch(u){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function zu(u){return u=u.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(u=u.replace(/ẞ/g,"\xDF")),u.toLowerCase().toUpperCase()}function ot(u){return u===32||u===9||u===10||u===13}function Gu(u){let e=0;for(;e<u.length&&ot(u.charCodeAt(e));e++);let t=u.length-1;for(;t>=e&&ot(u.charCodeAt(t));t--);return u.slice(e,t+1)}var Fr={mdurl:Ye,ucmicro:je},ct={};cu(ct,{parseLinkDestination:()=>pr,parseLinkLabel:()=>_r,parseLinkTitle:()=>gr});function _r(u,e,t){let s,n,i,a;const o=u.posMax,l=u.pos;for(u.pos=e+1,s=1;u.pos<o;){if(i=u.src.charCodeAt(u.pos),i===93&&(s--,s===0)){n=!0;break}if(a=u.pos,u.md.inline.skipToken(u),i===91){if(a===u.pos-1)s++;else if(t)return u.pos=l,-1}}let h=-1;return n&&(h=u.pos),u.pos=l,h}function pr(u,e,t){let s,n=e;const i={ok:!1,pos:0,str:""};if(u.charCodeAt(n)===60){for(n++;n<t;){if(s=u.charCodeAt(n),s===10||s===60)return i;if(s===62)return i.pos=n+1,i.str=hu(u.slice(e+1,n)),i.ok=!0,i;if(s===92&&n+1<t){n+=2;continue}n++}return i}let a=0;for(;n<t&&(s=u.charCodeAt(n),!(s===32||s<32||s===127));){if(s===92&&n+1<t){if(u.charCodeAt(n+1)===32){n++;continue}n+=2;continue}if(s===40&&(a++,a>32))return i;if(s===41){if(a===0)break;a--}n++}return e===n||a!==0||(i.str=hu(u.slice(e,n)),i.pos=n,i.ok=!0),i}function gr(u,e,t,s){let n,i=e;const a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(s)a.str=s.str,a.marker=s.marker;else{if(i>=t)return a;let o=u.charCodeAt(i);if(o!==34&&o!==39&&o!==40)return a;e++,i++,o===40&&(o=41),a.marker=o}for(;i<t;){if(n=u.charCodeAt(i),n===a.marker)return a.pos=i+1,a.str+=hu(u.slice(e,i)),a.ok=!0,a;if(n===40&&a.marker===41)return a;n===92&&i+1<t&&i++,i++}return a.can_continue=!0,a.str+=hu(u.slice(e,i)),a}var X={};X.code_inline=function(u,e,t,s,n){const i=u[e];return"<code"+n.renderAttrs(i)+">"+su(i.content)+"</code>"},X.code_block=function(u,e,t,s,n){const i=u[e];return"<pre"+n.renderAttrs(i)+"><code>"+su(u[e].content)+`</code></pre> `},X.fence=function(u,e,t,s,n){const i=u[e],a=i.info?hu(i.info).trim():"";let o="",l="";if(a){const f=a.split(/(\s+)/g);o=f[0],l=f.slice(2).join("")}let h;if(t.highlight?h=t.highlight(i.content,o,l)||su(i.content):h=su(i.content),h.indexOf("<pre")===0)return h+` `;if(a){const f=i.attrIndex("class"),B=i.attrs?i.attrs.slice():[];f<0?B.push(["class",t.langPrefix+o]):(B[f]=B[f].slice(),B[f][1]+=" "+t.langPrefix+o);const _={attrs:B};return`<pre><code${n.renderAttrs(_)}>${h}</code></pre> `}return`<pre><code${n.renderAttrs(i)}>${h}</code></pre> `},X.image=function(u,e,t,s,n){const i=u[e];return i.attrs[i.attrIndex("alt")][1]=n.renderInlineAsText(i.children,t,s),n.renderToken(u,e,t)},X.hardbreak=function(u,e,t){return t.xhtmlOut?`<br /> `:`<br> `},X.softbreak=function(u,e,t){return t.breaks?t.xhtmlOut?`<br /> `:`<br> `:` `},X.text=function(u,e){return su(u[e].content)},X.html_block=function(u,e){return u[e].content},X.html_inline=function(u,e){return u[e].content};function Cu(){this.rules=Yu({},X)}Cu.prototype.renderAttrs=function(e){let t,s,n;if(!e.attrs)return"";for(n="",t=0,s=e.attrs.length;t<s;t++)n+=" "+su(e.attrs[t][0])+'="'+su(e.attrs[t][1])+'"';return n},Cu.prototype.renderToken=function(e,t,s){const n=e[t];let i="";if(n.hidden)return"";n.block&&n.nesting!==-1&&t&&e[t-1].hidden&&(i+=` `),i+=(n.nesting===-1?"</":"<")+n.tag,i+=this.renderAttrs(n),n.nesting===0&&s.xhtmlOut&&(i+=" /");let a=!1;if(n.block&&(a=!0,n.nesting===1&&t+1<e.length)){const o=e[t+1];(o.type==="inline"||o.hidden||o.nesting===-1&&o.tag===n.tag)&&(a=!1)}return i+=a?`> `:">",i},Cu.prototype.renderInline=function(u,e,t){let s="";const n=this.rules;for(let i=0,a=u.length;i<a;i++){const o=u[i].type;typeof n[o]!="undefined"?s+=n[o](u,i,e,t,this):s+=this.renderToken(u,i,e)}return s},Cu.prototype.renderInlineAsText=function(u,e,t){let s="";for(let n=0,i=u.length;n<i;n++)switch(u[n].type){case"text":s+=u[n].content;break;case"image":s+=this.renderInlineAsText(u[n].children,e,t);break;case"html_inline":case"html_block":s+=u[n].content;break;case"softbreak":case"hardbreak":s+=` `;break;default:}return s},Cu.prototype.render=function(u,e,t){let s="";const n=this.rules;for(let i=0,a=u.length;i<a;i++){const o=u[i].type;o==="inline"?s+=this.renderInline(u[i].children,e,t):typeof n[o]!="undefined"?s+=n[o](u,i,e,t,this):s+=this.renderToken(u,i,e,t)}return s};var Ir=Cu;function Q(){this.__rules__=[],this.__cache__=null}Q.prototype.__find__=function(u){for(let e=0;e<this.__rules__.length;e++)if(this.__rules__[e].name===u)return e;return-1},Q.prototype.__compile__=function(){const u=this,e=[""];u.__rules__.forEach(function(t){t.enabled&&t.alt.forEach(function(s){e.indexOf(s)<0&&e.push(s)})}),u.__cache__={},e.forEach(function(t){u.__cache__[t]=[],u.__rules__.forEach(function(s){s.enabled&&(t&&s.alt.indexOf(t)<0||u.__cache__[t].push(s.fn))})})},Q.prototype.at=function(u,e,t){const s=this.__find__(u),n=t||{};if(s===-1)throw new Error("Parser rule not found: "+u);this.__rules__[s].fn=e,this.__rules__[s].alt=n.alt||[],this.__cache__=null},Q.prototype.before=function(u,e,t,s){const n=this.__find__(u),i=s||{};if(n===-1)throw new Error("Parser rule not found: "+u);this.__rules__.splice(n,0,{name:e,enabled:!0,fn:t,alt:i.alt||[]}),this.__cache__=null},Q.prototype.after=function(u,e,t,s){const n=this.__find__(u),i=s||{};if(n===-1)throw new Error("Parser rule not found: "+u);this.__rules__.splice(n+1,0,{name:e,enabled:!0,fn:t,alt:i.alt||[]}),this.__cache__=null},Q.prototype.push=function(u,e,t){const s=t||{};this.__rules__.push({name:u,enabled:!0,fn:e,alt:s.alt||[]}),this.__cache__=null},Q.prototype.enable=function(u,e){Array.isArray(u)||(u=[u]);const t=[];return u.forEach(function(s){const n=this.__find__(s);if(n<0){if(e)return;throw new Error("Rules manager: invalid rule name "+s)}this.__rules__[n].enabled=!0,t.push(s)},this),this.__cache__=null,t},Q.prototype.enableOnly=function(u,e){Array.isArray(u)||(u=[u]),this.__rules__.forEach(function(t){t.enabled=!1}),this.enable(u,e)},Q.prototype.disable=function(u,e){Array.isArray(u)||(u=[u]);const t=[];return u.forEach(function(s){const n=this.__find__(s);if(n<0){if(e)return;throw new Error("Rules manager: invalid rule name "+s)}this.__rules__[n].enabled=!1,t.push(s)},this),this.__cache__=null,t},Q.prototype.getRules=function(u){return this.__cache__===null&&this.__compile__(),this.__cache__[u]||[]};var Vu=Q;function Du(u,e,t){this.type=u,this.tag=e,this.attrs=null,this.map=null,this.nesting=t,this.level=0,this.children=null,this.content="",this.markup="",this.info="",this.meta=null,this.block=!1,this.hidden=!1}Du.prototype.attrIndex=function(e){if(!this.attrs)return-1;const t=this.attrs;for(let s=0,n=t.length;s<n;s++)if(t[s][0]===e)return s;return-1},Du.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},Du.prototype.attrSet=function(e,t){const s=this.attrIndex(e),n=[e,t];s<0?this.attrPush(n):this.attrs[s]=n},Du.prototype.attrGet=function(e){const t=this.attrIndex(e);let s=null;return t>=0&&(s=this.attrs[t][1]),s},Du.prototype.attrJoin=function(e,t){const s=this.attrIndex(e);s<0?this.attrPush([e,t]):this.attrs[s][1]=this.attrs[s][1]+" "+t};var fu=Du;function lt(u,e,t){this.src=u,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=e}lt.prototype.Token=fu;var Nr=lt,br=/\r\n?|\n/g,xr=/\0/g;function Sr(u){let e;e=u.src.replace(br,` `),e=e.replace(xr,"\uFFFD"),u.src=e}function kr(u){let e;u.inlineMode?(e=new u.Token("inline","",0),e.content=u.src,e.map=[0,1],e.children=[],u.tokens.push(e)):u.md.block.parse(u.src,u.md,u.env,u.tokens)}function Lr(u){const e=u.tokens;for(let t=0,s=e.length;t<s;t++){const n=e[t];n.type==="inline"&&u.md.inline.parse(n.content,u.md,u.env,n.children)}}function Or(u){return/^<a[>\s]/i.test(u)}function Rr(u){return/^<\/a\s*>/i.test(u)}function Pr(u){const e=u.tokens;if(u.md.options.linkify)for(let t=0,s=e.length;t<s;t++){if(e[t].type!=="inline"||!u.md.linkify.pretest(e[t].content))continue;const n=e[t].children,i=[];let a=0;for(let o=n.length-1;o>=0;o--){const l=n[o];if(l.type==="link_close"){for(o--;n[o].level!==l.level&&n[o].type!=="link_open";)o--;continue}if(l.type==="html_inline"&&(Or(l.content)&&a>0&&a--,Rr(l.content)&&a++),!(a>0)&&l.type==="text"&&u.md.linkify.test(l.content)){const h=l.content;let f=u.md.linkify.match(h);const B=[];let _=l.level,T=0;f.length>0&&f[0].index===0&&o>0&&n[o-1].type==="text_special"&&(f=f.slice(1));for(let D=0;D<f.length;D++){const x=f[D].url,b=u.md.normalizeLink(x);if(!u.md.validateLink(b))continue;let S=f[D].text;f[D].schema?f[D].schema==="mailto:"&&!/^mailto:/i.test(S)?S=u.md.normalizeLinkText("mailto:"+S).replace(/^mailto:/,""):S=u.md.normalizeLinkText(S):S=u.md.normalizeLinkText("http://"+S).replace(/^http:\/\//,"");const g=f[D].index;if(g>T){const k=new u.Token("text","",0);k.content=h.slice(T,g),k.level=_,B.push(k)}const p=new u.Token("link_open","a",1);p.attrs=[["href",b]],p.level=_++,p.markup="linkify",p.info="auto",B.push(p);const I=new u.Token("text","",0);I.content=S,I.level=_,B.push(I);const N=new u.Token("link_close","a",-1);N.level=--_,N.markup="linkify",N.info="auto",B.push(N),T=f[D].lastIndex}if(T<h.length){const D=new u.Token("text","",0);D.content=h.slice(T),D.level=_,B.push(D)}i.push({index:o,nodes:B})}}if(i.length>0){let o=n.length;for(const B of i)o+=B.nodes.length-1;const l=new Array(o);let h=0,f=0;i.reverse();for(let B=0;B<n.length;B++){const _=i[h];if((_==null?void 0:_.index)===B){for(const T of _.nodes)l[f++]=T;h++}else l[f++]=n[B]}e[t].children=l}}}var Et=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,yr=/\((c|tm|r)\)/i,Mr=/\((c|tm|r)\)/ig,vr={c:"\xA9",r:"\xAE",tm:"\u2122"};function Ur(u,e){return vr[e.toLowerCase()]}function wr(u){let e=0;for(let t=u.length-1;t>=0;t--){const s=u[t];s.type==="text"&&!e&&(s.content=s.content.replace(Mr,Ur)),s.type==="link_open"&&s.info==="auto"&&e--,s.type==="link_close"&&s.info==="auto"&&e++}}function Hr(u){let e=0;for(let t=u.length-1;t>=0;t--){const s=u[t];s.type==="text"&&!e&&Et.test(s.content)&&(s.content=s.content.replace(/\+-/g,"\xB1").replace(/\.{2,}/g,"\u2026").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1\u2014").replace(/(^|\s)--(?=\s|$)/mg,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1\u2013")),s.type==="link_open"&&s.info==="auto"&&e--,s.type==="link_close"&&s.info==="auto"&&e++}}function qr(u){let e;if(u.md.options.typographer)for(e=u.tokens.length-1;e>=0;e--)u.tokens[e].type==="inline"&&(yr.test(u.tokens[e].content)&&wr(u.tokens[e].children),Et.test(u.tokens[e].content)&&Hr(u.tokens[e].children))}var Yr=/['"]/,At=/['"]/g,ht="\u2019",zr=1e3;function Ct(u,e,t){for(;u.length>t;){const s=u.pop();s.isSingleQuote?e.single=s.prevSameQuoteIdx:e.double=s.prevSameQuoteIdx}}function Qu(u,e,t,s){u[e]||(u[e]=[]),u[e].push({pos:t,ch:s})}function Gr(u,e){let t="",s=0;e.sort((n,i)=>n.pos-i.pos);for(let n=0;n<e.length;n++){const i=e[n];t+=u.slice(s,i.pos)+i.ch,s=i.pos+1}return t+u.slice(s)}function Vr(u,e){let t;const s=[],n={single:-1,double:-1},i={};for(let a=0;a<u.length;a++){const o=u[a],l=u[a].level;for(t=s.length-1;t>=0&&!(s[t].level<=l);t--);if(Ct(s,n,t+1),o.type!=="text")continue;const h=o.content;let f=0;const B=h.length;u:for(;f<B;){At.lastIndex=f;const _=At.exec(h);if(!_)break;let T=!0,D=!0;f=_.index+1;const x=_[0]==="'";let b=32;if(_.index-1>=0)b=h.charCodeAt(_.index-1);else for(t=a-1;t>=0&&!(u[t].type==="softbreak"||u[t].type==="hardbreak");t--)if(u[t].content){b=u[t].content.charCodeAt(u[t].content.length-1);break}let S=32;if(f<B)S=h.charCodeAt(f);else for(t=a+1;t<u.length&&!(u[t].type==="softbreak"||u[t].type==="hardbreak");t++)if(u[t].content){S=u[t].content.charCodeAt(0);break}const g=pu(b)||_u(b),p=pu(S)||_u(S),I=Fu(b),N=Fu(S);if(N?T=!1:p&&(I||g||(T=!1)),I?D=!1:g&&(N||p||(D=!1)),S===34&&_[0]==='"'&&b>=48&&b<=57&&(D=T=!1),T&&D&&(T=g,D=p),!T&&!D){x&&Qu(i,a,_.index,ht);continue}if(D&&(t=x?n.single:n.double,t>=0&&s[t].level===l)){const k=s[t];let P,H;x?(P=e.md.options.quotes[2],H=e.md.options.quotes[3]):(P=e.md.options.quotes[0],H=e.md.options.quotes[1]),Qu(i,a,_.index,H),Qu(i,k.tokenIdx,k.contentPos,P),Ct(s,n,t);continue u}if(T){if(s.length>=zr)return;s.push({tokenIdx:a,contentPos:_.index,isSingleQuote:x,level:l,prevSameQuoteIdx:x?n.single:n.double}),x?n.single=s.length-1:n.double=s.length-1}else D&&x&&Qu(i,a,_.index,ht)}}Object.keys(i).forEach(function(a){u[a].content=Gr(u[a].content,i[a])})}function Qr(u){if(u.md.options.typographer)for(let e=u.tokens.length-1;e>=0;e--)u.tokens[e].type!=="inline"||!Yr.test(u.tokens[e].content)||Vr(u.tokens[e].children,u)}function Wr(u){let e,t;const s=u.tokens,n=s.length;for(let i=0;i<n;i++){if(s[i].type!=="inline")continue;const a=s[i].children,o=a.length;for(e=0;e<o;e++)a[e].type==="text_special"&&(a[e].type="text");for(e=t=0;e<o;e++)a[e].type==="text"&&e+1<o&&a[e+1].type==="text"?a[e+1].content=a[e].content+a[e+1].content:(e!==t&&(a[t]=a[e]),t++);e!==t&&(a.length=t)}}var Be=[["normalize",Sr],["block",kr],["inline",Lr],["linkify",Pr],["replacements",qr],["smartquotes",Qr],["text_join",Wr]];function me(){this.ruler=new Vu;for(let u=0;u<Be.length;u++)this.ruler.push(Be[u][0],Be[u][1])}me.prototype.process=function(u){const e=this.ruler.getRules("");for(let t=0,s=e.length;t<s;t++)e[t](u)},me.prototype.State=Nr;var Xr=me;function K(u,e,t,s){this.src=u,this.md=e,this.env=t,this.tokens=s,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType="root",this.level=0;const n=this.src;for(let i=0,a=0,o=0,l=0,h=n.length,f=!1;a<h;a++){const B=n.charCodeAt(a);if(!f)if(O(B)){o++,B===9?l+=4-l%4:l++;continue}else f=!0;(B===10||a===h-1)&&(B!==10&&a++,this.bMarks.push(i),this.eMarks.push(a),this.tShift.push(o),this.sCount.push(l),this.bsCount.push(0),f=!1,o=0,l=0,i=a+1)}this.bMarks.push(n.length),this.eMarks.push(n.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}K.prototype.push=function(u,e,t){const s=new fu(u,e,t);return s.block=!0,t<0&&this.level--,s.level=this.level,t>0&&this.level++,this.tokens.push(s),s},K.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},K.prototype.skipEmptyLines=function(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},K.prototype.skipSpaces=function(e){for(let t=this.src.length;e<t;e++){const s=this.src.charCodeAt(e);if(!O(s))break}return e},K.prototype.skipSpacesBack=function(e,t){if(e<=t)return e;for(;e>t;)if(!O(this.src.charCodeAt(--e)))return e+1;return e},K.prototype.skipChars=function(e,t){for(let s=this.src.length;e<s&&this.src.charCodeAt(e)===t;e++);return e},K.prototype.skipCharsBack=function(e,t,s){if(e<=s)return e;for(;e>s;)if(t!==this.src.charCodeAt(--e))return e+1;return e},K.prototype.getLines=function(e,t,s,n){if(e>=t)return"";const i=new Array(t-e);for(let a=0,o=e;o<t;o++,a++){let l=0;const h=this.bMarks[o];let f=h,B;for(o+1<t||n?B=this.eMarks[o]+1:B=this.eMarks[o];f<B&&l<s;){const _=this.src.charCodeAt(f);if(O(_))_===9?l+=4-(l+this.bsCount[o])%4:l++;else if(f-h<this.tShift[o])l++;else break;f++}l>s?i[a]=new Array(l-s+1).join(" ")+this.src.slice(f,B):i[a]=this.src.slice(f,B)}return i.join("")},K.prototype.Token=fu;var Kr=K,$r=65536;function Te(u,e){const t=u.bMarks[e]+u.tShift[e],s=u.eMarks[e];return u.src.slice(t,s)}function Dt(u){const e=[],t=u.length;let s=0,n=u.charCodeAt(s),i=!1,a=0,o="";for(;s<t;)n===124&&(i?(o+=u.substring(a,s-1),a=s):(e.push(o+u.substring(a,s)),o="",a=s+1)),i=n===92,s++,n=u.charCodeAt(s);return e.push(o+u.substring(a)),e}function jr(u,e,t,s){if(e+2>t)return!1;let n=e+1;if(u.sCount[n]<u.blkIndent||u.sCount[n]-u.blkIndent>=4)return!1;let i=u.bMarks[n]+u.tShift[n];if(i>=u.eMarks[n])return!1;const a=u.src.charCodeAt(i++);if(a!==124&&a!==45&&a!==58||i>=u.eMarks[n])return!1;const o=u.src.charCodeAt(i++);if(o!==124&&o!==45&&o!==58&&!O(o)||a===45&&O(o))return!1;for(;i<u.eMarks[n];){const I=u.src.charCodeAt(i);if(I!==124&&I!==45&&I!==58&&!O(I))return!1;i++}let l=Te(u,e+1),h=l.split("|");const f=[];for(let I=0;I<h.length;I++){const N=h[I].trim();if(!N){if(I===0||I===h.length-1)continue;return!1}if(!/^:?-+:?$/.test(N))return!1;N.charCodeAt(N.length-1)===58?f.push(N.charCodeAt(0)===58?"center":"right"):N.charCodeAt(0)===58?f.push("left"):f.push("")}if(l=Te(u,e).trim(),l.indexOf("|")===-1||u.sCount[e]-u.blkIndent>=4)return!1;h=Dt(l),h.length&&h[0]===""&&h.shift(),h.length&&h[h.length-1]===""&&h.pop();const B=h.length;if(B===0||B!==f.length)return!1;if(s)return!0;const _=u.parentType;u.parentType="table";const T=u.md.block.ruler.getRules("blockquote"),D=u.push("table_open","table",1),x=[e,0];D.map=x;const b=u.push("thead_open","thead",1);b.map=[e,e+1];const S=u.push("tr_open","tr",1);S.map=[e,e+1];for(let I=0;I<h.length;I++){const N=u.push("th_open","th",1);f[I]&&(N.attrs=[["style","text-align:"+f[I]]]);const k=u.push("inline","",0);k.content=h[I].trim(),k.children=[],u.push("th_close","th",-1)}u.push("tr_close","tr",-1),u.push("thead_close","thead",-1);let g,p=0;for(n=e+2;n<t&&!(u.sCount[n]<u.blkIndent);n++){let I=!1;for(let k=0,P=T.length;k<P;k++)if(T[k](u,n,t,!0)){I=!0;break}if(I||(l=Te(u,n).trim(),!l)||u.sCount[n]-u.blkIndent>=4||(h=Dt(l),h.length&&h[0]===""&&h.shift(),h.length&&h[h.length-1]===""&&h.pop(),p+=B-h.length,p>$r))break;if(n===e+2){const k=u.push("tbody_open","tbody",1);k.map=g=[e+2,0]}const N=u.push("tr_open","tr",1);N.map=[n,n+1];for(let k=0;k<B;k++){const P=u.push("td_open","td",1);f[k]&&(P.attrs=[["style","text-align:"+f[k]]]);const H=u.push("inline","",0);H.content=h[k]?h[k].trim():"",H.children=[],u.push("td_close","td",-1)}u.push("tr_close","tr",-1)}return g&&(u.push("tbody_close","tbody",-1),g[1]=n),u.push("table_close","table",-1),x[1]=n,u.parentType=_,u.line=n,!0}function Zr(u,e,t){if(u.sCount[e]-u.blkIndent<4)return!1;let s=e+1,n=s;for(;s<t;){if(u.isEmpty(s)){s++;continue}if(u.sCount[s]-u.blkIndent>=4){s++,n=s;continue}break}u.line=n;const i=u.push("code_block","code",0);return i.content=u.getLines(e,n,4+u.blkIndent,!1)+` `,i.map=[e,u.line],!0}function Jr(u,e,t,s){let n=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||n+3>i)return!1;const a=u.src.charCodeAt(n);if(a!==126&&a!==96)return!1;let o=n;n=u.skipChars(n,a);let l=n-o;if(l<3)return!1;const h=u.src.slice(o,n),f=u.src.slice(n,i);if(a===96&&f.indexOf(String.fromCharCode(a))>=0)return!1;if(s)return!0;let B=e,_=!1;for(;B++,!(B>=t||(n=o=u.bMarks[B]+u.tShift[B],i=u.eMarks[B],n<i&&u.sCount[B]<u.blkIndent));)if(u.src.charCodeAt(n)===a&&!(u.sCount[B]-u.blkIndent>=4)&&(n=u.skipChars(n,a),!(n-o<l)&&(n=u.skipSpaces(n),!(n<i)))){_=!0;break}l=u.sCount[e],u.line=B+(_?1:0);const T=u.push("fence","code",0);return T.info=f,T.content=u.getLines(e+1,B,l,!0),T.markup=h,T.map=[e,u.line],!0}function us(u,e,t,s){let n=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];const a=u.lineMax;if(u.sCount[e]-u.blkIndent>=4||u.src.charCodeAt(n)!==62)return!1;if(s)return!0;const o=[],l=[],h=[],f=[],B=u.md.block.ruler.getRules("blockquote"),_=u.parentType;u.parentType="blockquote";let T=!1,D;for(D=e;D<t;D++){const p=u.sCount[D]<u.blkIndent;if(n=u.bMarks[D]+u.tShift[D],i=u.eMarks[D],n>=i)break;if(u.src.charCodeAt(n++)===62&&!p){let N=u.sCount[D]+1,k,P;u.src.charCodeAt(n)===32?(n++,N++,P=!1,k=!0):u.src.charCodeAt(n)===9?(k=!0,(u.bsCount[D]+N)%4===3?(n++,N++,P=!1):P=!0):k=!1;let H=N;for(o.push(u.bMarks[D]),u.bMarks[D]=n;n<i;){const tu=u.src.charCodeAt(n);if(O(tu))tu===9?H+=4-(H+u.bsCount[D]+(P?1:0))%4:H++;else break;n++}T=n>=i,l.push(u.bsCount[D]),u.bsCount[D]=u.sCount[D]+1+(k?1:0),h.push(u.sCount[D]),u.sCount[D]=H-N,f.push(u.tShift[D]),u.tShift[D]=n-u.bMarks[D];continue}if(T)break;let I=!1;for(let N=0,k=B.length;N<k;N++)if(B[N](u,D,t,!0)){I=!0;break}if(I){u.lineMax=D,u.blkIndent!==0&&(o.push(u.bMarks[D]),l.push(u.bsCount[D]),f.push(u.tShift[D]),h.push(u.sCount[D]),u.sCount[D]-=u.blkIndent);break}o.push(u.bMarks[D]),l.push(u.bsCount[D]),f.push(u.tShift[D]),h.push(u.sCount[D]),u.sCount[D]=-1}const x=u.blkIndent;u.blkIndent=0;const b=u.push("blockquote_open","blockquote",1);b.markup=">";const S=[e,0];b.map=S,u.md.block.tokenize(u,e,D);const g=u.push("blockquote_close","blockquote",-1);g.markup=">",u.lineMax=a,u.parentType=_,S[1]=u.line;for(let p=0;p<f.length;p++)u.bMarks[p+e]=o[p],u.tShift[p+e]=f[p],u.sCount[p+e]=h[p],u.bsCount[p+e]=l[p];return u.blkIndent=x,!0}function es(u,e,t,s){const n=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4)return!1;let i=u.bMarks[e]+u.tShift[e];const a=u.src.charCodeAt(i++);if(a!==42&&a!==45&&a!==95)return!1;let o=1;for(;i<n;){const h=u.src.charCodeAt(i++);if(h!==a&&!O(h))return!1;h===a&&o++}if(o<3)return!1;if(s)return!0;u.line=e+1;const l=u.push("hr","hr",0);return l.map=[e,u.line],l.markup=Array(o+1).join(String.fromCharCode(a)),!0}function ft(u,e){const t=u.eMarks[e];let s=u.bMarks[e]+u.tShift[e];const n=u.src.charCodeAt(s++);if(n!==42&&n!==45&&n!==43)return-1;if(s<t){const i=u.src.charCodeAt(s);if(!O(i))return-1}return s}function dt(u,e){const t=u.bMarks[e]+u.tShift[e],s=u.eMarks[e];let n=t;if(n+1>=s)return-1;let i=u.src.charCodeAt(n++);if(i<48||i>57)return-1;for(;;){if(n>=s)return-1;if(i=u.src.charCodeAt(n++),i>=48&&i<=57){if(n-t>=10)return-1;continue}if(i===41||i===46)break;return-1}return n<s&&(i=u.src.charCodeAt(n),!O(i))?-1:n}function ts(u,e){const t=u.level+2;for(let s=e+2,n=u.tokens.length-2;s<n;s++)u.tokens[s].level===t&&u.tokens[s].type==="paragraph_open"&&(u.tokens[s+2].hidden=!0,u.tokens[s].hidden=!0,s+=2)}function rs(u,e,t,s){let n,i,a,o,l=e,h=!0;if(u.sCount[l]-u.blkIndent>=4||u.listIndent>=0&&u.sCount[l]-u.listIndent>=4&&u.sCount[l]<u.blkIndent)return!1;let f=!1;s&&u.parentType==="paragraph"&&u.sCount[l]>=u.blkIndent&&(f=!0);let B,_,T;if((T=dt(u,l))>=0){if(B=!0,a=u.bMarks[l]+u.tShift[l],_=Number(u.src.slice(a,T-1)),f&&_!==1)return!1}else if((T=ft(u,l))>=0)B=!1;else return!1;if(f&&u.skipSpaces(T)>=u.eMarks[l])return!1;if(s)return!0;const D=u.src.charCodeAt(T-1),x=u.tokens.length;B?(o=u.push("ordered_list_open","ol",1),_!==1&&(o.attrs=[["start",_]])):o=u.push("bullet_list_open","ul",1);const b=[l,0];o.map=b,o.markup=String.fromCharCode(D);let S=!1;const g=u.md.block.ruler.getRules("list"),p=u.parentType;for(u.parentType="list";l<t;){i=T,n=u.eMarks[l];const I=u.sCount[l]+T-(u.bMarks[l]+u.tShift[l]);let N=I;for(;i<n;){const Au=u.src.charCodeAt(i);if(Au===9)N+=4-(N+u.bsCount[l])%4;else if(Au===32)N++;else break;i++}const k=i;let P;k>=n?P=1:P=N-I,P>4&&(P=1);const H=I+P;o=u.push("list_item_open","li",1),o.markup=String.fromCharCode(D);const tu=[l,0];o.map=tu,B&&(o.info=u.src.slice(a,T-1));const mu=u.tight,oe=u.tShift[l],k0=u.sCount[l],L0=u.listIndent;if(u.listIndent=u.blkIndent,u.blkIndent=H,u.tight=!0,u.tShift[l]=k-u.bMarks[l],u.sCount[l]=N,k>=n&&u.isEmpty(l+1)?u.line=Math.min(u.line+2,t):u.md.block.tokenize(u,l,t,!0),(!u.tight||S)&&(h=!1),S=u.line-l>1&&u.isEmpty(u.line-1),u.blkIndent=u.listIndent,u.listIndent=L0,u.tShift[l]=oe,u.sCount[l]=k0,u.tight=mu,o=u.push("list_item_close","li",-1),o.markup=String.fromCharCode(D),l=u.line,tu[1]=l,l>=t||u.sCount[l]<u.blkIndent||u.sCount[l]-u.blkIndent>=4)break;let He=!1;for(let Au=0,O0=g.length;Au<O0;Au++)if(g[Au](u,l,t,!0)){He=!0;break}if(He)break;if(B){if(T=dt(u,l),T<0)break;a=u.bMarks[l]+u.tShift[l]}else if(T=ft(u,l),T<0)break;if(D!==u.src.charCodeAt(T-1))break}return B?o=u.push("ordered_list_close","ol",-1):o=u.push("bullet_list_close","ul",-1),o.markup=String.fromCharCode(D),b[1]=l,u.line=l,u.parentType=p,h&&ts(u,x),!0}function ss(u,e,t,s){let n=u.bMarks[e]+u.tShift[e],i=u.eMarks[e],a=e+1;if(u.sCount[e]-u.blkIndent>=4||u.src.charCodeAt(n)!==91)return!1;function o(g){const p=u.lineMax;if(g>=p||u.isEmpty(g))return null;let I=!1;if(u.sCount[g]-u.blkIndent>3&&(I=!0),u.sCount[g]<0&&(I=!0),!I){const P=u.md.block.ruler.getRules("reference"),H=u.parentType;u.parentType="reference";let tu=!1;for(let mu=0,oe=P.length;mu<oe;mu++)if(P[mu](u,g,p,!0)){tu=!0;break}if(u.parentType=H,tu)return null}const N=u.bMarks[g]+u.tShift[g],k=u.eMarks[g];return u.src.slice(N,k+1)}let l=u.src.slice(n,i+1);i=l.length;let h=-1;for(n=1;n<i;n++){const g=l.charCodeAt(n);if(g===91)return!1;if(g===93){h=n;break}else if(g===10){const p=o(a);p!==null&&(l+=p,i=l.length,a++)}else if(g===92&&(n++,n<i&&l.charCodeAt(n)===10)){const p=o(a);p!==null&&(l+=p,i=l.length,a++)}}if(h<0||l.charCodeAt(h+1)!==58)return!1;for(n=h+2;n<i;n++){const g=l.charCodeAt(n);if(g===10){const p=o(a);p!==null&&(l+=p,i=l.length,a++)}else if(!O(g))break}const f=u.md.helpers.parseLinkDestination(l,n,i);if(!f.ok)return!1;const B=u.md.normalizeLink(f.str);if(!u.md.validateLink(B))return!1;n=f.pos;const _=n,T=a,D=n;for(;n<i;n++){const g=l.charCodeAt(n);if(g===10){const p=o(a);p!==null&&(l+=p,i=l.length,a++)}else if(!O(g))break}let x=u.md.helpers.parseLinkTitle(l,n,i);for(;x.can_continue;){const g=o(a);if(g===null)break;l+=g,n=i,i=l.length,a++,x=u.md.helpers.parseLinkTitle(l,n,i,x)}let b;for(n<i&&D!==n&&x.ok?(b=x.str,n=x.pos):(b="",n=_,a=T);n<i;){const g=l.charCodeAt(n);if(!O(g))break;n++}if(n<i&&l.charCodeAt(n)!==10&&b)for(b="",n=_,a=T;n<i;){const g=l.charCodeAt(n);if(!O(g))break;n++}if(n<i&&l.charCodeAt(n)!==10)return!1;const S=zu(l.slice(1,h));return S?(s||(typeof u.env.references=="undefined"&&(u.env.references={}),typeof u.env.references[S]=="undefined"&&(u.env.references[S]={title:b,href:B}),u.line=a),!0):!1}var ns=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],is="[a-zA-Z_:][a-zA-Z0-9:._-]*",as="[^\"'=<>`\\x00-\\x20]+",os="'[^']*'",cs='"[^"]*"',ls="(?:"+as+"|"+os+"|"+cs+")",Es="(?:\\s+"+is+"(?:\\s*=\\s*"+ls+")?)",Bt="<[A-Za-z][A-Za-z0-9\\-]*"+Es+"*\\s*\\/?>",mt="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",As="<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->",hs="<[?][\\s\\S]*?[?]>",Cs="<![A-Za-z][^>]*>",Ds="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",fs=new RegExp("^(?:"+Bt+"|"+mt+"|"+As+"|"+hs+"|"+Cs+"|"+Ds+")"),ds=new RegExp("^(?:"+Bt+"|"+mt+")"),lu=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Za-z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+ns.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(ds.source+"\\s*$"),/^$/,!1]];function Bs(u,e,t,s){let n=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||!u.md.options.html||u.src.charCodeAt(n)!==60)return!1;let a=u.src.slice(n,i),o=0;for(;o<lu.length&&!lu[o][0].test(a);o++);if(o===lu.length)return!1;if(s)return lu[o][2];let l=e+1;const h=lu[o][1].test("");if(!lu[o][1].test(a)){for(;l<t&&!(u.sCount[l]<u.blkIndent&&(h||!u.isEmpty(l)));l++)if(n=u.bMarks[l]+u.tShift[l],i=u.eMarks[l],a=u.src.slice(n,i),lu[o][1].test(a)){a.length!==0&&l++;break}}u.line=l;const f=u.push("html_block","",0);return f.map=[e,l],f.content=u.getLines(e,l,u.blkIndent,!0),!0}function ms(u,e,t,s){let n=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4)return!1;let a=u.src.charCodeAt(n);if(a!==35||n>=i)return!1;let o=1;for(a=u.src.charCodeAt(++n);a===35&&n<i&&o<=6;)o++,a=u.src.charCodeAt(++n);if(o>6||n<i&&!O(a))return!1;if(s)return!0;i=u.skipSpacesBack(i,n);const l=u.skipCharsBack(i,35,n);l>n&&O(u.src.charCodeAt(l-1))&&(i=l),u.line=e+1;const h=u.push("heading_open","h"+String(o),1);h.markup="########".slice(0,o),h.map=[e,u.line];const f=u.push("inline","",0);f.content=Gu(u.src.slice(n,i)),f.map=[e,u.line],f.children=[];const B=u.push("heading_close","h"+String(o),-1);return B.markup="########".slice(0,o),!0}function Ts(u,e,t){const s=u.md.block.ruler.getRules("paragraph");if(u.sCount[e]-u.blkIndent>=4)return!1;const n=u.parentType;u.parentType="paragraph";let i=0,a,o=e+1;for(;o<t&&!u.isEmpty(o);o++){if(u.sCount[o]-u.blkIndent>3)continue;if(u.sCount[o]>=u.blkIndent){let T=u.bMarks[o]+u.tShift[o];const D=u.eMarks[o];if(T<D&&(a=u.src.charCodeAt(T),(a===45||a===61)&&(T=u.skipChars(T,a),T=u.skipSpaces(T),T>=D))){i=a===61?1:2;break}}if(u.sCount[o]<0)continue;let _=!1;for(let T=0,D=s.length;T<D;T++)if(s[T](u,o,t,!0)){_=!0;break}if(_)break}if(!i)return u.parentType=n,!1;const l=Gu(u.getLines(e,o,u.blkIndent,!1));u.line=o+1;const h=u.push("heading_open","h"+String(i),1);h.markup=String.fromCharCode(a),h.map=[e,u.line];const f=u.push("inline","",0);f.content=l,f.map=[e,u.line-1],f.children=[];const B=u.push("heading_close","h"+String(i),-1);return B.markup=String.fromCharCode(a),u.parentType=n,!0}function Fs(u,e,t){const s=u.md.block.ruler.getRules("paragraph"),n=u.parentType;let i=e+1;for(u.parentType="paragraph";i<t&&!u.isEmpty(i);i++){if(u.sCount[i]-u.blkIndent>3||u.sCount[i]<0)continue;let h=!1;for(let f=0,B=s.length;f<B;f++)if(s[f](u,i,t,!0)){h=!0;break}if(h)break}const a=Gu(u.getLines(e,i,u.blkIndent,!1));u.line=i;const o=u.push("paragraph_open","p",1);o.map=[e,u.line];const l=u.push("inline","",0);return l.content=a,l.map=[e,u.line],l.children=[],u.push("paragraph_close","p",-1),u.parentType=n,!0}var Wu=[["table",jr,["paragraph","reference"]],["code",Zr],["fence",Jr,["paragraph","reference","blockquote","list"]],["blockquote",us,["paragraph","reference","blockquote","list"]],["hr",es,["paragraph","reference","blockquote","list"]],["list",rs,["paragraph","reference","blockquote"]],["reference",ss],["html_block",Bs,["paragraph","reference","blockquote"]],["heading",ms,["paragraph","reference","blockquote"]],["lheading",Ts],["paragraph",Fs]];function Xu(){this.ruler=new Vu;for(let u=0;u<Wu.length;u++)this.ruler.push(Wu[u][0],Wu[u][1],{alt:(Wu[u][2]||[]).slice()})}Xu.prototype.tokenize=function(u,e,t){const s=this.ruler.getRules(""),n=s.length,i=u.md.options.maxNesting;let a=e,o=!1;for(;a<t&&(u.line=a=u.skipEmptyLines(a),!(a>=t||u.sCount[a]<u.blkIndent));){if(u.level>=i){u.line=t;break}const l=u.line;let h=!1;for(let f=0;f<n;f++)if(h=s[f](u,a,t,!1),h){if(l>=u.line)throw new Error("block rule didn't increment state.line");break}if(!h)throw new Error("none of the block rules matched");u.tight=!o,u.isEmpty(u.line-1)&&(o=!0),a=u.line,a<t&&u.isEmpty(a)&&(o=!0,a++,u.line=a)}},Xu.prototype.parse=function(u,e,t,s){if(!u)return;const n=new this.State(u,e,t,s);this.tokenize(n,n.line,n.lineMax)},Xu.prototype.State=Kr;var _s=Xu;function gu(u,e,t,s){this.src=u,this.env=t,this.md=e,this.tokens=s,this.tokens_meta=Array(s.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}gu.prototype.pushPending=function(){const u=new fu("text","",0);return u.content=this.pending,u.level=this.pendingLevel,this.tokens.push(u),this.pending="",u},gu.prototype.push=function(u,e,t){this.pending&&this.pushPending();const s=new fu(u,e,t);let n=null;return t<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),s.level=this.level,t>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],n={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(s),this.tokens_meta.push(n),s},gu.prototype.scanDelims=function(u,e){const t=this.posMax,s=this.src.charCodeAt(u);let n;if(u===0)n=32;else if(u===1)n=this.src.charCodeAt(0),(n&63488)===55296&&(n=65533);else if(n=this.src.charCodeAt(u-1),(n&64512)===56320){const b=this.src.charCodeAt(u-2);n=(b&64512)===55296?65536+(b-55296<<10)+(n-56320):65533}else(n&64512)===55296&&(n=65533);let i=u;for(;i<t&&this.src.charCodeAt(i)===s;)i++;const a=i-u;let o=i<t?this.src.charCodeAt(i):32;if((o&64512)===55296){const b=this.src.charCodeAt(i+1);o=(b&64512)===56320?65536+(o-55296<<10)+(b-56320):65533}else(o&64512)===56320&&(o=65533);const l=pu(n)||_u(n),h=pu(o)||_u(o),f=Fu(n),B=Fu(o),_=!B&&(!h||f||l),T=!f&&(!l||B||h);return{can_open:_&&(e||!T||l),can_close:T&&(e||!_||h),length:a}},gu.prototype.Token=fu;var ps=gu;function gs(u){switch(u){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function Is(u,e){let t=u.pos;for(;t<u.posMax&&!gs(u.src.charCodeAt(t));)t++;return t===u.pos?!1:(e||(u.pending+=u.src.slice(u.pos,t)),u.pos=t,!0)}function Ns(u){return u>=65&&u<=90||u>=97&&u<=122}function bs(u){return u>=65&&u<=90||u>=97&&u<=122||u>=48&&u<=57||u===43||u===45||u===46}function xs(u,e){if(!u.md.options.linkify||u.linkLevel>0)return!1;const t=u.pos,s=u.posMax;if(t+3>s||u.src.charCodeAt(t)!==58||u.src.charCodeAt(t+1)!==47||u.src.charCodeAt(t+2)!==47)return!1;const n=t-Math.min(10,u.pending.length,t);let i=t;for(;i>n&&bs(u.src.charCodeAt(i-1));)i--;if(i===t||!Ns(u.src.charCodeAt(i)))return!1;const a=t-i,o=u.md.linkify.matchAtStart(u.src.slice(i));if(!o)return!1;let l=o.url;if(l.length<=a)return!1;let h=l.length;for(;h>0&&l.charCodeAt(h-1)===42;)h--;h!==l.length&&(l=l.slice(0,h));const f=u.md.normalizeLink(l);if(!u.md.validateLink(f))return!1;if(!e){u.pending=u.pending.slice(0,-a);const B=u.push("link_open","a",1);B.attrs=[["href",f]],B.markup="linkify",B.info="auto";const _=u.push("text","",0);_.content=u.md.normalizeLinkText(l);const T=u.push("link_close","a",-1);T.markup="linkify",T.info="auto"}return u.pos+=l.length-a,!0}function Ss(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==10)return!1;const s=u.pending.length-1,n=u.posMax;if(!e)if(s>=0&&u.pending.charCodeAt(s)===32)if(s>=1&&u.pending.charCodeAt(s-1)===32){let i=s-1;for(;i>=1&&u.pending.charCodeAt(i-1)===32;)i--;u.pending=u.pending.slice(0,i),u.push("hardbreak","br",0)}else u.pending=u.pending.slice(0,-1),u.push("softbreak","br",0);else u.push("softbreak","br",0);for(t++;t<n&&O(u.src.charCodeAt(t));)t++;return u.pos=t,!0}var Fe=[];for(let u=0;u<256;u++)Fe.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(u){Fe[u.charCodeAt(0)]=1});function ks(u,e){let t=u.pos;const s=u.posMax;if(u.src.charCodeAt(t)!==92||(t++,t>=s))return!1;let n=u.src.charCodeAt(t);if(n===10){for(e||u.push("hardbreak","br",0),t++;t<s&&(n=u.src.charCodeAt(t),!!O(n));)t++;return u.pos=t,!0}if(n===32){if(!e){const o=u.push("text_special","",0);o.content="\\",o.markup="\\",o.info="escape"}return u.pos=t,!0}let i=u.src[t];if(n>=55296&&n<=56319&&t+1<s){const o=u.src.charCodeAt(t+1);o>=56320&&o<=57343&&(i+=u.src[t+1],t++)}const a="\\"+i;if(!e){const o=u.push("text_special","",0);n<256&&Fe[n]!==0?o.content=i:o.content=a,o.markup=a,o.info="escape"}return u.pos=t+1,!0}function Ls(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==96)return!1;const n=t;t++;const i=u.posMax;for(;t<i&&u.src.charCodeAt(t)===96;)t++;const a=u.src.slice(n,t),o=a.length;if(u.backticksScanned&&(u.backticks[o]||0)<=n)return e||(u.pending+=a),u.pos+=o,!0;let l=t,h;for(;(h=u.src.indexOf("`",l))!==-1;){for(l=h+1;l<i&&u.src.charCodeAt(l)===96;)l++;const f=l-h;if(f===o){if(!e){const B=u.push("code_inline","code",0);B.markup=a,B.content=u.src.slice(t,h).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}return u.pos=l,!0}u.backticks[f]=h}return u.backticksScanned=!0,e||(u.pending+=a),u.pos+=o,!0}function Os(u,e){const t=u.pos,s=u.src.charCodeAt(t);if(e||s!==126)return!1;const n=u.scanDelims(u.pos,!0);let i=n.length;const a=String.fromCharCode(s);if(i<2)return!1;let o;i%2&&(o=u.push("text","",0),o.content=a,i--);for(let l=0;l<i;l+=2)o=u.push("text","",0),o.content=a+a,u.delimiters.push({marker:s,length:0,token:u.tokens.length-1,end:-1,open:n.can_open,close:n.can_close});return u.pos+=n.length,!0}function Tt(u,e){let t;const s=[],n=e.length;for(let i=0;i<n;i++){const a=e[i];if(a.marker!==126||a.end===-1)continue;const o=e[a.end];t=u.tokens[a.token],t.type="s_open",t.tag="s",t.nesting=1,t.markup="~~",t.content="",t=u.tokens[o.token],t.type="s_close",t.tag="s",t.nesting=-1,t.markup="~~",t.content="",u.tokens[o.token-1].type==="text"&&u.tokens[o.token-1].content==="~"&&s.push(o.token-1)}for(;s.length;){const i=s.pop();let a=i+1;for(;a<u.tokens.length&&u.tokens[a].type==="s_close";)a++;a--,i!==a&&(t=u.tokens[a],u.tokens[a]=u.tokens[i],u.tokens[i]=t)}}function Rs(u){const e=u.tokens_meta,t=u.tokens_meta.length;Tt(u,u.delimiters);for(let s=0;s<t;s++)e[s]&&e[s].delimiters&&Tt(u,e[s].delimiters)}var Ft={tokenize:Os,postProcess:Rs};function Ps(u,e){const t=u.pos,s=u.src.charCodeAt(t);if(e||s!==95&&s!==42)return!1;const n=u.scanDelims(u.pos,s===42);for(let i=0;i<n.length;i++){const a=u.push("text","",0);a.content=String.fromCharCode(s),u.delimiters.push({marker:s,length:n.length,token:u.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}return u.pos+=n.length,!0}function _t(u,e){const t=e.length;for(let s=t-1;s>=0;s--){const n=e[s];if(n.marker!==95&&n.marker!==42||n.end===-1)continue;const i=e[n.end],a=s>0&&e[s-1].end===n.end+1&&e[s-1].marker===n.marker&&e[s-1].token===n.token-1&&e[n.end+1].token===i.token+1,o=String.fromCharCode(n.marker),l=u.tokens[n.token];l.type=a?"strong_open":"em_open",l.tag=a?"strong":"em",l.nesting=1,l.markup=a?o+o:o,l.content="";const h=u.tokens[i.token];h.type=a?"strong_close":"em_close",h.tag=a?"strong":"em",h.nesting=-1,h.markup=a?o+o:o,h.content="",a&&(u.tokens[e[s-1].token].content="",u.tokens[e[n.end+1].token].content="",s--)}}function ys(u){const e=u.tokens_meta,t=u.tokens_meta.length;_t(u,u.delimiters);for(let s=0;s<t;s++)e[s]&&e[s].delimiters&&_t(u,e[s].delimiters)}var pt={tokenize:Ps,postProcess:ys};function Ms(u,e){let t,s,n,i,a="",o="",l=u.pos,h=!0;if(u.src.charCodeAt(u.pos)!==91)return!1;const f=u.pos,B=u.posMax,_=u.pos+1,T=u.md.helpers.parseLinkLabel(u,u.pos,!0);if(T<0)return!1;let D=T+1;if(D<B&&u.src.charCodeAt(D)===40){for(h=!1,D++;D<B&&(t=u.src.charCodeAt(D),!(!O(t)&&t!==10));D++);if(D>=B)return!1;if(l=D,n=u.md.helpers.parseLinkDestination(u.src,D,u.posMax),n.ok){for(a=u.md.normalizeLink(n.str),u.md.validateLink(a)?D=n.pos:a="",l=D;D<B&&(t=u.src.charCodeAt(D),!(!O(t)&&t!==10));D++);if(n=u.md.helpers.parseLinkTitle(u.src,D,u.posMax),D<B&&l!==D&&n.ok)for(o=n.str,D=n.pos;D<B&&(t=u.src.charCodeAt(D),!(!O(t)&&t!==10));D++);}(D>=B||u.src.charCodeAt(D)!==41)&&(h=!0),D++}if(h){if(typeof u.env.references=="undefined")return!1;if(D<B&&u.src.charCodeAt(D)===91?(l=D+1,D=u.md.helpers.parseLinkLabel(u,D),D>=0?s=u.src.slice(l,D++):D=T+1):D=T+1,s||(s=u.src.slice(_,T)),i=u.env.references[zu(s)],!i)return u.pos=f,!1;a=i.href,o=i.title}if(!e){u.pos=_,u.posMax=T;const x=u.push("link_open","a",1),b=[["href",a]];x.attrs=b,o&&b.push(["title",o]),u.linkLevel++,u.md.inline.tokenize(u),u.linkLevel--,u.push("link_close","a",-1)}return u.pos=D,u.posMax=B,!0}function vs(u,e){let t,s,n,i,a,o,l,h,f="";const B=u.pos,_=u.posMax;if(u.src.charCodeAt(u.pos)!==33||u.src.charCodeAt(u.pos+1)!==91)return!1;const T=u.pos+2,D=u.md.helpers.parseLinkLabel(u,u.pos+1,!1);if(D<0)return!1;if(i=D+1,i<_&&u.src.charCodeAt(i)===40){for(i++;i<_&&(t=u.src.charCodeAt(i),!(!O(t)&&t!==10));i++);if(i>=_)return!1;for(h=i,o=u.md.helpers.parseLinkDestination(u.src,i,u.posMax),o.ok&&(f=u.md.normalizeLink(o.str),u.md.validateLink(f)?i=o.pos:f=""),h=i;i<_&&(t=u.src.charCodeAt(i),!(!O(t)&&t!==10));i++);if(o=u.md.helpers.parseLinkTitle(u.src,i,u.posMax),i<_&&h!==i&&o.ok)for(l=o.str,i=o.pos;i<_&&(t=u.src.charCodeAt(i),!(!O(t)&&t!==10));i++);else l="";if(i>=_||u.src.charCodeAt(i)!==41)return u.pos=B,!1;i++}else{if(typeof u.env.references=="undefined")return!1;if(i<_&&u.src.charCodeAt(i)===91?(h=i+1,i=u.md.helpers.parseLinkLabel(u,i),i>=0?n=u.src.slice(h,i++):i=D+1):i=D+1,n||(n=u.src.slice(T,D)),a=u.env.references[zu(n)],!a)return u.pos=B,!1;f=a.href,l=a.title}if(!e){s=u.src.slice(T,D);const x=[];u.md.inline.parse(s,u.md,u.env,x);const b=u.push("image","img",0),S=[["src",f],["alt",""]];b.attrs=S,b.children=x,b.content=s,l&&S.push(["title",l])}return u.pos=i,u.posMax=_,!0}var Us=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,ws=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Hs(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==60)return!1;const s=u.pos,n=u.posMax;for(;;){if(++t>=n)return!1;const a=u.src.charCodeAt(t);if(a===60)return!1;if(a===62)break}const i=u.src.slice(s+1,t);if(ws.test(i)){const a=u.md.normalizeLink(i);if(!u.md.validateLink(a))return!1;if(!e){const o=u.push("link_open","a",1);o.attrs=[["href",a]],o.markup="autolink",o.info="auto";const l=u.push("text","",0);l.content=u.md.normalizeLinkText(i);const h=u.push("link_close","a",-1);h.markup="autolink",h.info="auto"}return u.pos+=i.length+2,!0}if(Us.test(i)){const a=u.md.normalizeLink("mailto:"+i);if(!u.md.validateLink(a))return!1;if(!e){const o=u.push("link_open","a",1);o.attrs=[["href",a]],o.markup="autolink",o.info="auto";const l=u.push("text","",0);l.content=u.md.normalizeLinkText(i);const h=u.push("link_close","a",-1);h.markup="autolink",h.info="auto"}return u.pos+=i.length+2,!0}return!1}function qs(u){return/^<a[>\s]/i.test(u)}function Ys(u){return/^<\/a\s*>/i.test(u)}function zs(u){const e=u|32;return e>=97&&e<=122}function Gs(u,e){if(!u.md.options.html)return!1;const t=u.posMax,s=u.pos;if(u.src.charCodeAt(s)!==60||s+2>=t)return!1;const n=u.src.charCodeAt(s+1);if(n!==33&&n!==63&&n!==47&&!zs(n))return!1;const i=u.src.slice(s).match(fs);if(!i)return!1;if(!e){const a=u.push("html_inline","",0);a.content=i[0],qs(a.content)&&u.linkLevel++,Ys(a.content)&&u.linkLevel--}return u.pos+=i[0].length,!0}var Vs=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Qs=/^&([a-z][a-z0-9]{1,31});/i;function Ws(u,e){const t=u.pos,s=u.posMax;if(u.src.charCodeAt(t)!==38||t+1>=s)return!1;if(u.src.charCodeAt(t+1)===35){const i=u.src.slice(t).match(Vs);if(i){if(!e){const a=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10),o=u.push("text_special","",0);o.content=de(a)?Tu(a):Tu(65533),o.markup=i[0],o.info="entity"}return u.pos+=i[0].length,!0}}else{const i=u.src.slice(t).match(Qs);if(i){const a=sr(i[0]);if(a!==i[0]){if(!e){const o=u.push("text_special","",0);o.content=a,o.markup=i[0],o.info="entity"}return u.pos+=i[0].length,!0}}}return!1}function gt(u){const e={},t=u.length;if(!t)return;let s=0,n=-2;const i=[];for(let a=0;a<t;a++){const o=u[a];if(i.push(0),(u[s].marker!==o.marker||n!==o.token-1)&&(s=a),n=o.token,o.length=o.length||0,!o.close)continue;e.hasOwnProperty(o.marker)||(e[o.marker]=[-1,-1,-1,-1,-1,-1]);const l=e[o.marker][(o.open?3:0)+o.length%3];let h=s-i[s]-1,f=h;for(;h>l;h-=i[h]+1){const B=u[h];if(B.marker===o.marker&&B.open&&B.end<0){let _=!1;if((B.close||o.open)&&(B.length+o.length)%3===0&&(B.length%3!==0||o.length%3!==0)&&(_=!0),!_){const T=h>0&&!u[h-1].open?i[h-1]+1:0;i[a]=a-h+T,i[h]=T,o.open=!1,B.end=a,B.close=!1,f=-1,n=-2;break}}}f!==-1&&(e[o.marker][(o.open?3:0)+(o.length||0)%3]=f)}}function Xs(u){const e=u.tokens_meta,t=u.tokens_meta.length;gt(u.delimiters);for(let s=0;s<t;s++)e[s]&&e[s].delimiters&>(e[s].delimiters)}function Ks(u){let e,t,s=0;const n=u.tokens,i=u.tokens.length;for(e=t=0;e<i;e++)n[e].nesting<0&&s--,n[e].level=s,n[e].nesting>0&&s++,n[e].type==="text"&&e+1<i&&n[e+1].type==="text"?n[e+1].content=n[e].content+n[e+1].content:(e!==t&&(n[t]=n[e]),t++);e!==t&&(n.length=t)}var _e=[["text",Is],["linkify",xs],["newline",Ss],["escape",ks],["backticks",Ls],["strikethrough",Ft.tokenize],["emphasis",pt.tokenize],["link",Ms],["image",vs],["autolink",Hs],["html_inline",Gs],["entity",Ws]],pe=[["balance_pairs",Xs],["strikethrough",Ft.postProcess],["emphasis",pt.postProcess],["fragments_join",Ks]];function Iu(){this.ruler=new Vu;for(let u=0;u<_e.length;u++)this.ruler.push(_e[u][0],_e[u][1]);this.ruler2=new Vu;for(let u=0;u<pe.length;u++)this.ruler2.push(pe[u][0],pe[u][1])}Iu.prototype.skipToken=function(u){const e=u.pos,t=this.ruler.getRules(""),s=t.length,n=u.md.options.maxNesting,i=u.cache;if(typeof i[e]!="undefined"){u.pos=i[e];return}let a=!1;if(u.level<n){for(let o=0;o<s;o++)if(u.level++,a=t[o](u,!0),u.level--,a){if(e>=u.pos)throw new Error("inline rule didn't increment state.pos");break}}else u.pos=u.posMax;a||u.pos++,i[e]=u.pos},Iu.prototype.tokenize=function(u){const e=this.ruler.getRules(""),t=e.length,s=u.posMax,n=u.md.options.maxNesting;for(;u.pos<s;){const i=u.pos;let a=!1;if(u.level<n){for(let o=0;o<t;o++)if(a=e[o](u,!1),a){if(i>=u.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(u.pos>=s)break;continue}u.pending+=u.src[u.pos++]}u.pending&&u.pushPending()},Iu.prototype.parse=function(u,e,t,s){const n=new this.State(u,e,t,s);this.tokenize(n);const i=this.ruler2.getRules(""),a=i.length;for(let o=0;o<a;o++)i[o](n)},Iu.prototype.State=ps;var $s=Iu;function js(u){const e={};u=u||{},e.src_Any=Ze.source,e.src_Cc=Je.source,e.src_Z=et.source,e.src_P=Ae.source,e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|"),e.src_ZCc=[e.src_Z,e.src_Cc].join("|");const t="[><\uFF5C]";return e.src_pseudo_letter=`(?:(?!${t}|${e.src_ZPCc})${e.src_Any})`,e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",e.src_auth=`(?:(?:(?!${e.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`,e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",e.src_host_terminator=`(?=$|${t}|${e.src_ZPCc})(?!${u["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${e.src_ZPCc}))`,e.src_path=`(?:[/?#](?:(?!${e.src_ZCc}|${t}|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!${e.src_ZCc}|\\]).)*\\]|\\((?:(?!${e.src_ZCc}|[)]).)*\\)|\\{(?:(?!${e.src_ZCc}|[}]).)*\\}|\\"(?:(?!${e.src_ZCc}|["]).)+\\"|\\'(?:(?!${e.src_ZCc}|[']).)+\\'|\\'(?=${e.src_pseudo_letter}|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!${e.src_ZCc}|[.]|$)|`+(u["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+`,(?!${e.src_ZCc}|$)|;(?!${e.src_ZCc}|$)|\\!+(?!${e.src_ZCc}|[!]|$)|\\?(?!${e.src_ZCc}|[?]|$))+|\\/)?`,e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]{0,63}',e.src_xn="xn--[a-z0-9\\-]{1,59}",e.src_domain_root="(?:"+e.src_xn+`|${e.src_pseudo_letter}{1,63})`,e.src_domain="(?:"+e.src_xn+`|(?:${e.src_pseudo_letter})|(?:${e.src_pseudo_letter}(?:-|${e.src_pseudo_letter}){0,61}${e.src_pseudo_letter}))`,e.src_host=`(?:(?:(?:(?:${e.src_domain})\\.)*${e.src_domain}))`,e.tpl_host_fuzzy="(?:"+e.src_ip4+`|(?:(?:(?:${e.src_domain})\\.)+(?:%TLDS%)))`,e.tpl_host_no_ip_fuzzy=`(?:(?:(?:${e.src_domain})\\.)+(?:%TLDS%))`,e.src_host_strict=e.src_host+e.src_host_terminator,e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator,e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator,e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_fuzzy_test=`localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:${e.src_ZPCc}|>|$))`,e.tpl_email_fuzzy=`(^|${t}|"|\\(|${e.src_ZCc})(${e.src_email_name}@${e.tpl_host_fuzzy_strict})`,e.tpl_link_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`|\uFF5C]|${e.src_ZPCc}))((?![$+<=>^\`|\uFF5C])${e.tpl_host_port_fuzzy_strict}${e.src_path})`,e.tpl_link_no_ip_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`|\uFF5C]|${e.src_ZPCc}))((?![$+<=>^\`|\uFF5C])${e.tpl_host_port_no_ip_fuzzy_strict}${e.src_path})`,e}function ge(u){return Array.prototype.slice.call(arguments,1).forEach(function(t){t&&Object.keys(t).forEach(function(s){u[s]=t[s]})}),u}function Ku(u){return Object.prototype.toString.call(u)}function Zs(u){return Ku(u)==="[object String]"}function Js(u){return Ku(u)==="[object Object]"}function un(u){return Ku(u)==="[object RegExp]"}function It(u){return Ku(u)==="[object Function]"}function en(u){return u.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var Nt={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function tn(u){return Object.keys(u||{}).reduce(function(e,t){return e||Nt.hasOwnProperty(t)},!1)}var rn={"http:":{validate:function(u,e,t){const s=u.slice(e);return t.re.http||(t.re.http=new RegExp(`^\\/\\/${t.re.src_auth}${t.re.src_host_port_strict}${t.re.src_path}`,"i")),t.re.http.test(s)?s.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(u,e,t){const s=u.slice(e);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+`(?:localhost|(?:(?:${t.re.src_domain})\\.)+${t.re.src_domain_root})`+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(s)?e>=3&&u[e-3]===":"||e>=3&&u[e-3]==="/"?0:s.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(u,e,t){const s=u.slice(e);return t.re.mailto||(t.re.mailto=new RegExp(`^${t.re.src_email_name}@${t.re.src_host_strict}`,"i")),t.re.mailto.test(s)?s.match(t.re.mailto)[0].length:0}}},sn="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",nn="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function an(u){return function(e,t){const s=e.slice(t);return u.test(s)?s.match(u)[0].length:0}}function bt(){return function(u,e){e.normalize(u)}}function $u(u){const e=u.re=js(u.__opts__),t=u.__tlds__.slice();u.onCompile(),u.__tlds_replaced__||t.push(sn),t.push(e.src_xn),e.src_tlds=t.join("|");function s(o){return o.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(s(e.tpl_email_fuzzy),"i"),e.email_fuzzy_global=RegExp(s(e.tpl_email_fuzzy),"ig"),e.link_fuzzy=RegExp(s(e.tpl_link_fuzzy),"i"),e.link_fuzzy_global=RegExp(s(e.tpl_link_fuzzy),"ig"),e.link_no_ip_fuzzy=RegExp(s(e.tpl_link_no_ip_fuzzy),"i"),e.link_no_ip_fuzzy_global=RegExp(s(e.tpl_link_no_ip_fuzzy),"ig"),e.host_fuzzy_test=RegExp(s(e.tpl_host_fuzzy_test),"i");const n=[];u.__compiled__={};function i(o,l){throw new Error(`(LinkifyIt) Invalid schema "${o}": ${l}`)}Object.keys(u.__schemas__).forEach(function(o){const l=u.__schemas__[o];if(l===null)return;const h={validate:null,link:null};if(u.__compiled__[o]=h,Js(l)){un(l.validate)?h.validate=an(l.validate):It(l.validate)?h.validate=l.validate:i(o,l),It(l.normalize)?h.normalize=l.normalize:l.normalize?i(o,l):h.normalize=bt();return}if(Zs(l)){n.push(o);return}i(o,l)}),n.forEach(function(o){u.__compiled__[u.__schemas__[o]]&&(u.__compiled__[o].validate=u.__compiled__[u.__schemas__[o]].validate,u.__compiled__[o].normalize=u.__compiled__[u.__schemas__[o]].normalize)}),u.__compiled__[""]={validate:null,normalize:bt()};const a=Object.keys(u.__compiled__).filter(function(o){return o.length>0&&u.__compiled__[o]}).map(en).join("|");u.re.schema_test=RegExp(`(^|(?!_)(?:[><\uFF5C]|${e.src_ZPCc}))(${a})`,"i"),u.re.schema_search=RegExp(`(^|(?!_)(?:[><\uFF5C]|${e.src_ZPCc}))(${a})`,"ig"),u.re.schema_at_start=RegExp(`^${u.re.schema_search.source}`,"i"),u.re.pretest=RegExp(`(${u.re.schema_test.source})|(${u.re.host_fuzzy_test.source})|@`,"i")}function xt(u,e,t,s){const n=u.slice(t,s);this.schema=e.toLowerCase(),this.index=t,this.lastIndex=s,this.raw=n,this.text=n,this.url=n}function z(u,e){if(!(this instanceof z))return new z(u,e);e||tn(u)&&(e=u,u={}),this.__opts__=ge({},Nt,e),this.__schemas__=ge({},rn,u),this.__compiled__={},this.__tlds__=nn,this.__tlds_replaced__=!1,this.re={},$u(this)}z.prototype.add=function(e,t){return this.__schemas__[e]=t,$u(this),this},z.prototype.set=function(e){return this.__opts__=ge(this.__opts__,e),this},z.prototype.test=function(e){if(!e.length)return!1;let t,s;if(this.re.schema_test.test(e)){for(s=this.re.schema_search,s.lastIndex=0;(t=s.exec(e))!==null;)if(this.testSchemaAt(e,t[2],s.lastIndex))return!0}return!!(this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&e.search(this.re.host_fuzzy_test)>=0&&e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy)!==null||this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&e.indexOf("@")>=0&&e.match(this.re.email_fuzzy)!==null)},z.prototype.pretest=function(e){return this.re.pretest.test(e)},z.prototype.testSchemaAt=function(e,t,s){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,s,this):0},z.prototype.match=function(e){const t=[],s=[],n=[],i=[];let a,o,l;function h(_,T){return _?T?_.index!==T.index?_.index<T.index?_:T:_.lastIndex>=T.lastIndex?_:T:_:T}if(!e.length)return null;if(this.re.schema_test.test(e))for(l=this.re.schema_search,l.lastIndex=0;(a=l.exec(e))!==null;)o=this.testSchemaAt(e,a[2],l.lastIndex),o&&s.push({schema:a[2],index:a.index+a[1].length,lastIndex:a.index+a[0].length+o});if(this.__opts__.fuzzyLink&&this.__compiled__["http:"])for(l=this.__opts__.fuzzyIP?this.re.link_fuzzy_global:this.re.link_no_ip_fuzzy_global,l.lastIndex=0;(a=l.exec(e))!==null;)n.push({schema:"",index:a.index+a[1].length,lastIndex:a.index+a[0].length});if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"])for(l=this.re.email_fuzzy_global,l.lastIndex=0;(a=l.exec(e))!==null;)i.push({schema:"mailto:",index:a.index+a[1].length,lastIndex:a.index+a[0].length});const f=[0,0,0];let B=0;for(;;){const _=[s[f[0]],i[f[1]],n[f[2]]],T=h(h(_[0],_[1]),_[2]);if(!T)break;if(T===_[0]?f[0]++:T===_[1]?f[1]++:f[2]++,T.index<B)continue;const D=new xt(e,T.schema,T.index,T.lastIndex);this.__compiled__[D.schema].normalize(D,this),t.push(D),B=T.lastIndex}return t.length?t:null},z.prototype.matchAtStart=function(e){if(!e.length)return null;const t=this.re.schema_at_start.exec(e);if(!t)return null;const s=this.testSchemaAt(e,t[2],t[0].length);if(!s)return null;const n=new xt(e,t[2],t.index+t[1].length,t.index+t[0].length+s);return this.__compiled__[n.schema].normalize(n,this),n},z.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(s,n,i){return s!==i[n-1]}).reverse(),$u(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,$u(this),this)},z.prototype.normalize=function(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)},z.prototype.onCompile=function(){};var on=z,du=2147483647,$=36,Ie=1,Nu=26,cn=38,ln=700,St=72,kt=128,Lt="-",En=/^xn--/,An=/[^\0-\x7F]/,hn=/[\x2E\u3002\uFF0E\uFF61]/g,Cn={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Ne=$-Ie,j=Math.floor,be=String.fromCharCode;function nu(u){throw new RangeError(Cn[u])}function Dn(u,e){const t=[];let s=u.length;for(;s--;)t[s]=e(u[s]);return t}function Ot(u,e){const t=u.split("@");let s="";t.length>1&&(s=t[0]+"@",u=t[1]),u=u.replace(hn,".");const n=u.split("."),i=Dn(n,e).join(".");return s+i}function Rt(u){const e=[];let t=0;const s=u.length;for(;t<s;){const n=u.charCodeAt(t++);if(n>=55296&&n<=56319&&t<s){const i=u.charCodeAt(t++);(i&64512)==56320?e.push(((n&1023)<<10)+(i&1023)+65536):(e.push(n),t--)}else e.push(n)}return e}var fn=u=>String.fromCodePoint(...u),dn=function(u){return u>=48&&u<58?26+(u-48):u>=65&&u<91?u-65:u>=97&&u<123?u-97:$},Pt=function(u,e){return u+22+75*(u<26)-((e!=0)<<5)},yt=function(u,e,t){let s=0;for(u=t?j(u/ln):u>>1,u+=j(u/e);u>Ne*Nu>>1;s+=$)u=j(u/Ne);return j(s+(Ne+1)*u/(u+cn))},Mt=function(u){const e=[],t=u.length;let s=0,n=kt,i=St,a=u.lastIndexOf(Lt);a<0&&(a=0);for(let o=0;o<a;++o)u.charCodeAt(o)>=128&&nu("not-basic"),e.push(u.charCodeAt(o));for(let o=a>0?a+1:0;o<t;){const l=s;for(let f=1,B=$;;B+=$){o>=t&&nu("invalid-input");const _=dn(u.charCodeAt(o++));_>=$&&nu("invalid-input"),_>j((du-s)/f)&&nu("overflow"),s+=_*f;const T=B<=i?Ie:B>=i+Nu?Nu:B-i;if(_<T)break;const D=$-T;f>j(du/D)&&nu("overflow"),f*=D}const h=e.length+1;i=yt(s-l,h,l==0),j(s/h)>du-n&&nu("overflow"),n+=j(s/h),s%=h,e.splice(s++,0,n)}return String.fromCodePoint(...e)},vt=function(u){const e=[];u=Rt(u);const t=u.length;let s=kt,n=0,i=St;for(const l of u)l<128&&e.push(be(l));const a=e.length;let o=a;for(a&&e.push(Lt);o<t;){let l=du;for(const f of u)f>=s&&f<l&&(l=f);const h=o+1;l-s>j((du-n)/h)&&nu("overflow"),n+=(l-s)*h,s=l;for(const f of u)if(f<s&&++n>du&&nu("overflow"),f===s){let B=n;for(let _=$;;_+=$){const T=_<=i?Ie:_>=i+Nu?Nu:_-i;if(B<T)break;const D=B-T,x=$-T;e.push(be(Pt(T+D%x,0))),B=j(D/x)}e.push(be(Pt(B,0))),i=yt(n,h,o===a),n=0,++o}++n,++s}return e.join("")},Bn=function(u){return Ot(u,function(e){return En.test(e)?Mt(e.slice(4).toLowerCase()):e})},mn=function(u){return Ot(u,function(e){return An.test(e)?"xn--"+vt(e):e})},Tn={version:"2.3.1",ucs2:{decode:Rt,encode:fn},decode:Mt,encode:vt,toASCII:mn,toUnicode:Bn},Ut=Tn,Fn={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},_n={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},pn={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}},gn={default:Fn,zero:_n,commonmark:pn},In=/^(vbscript|javascript|file|data):/,Nn=/^data:image\/(gif|png|jpeg|webp);/;function bn(u){const e=u.trim().toLowerCase();return In.test(e)?Nn.test(e):!0}var wt=["http:","https:","mailto:"];function xn(u){const e=Ee(u,!0);if(e.hostname&&(!e.protocol||wt.indexOf(e.protocol)>=0))try{e.hostname=Ut.toASCII(e.hostname)}catch{}return Ve(le(e))}function Sn(u){const e=Ee(u,!0);if(e.hostname&&(!e.protocol||wt.indexOf(e.protocol)>=0))try{e.hostname=Ut.toUnicode(e.hostname)}catch{}return ce(le(e),ce.defaultChars+"%")}function V(u,e){if(!(this instanceof V))return new V(u,e);e||fe(u)||(e=u||{},u="default"),this.inline=new $s,this.block=new _s,this.core=new Xr,this.renderer=new Ir,this.linkify=new on,this.validateLink=bn,this.normalizeLink=xn,this.normalizeLinkText=Sn,this.utils=qe,this.helpers=Yu({},ct),this.options={},this.configure(u),e&&this.set(e)}V.prototype.set=function(u){return Yu(this.options,u),this},V.prototype.configure=function(u){const e=this;if(fe(u)){const t=u;if(u=gn[t],!u)throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!u)throw new Error("Wrong `markdown-it` preset, can't be empty");return u.options&&e.set(u.options),u.components&&Object.keys(u.components).forEach(function(t){u.components[t].rules&&e[t].ruler.enableOnly(u.components[t].rules),u.components[t].rules2&&e[t].ruler2.enableOnly(u.components[t].rules2)}),this},V.prototype.enable=function(u,e){let t=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.enable(u,!0))},this),t=t.concat(this.inline.ruler2.enable(u,!0));const s=u.filter(function(n){return t.indexOf(n)<0});if(s.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+s);return this},V.prototype.disable=function(u,e){let t=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.disable(u,!0))},this),t=t.concat(this.inline.ruler2.disable(u,!0));const s=u.filter(function(n){return t.indexOf(n)<0});if(s.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+s);return this},V.prototype.use=function(u){const e=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,e),this},V.prototype.parse=function(u,e){if(typeof u!="string")throw new Error("Input data should be a String");const t=new this.core.State(u,this,e);return this.core.process(t),t.tokens},V.prototype.render=function(u,e){return e=e||{},this.renderer.render(this.parse(u,e),this.options,e)},V.prototype.parseInline=function(u,e){const t=new this.core.State(u,this,e);return t.inlineMode=!0,this.core.process(t),t.tokens},V.prototype.renderInline=function(u,e){return e=e||{},this.renderer.render(this.parseInline(u,e),this.options,e)};var kn=V,Ln=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),R="\uFFFD",c;(function(u){u[u.EOF=-1]="EOF",u[u.NULL=0]="NULL",u[u.TABULATION=9]="TABULATION",u[u.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",u[u.LINE_FEED=10]="LINE_FEED",u[u.FORM_FEED=12]="FORM_FEED",u[u.SPACE=32]="SPACE",u[u.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",u[u.QUOTATION_MARK=34]="QUOTATION_MARK",u[u.AMPERSAND=38]="AMPERSAND",u[u.APOSTROPHE=39]="APOSTROPHE",u[u.HYPHEN_MINUS=45]="HYPHEN_MINUS",u[u.SOLIDUS=47]="SOLIDUS",u[u.DIGIT_0=48]="DIGIT_0",u[u.DIGIT_9=57]="DIGIT_9",u[u.SEMICOLON=59]="SEMICOLON",u[u.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",u[u.EQUALS_SIGN=61]="EQUALS_SIGN",u[u.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",u[u.QUESTION_MARK=63]="QUESTION_MARK",u[u.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",u[u.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",u[u.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",u[u.GRAVE_ACCENT=96]="GRAVE_ACCENT",u[u.LATIN_SMALL_A=97]="LATIN_SMALL_A",u[u.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(c||(c={}));var q={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function Ht(u){return u>=55296&&u<=57343}function On(u){return u>=56320&&u<=57343}function Rn(u,e){return(u-55296)*1024+9216+e}function qt(u){return u!==32&&u!==10&&u!==13&&u!==9&&u!==12&&u>=1&&u<=31||u>=127&&u<=159}function Yt(u){return u>=64976&&u<=65007||Ln.has(u)}var d;(function(u){u.controlCharacterInInputStream="control-character-in-input-stream",u.noncharacterInInputStream="noncharacter-in-input-stream",u.surrogateInInputStream="surrogate-in-input-stream",u.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",u.endTagWithAttributes="end-tag-with-attributes",u.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",u.unexpectedSolidusInTag="unexpected-solidus-in-tag",u.unexpectedNullCharacter="unexpected-null-character",u.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",u.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",u.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",u.missingEndTagName="missing-end-tag-name",u.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",u.unknownNamedCharacterReference="unknown-named-character-reference",u.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",u.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",u.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",u.eofBeforeTagName="eof-before-tag-name",u.eofInTag="eof-in-tag",u.missingAttributeValue="missing-attribute-value",u.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",u.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",u.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",u.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",u.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",u.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",u.missingDoctypePublicIdentifier="missing-doctype-public-identifier",u.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",u.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",u.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",u.cdataInHtmlContent="cdata-in-html-content",u.incorrectlyOpenedComment="incorrectly-opened-comment",u.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",u.eofInDoctype="eof-in-doctype",u.nestedComment="nested-comment",u.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",u.eofInComment="eof-in-comment",u.incorrectlyClosedComment="incorrectly-closed-comment",u.eofInCdata="eof-in-cdata",u.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",u.nullCharacterReference="null-character-reference",u.surrogateCharacterReference="surrogate-character-reference",u.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",u.controlCharacterReference="control-character-reference",u.noncharacterCharacterReference="noncharacter-character-reference",u.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",u.missingDoctypeName="missing-doctype-name",u.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",u.duplicateAttribute="duplicate-attribute",u.nonConformingDoctype="non-conforming-doctype",u.missingDoctype="missing-doctype",u.misplacedDoctype="misplaced-doctype",u.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",u.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",u.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",u.openElementsLeftAfterEof="open-elements-left-after-eof",u.abandonedHeadElementChild="abandoned-head-element-child",u.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",u.nestedNoscriptInHead="nested-noscript-in-head",u.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(d||(d={}));var Pn=65536,yn=class{constructor(u){this.handler=u,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=Pn,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(u,e){const{line:t,col:s,offset:n}=this,i=s+e,a=n+e;return{code:u,startLine:t,endLine:t,startCol:i,endCol:i,startOffset:a,endOffset:a}}_err(u){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(u,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(u){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(On(e))return this.pos++,this._addGap(),Rn(u,e)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,c.EOF;return this._err(d.surrogateInInputStream),u}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(u,e){this.html.length>0?this.html+=u:this.html=u,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(u){this.html=this.html.substring(0,this.pos+1)+u+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(u,e){if(this.pos+u.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(u,this.pos);for(let t=0;t<u.length;t++)if((this.html.charCodeAt(this.pos+t)|32)!==u.charCodeAt(t))return!1;return!0}peek(u){const e=this.pos+u;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,c.EOF;const t=this.html.charCodeAt(e);return t===c.CARRIAGE_RETURN?c.LINE_FEED:t}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,c.EOF;let u=this.html.charCodeAt(this.pos);return u===c.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,c.LINE_FEED):u===c.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Ht(u)&&(u=this._processSurrogate(u)),this.handler.onParseError===null||u>31&&u<127||u===c.LINE_FEED||u===c.CARRIAGE_RETURN||u>159&&u<64976||this._checkForProblematicCharacters(u),u)}_checkForProblematicCharacters(u){qt(u)?this._err(d.controlCharacterInInputStream):Yt(u)&&this._err(d.noncharacterInInputStream)}retreat(u){for(this.pos-=u;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}},Mn={};cu(Mn,{TokenType:()=>L,getTokenAttr:()=>xe});var L;(function(u){u[u.CHARACTER=0]="CHARACTER",u[u.NULL_CHARACTER=1]="NULL_CHARACTER",u[u.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",u[u.START_TAG=3]="START_TAG",u[u.END_TAG=4]="END_TAG",u[u.COMMENT=5]="COMMENT",u[u.DOCTYPE=6]="DOCTYPE",u[u.EOF=7]="EOF",u[u.HIBERNATION=8]="HIBERNATION"})(L||(L={}));function xe(u,e){for(let t=u.attrs.length-1;t>=0;t--)if(u.attrs[t].name===e)return u.attrs[t].value;return null}var vn=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(u=>u.charCodeAt(0))),Se,Un=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),go=(Se=String.fromCodePoint)!==null&&Se!==void 0?Se:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function wn(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=Un.get(u))!==null&&e!==void 0?e:u}var v;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(v||(v={}));var Hn=32,iu;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(iu||(iu={}));function ke(u){return u>=v.ZERO&&u<=v.NINE}function qn(u){return u>=v.UPPER_A&&u<=v.UPPER_F||u>=v.LOWER_A&&u<=v.LOWER_F}function Yn(u){return u>=v.UPPER_A&&u<=v.UPPER_Z||u>=v.LOWER_A&&u<=v.LOWER_Z||ke(u)}function zn(u){return u===v.EQUALS||Yn(u)}var U;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(U||(U={}));var uu;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(uu||(uu={}));var Gn=class{constructor(u,e,t){this.decodeTree=u,this.emitCodePoint=e,this.errors=t,this.state=U.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=uu.Strict}startEntity(u){this.decodeMode=u,this.state=U.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(u,e){switch(this.state){case U.EntityStart:return u.charCodeAt(e)===v.NUM?(this.state=U.NumericStart,this.consumed+=1,this.stateNumericStart(u,e+1)):(this.state=U.NamedEntity,this.stateNamedEntity(u,e));case U.NumericStart:return this.stateNumericStart(u,e);case U.NumericDecimal:return this.stateNumericDecimal(u,e);case U.NumericHex:return this.stateNumericHex(u,e);case U.NamedEntity:return this.stateNamedEntity(u,e)}}stateNumericStart(u,e){return e>=u.length?-1:(u.charCodeAt(e)|Hn)===v.LOWER_X?(this.state=U.NumericHex,this.consumed+=1,this.stateNumericHex(u,e+1)):(this.state=U.NumericDecimal,this.stateNumericDecimal(u,e))}addToNumericResult(u,e,t,s){if(e!==t){const n=t-e;this.result=this.result*Math.pow(s,n)+Number.parseInt(u.substr(e,n),s),this.consumed+=n}}stateNumericHex(u,e){const t=e;for(;e<u.length;){const s=u.charCodeAt(e);if(ke(s)||qn(s))e+=1;else return this.addToNumericResult(u,t,e,16),this.emitNumericEntity(s,3)}return this.addToNumericResult(u,t,e,16),-1}stateNumericDecimal(u,e){const t=e;for(;e<u.length;){const s=u.charCodeAt(e);if(ke(s))e+=1;else return this.addToNumericResult(u,t,e,10),this.emitNumericEntity(s,2)}return this.addToNumericResult(u,t,e,10),-1}emitNumericEntity(u,e){var t;if(this.consumed<=e)return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(u===v.SEMI)this.consumed+=1;else if(this.decodeMode===uu.Strict)return 0;return this.emitCodePoint(wn(this.result),this.consumed),this.errors&&(u!==v.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(u,e){const{decodeTree:t}=this;let s=t[this.treeIndex],n=(s&iu.VALUE_LENGTH)>>14;for(;e<u.length;e++,this.excess++){const i=u.charCodeAt(e);if(this.treeIndex=Vn(t,s,this.treeIndex+Math.max(1,n),i),this.treeIndex<0)return this.result===0||this.decodeMode===uu.Attribute&&(n===0||zn(i))?0:this.emitNotTerminatedNamedEntity();if(s=t[this.treeIndex],n=(s&iu.VALUE_LENGTH)>>14,n!==0){if(i===v.SEMI)return this.emitNamedEntityData(this.treeIndex,n,this.consumed+this.excess);this.decodeMode!==uu.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var u;const{result:e,decodeTree:t}=this,s=(t[e]&iu.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,s,this.consumed),(u=this.errors)===null||u===void 0||u.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(u,e,t){const{decodeTree:s}=this;return this.emitCodePoint(e===1?s[u]&~iu.VALUE_LENGTH:s[u+1],t),e===3&&this.emitCodePoint(s[u+2],t),t}end(){var u;switch(this.state){case U.NamedEntity:return this.result!==0&&(this.decodeMode!==uu.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case U.NumericDecimal:return this.emitNumericEntity(0,2);case U.NumericHex:return this.emitNumericEntity(0,3);case U.NumericStart:return(u=this.errors)===null||u===void 0||u.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case U.EntityStart:return 0}}};function Vn(u,e,t,s){const n=(e&iu.BRANCH_LENGTH)>>7,i=e&iu.JUMP_TABLE;if(n===0)return i!==0&&s===i?t:-1;if(i){const l=s-i;return l<0||l>=n?-1:u[t+l]-1}let a=t,o=a+n-1;for(;a<=o;){const l=a+o>>>1,h=u[l];if(h<s)a=l+1;else if(h>s)o=l-1;else return u[l+n]}return-1}var Qn={};cu(Qn,{ATTRS:()=>au,DOCUMENT_MODE:()=>G,NS:()=>m,NUMBERED_HEADERS:()=>ju,SPECIAL_ELEMENTS:()=>zt,TAG_ID:()=>r,TAG_NAMES:()=>C,getTagID:()=>bu,hasUnescapedText:()=>Gt});var m;(function(u){u.HTML="http://www.w3.org/1999/xhtml",u.MATHML="http://www.w3.org/1998/Math/MathML",u.SVG="http://www.w3.org/2000/svg",u.XLINK="http://www.w3.org/1999/xlink",u.XML="http://www.w3.org/XML/1998/namespace",u.XMLNS="http://www.w3.org/2000/xmlns/"})(m||(m={}));var au;(function(u){u.TYPE="type",u.ACTION="action",u.ENCODING="encoding",u.PROMPT="prompt",u.NAME="name",u.COLOR="color",u.FACE="face",u.SIZE="size"})(au||(au={}));var G;(function(u){u.NO_QUIRKS="no-quirks",u.QUIRKS="quirks",u.LIMITED_QUIRKS="limited-quirks"})(G||(G={}));var C;(function(u){u.A="a",u.ADDRESS="address",u.ANNOTATION_XML="annotation-xml",u.APPLET="applet",u.AREA="area",u.ARTICLE="article",u.ASIDE="aside",u.B="b",u.BASE="base",u.BASEFONT="basefont",u.BGSOUND="bgsound",u.BIG="big",u.BLOCKQUOTE="blockquote",u.BODY="body",u.BR="br",u.BUTTON="button",u.CAPTION="caption",u.CENTER="center",u.CODE="code",u.COL="col",u.COLGROUP="colgroup",u.DD="dd",u.DESC="desc",u.DETAILS="details",u.DIALOG="dialog",u.DIR="dir",u.DIV="div",u.DL="dl",u.DT="dt",u.EM="em",u.EMBED="embed",u.FIELDSET="fieldset",u.FIGCAPTION="figcaption",u.FIGURE="figure",u.FONT="font",u.FOOTER="footer",u.FOREIGN_OBJECT="foreignObject",u.FORM="form",u.FRAME="frame",u.FRAMESET="frameset",u.H1="h1",u.H2="h2",u.H3="h3",u.H4="h4",u.H5="h5",u.H6="h6",u.HEAD="head",u.HEADER="header",u.HGROUP="hgroup",u.HR="hr",u.HTML="html",u.I="i",u.IMG="img",u.IMAGE="image",u.INPUT="input",u.IFRAME="iframe",u.KEYGEN="keygen",u.LABEL="label",u.LI="li",u.LINK="link",u.LISTING="listing",u.MAIN="main",u.MALIGNMARK="malignmark",u.MARQUEE="marquee",u.MATH="math",u.MENU="menu",u.META="meta",u.MGLYPH="mglyph",u.MI="mi",u.MO="mo",u.MN="mn",u.MS="ms",u.MTEXT="mtext",u.NAV="nav",u.NOBR="nobr",u.NOFRAMES="noframes",u.NOEMBED="noembed",u.NOSCRIPT="noscript",u.OBJECT="object",u.OL="ol",u.OPTGROUP="optgroup",u.OPTION="option",u.P="p",u.PARAM="param",u.PLAINTEXT="plaintext",u.PRE="pre",u.RB="rb",u.RP="rp",u.RT="rt",u.RTC="rtc",u.RUBY="ruby",u.S="s",u.SCRIPT="script",u.SEARCH="search",u.SECTION="section",u.SELECT="select",u.SOURCE="source",u.SMALL="small",u.SPAN="span",u.STRIKE="strike",u.STRONG="strong",u.STYLE="style",u.SUB="sub",u.SUMMARY="summary",u.SUP="sup",u.TABLE="table",u.TBODY="tbody",u.TEMPLATE="template",u.TEXTAREA="textarea",u.TFOOT="tfoot",u.TD="td",u.TH="th",u.THEAD="thead",u.TITLE="title",u.TR="tr",u.TRACK="track",u.TT="tt",u.U="u",u.UL="ul",u.SVG="svg",u.VAR="var",u.WBR="wbr",u.XMP="xmp"})(C||(C={}));var r;(function(u){u[u.UNKNOWN=0]="UNKNOWN",u[u.A=1]="A",u[u.ADDRESS=2]="ADDRESS",u[u.ANNOTATION_XML=3]="ANNOTATION_XML",u[u.APPLET=4]="APPLET",u[u.AREA=5]="AREA",u[u.ARTICLE=6]="ARTICLE",u[u.ASIDE=7]="ASIDE",u[u.B=8]="B",u[u.BASE=9]="BASE",u[u.BASEFONT=10]="BASEFONT",u[u.BGSOUND=11]="BGSOUND",u[u.BIG=12]="BIG",u[u.BLOCKQUOTE=13]="BLOCKQUOTE",u[u.BODY=14]="BODY",u[u.BR=15]="BR",u[u.BUTTON=16]="BUTTON",u[u.CAPTION=17]="CAPTION",u[u.CENTER=18]="CENTER",u[u.CODE=19]="CODE",u[u.COL=20]="COL",u[u.COLGROUP=21]="COLGROUP",u[u.DD=22]="DD",u[u.DESC=23]="DESC",u[u.DETAILS=24]="DETAILS",u[u.DIALOG=25]="DIALOG",u[u.DIR=26]="DIR",u[u.DIV=27]="DIV",u[u.DL=28]="DL",u[u.DT=29]="DT",u[u.EM=30]="EM",u[u.EMBED=31]="EMBED",u[u.FIELDSET=32]="FIELDSET",u[u.FIGCAPTION=33]="FIGCAPTION",u[u.FIGURE=34]="FIGURE",u[u.FONT=35]="FONT",u[u.FOOTER=36]="FOOTER",u[u.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",u[u.FORM=38]="FORM",u[u.FRAME=39]="FRAME",u[u.FRAMESET=40]="FRAMESET",u[u.H1=41]="H1",u[u.H2=42]="H2",u[u.H3=43]="H3",u[u.H4=44]="H4",u[u.H5=45]="H5",u[u.H6=46]="H6",u[u.HEAD=47]="HEAD",u[u.HEADER=48]="HEADER",u[u.HGROUP=49]="HGROUP",u[u.HR=50]="HR",u[u.HTML=51]="HTML",u[u.I=52]="I",u[u.IMG=53]="IMG",u[u.IMAGE=54]="IMAGE",u[u.INPUT=55]="INPUT",u[u.IFRAME=56]="IFRAME",u[u.KEYGEN=57]="KEYGEN",u[u.LABEL=58]="LABEL",u[u.LI=59]="LI",u[u.LINK=60]="LINK",u[u.LISTING=61]="LISTING",u[u.MAIN=62]="MAIN",u[u.MALIGNMARK=63]="MALIGNMARK",u[u.MARQUEE=64]="MARQUEE",u[u.MATH=65]="MATH",u[u.MENU=66]="MENU",u[u.META=67]="META",u[u.MGLYPH=68]="MGLYPH",u[u.MI=69]="MI",u[u.MO=70]="MO",u[u.MN=71]="MN",u[u.MS=72]="MS",u[u.MTEXT=73]="MTEXT",u[u.NAV=74]="NAV",u[u.NOBR=75]="NOBR",u[u.NOFRAMES=76]="NOFRAMES",u[u.NOEMBED=77]="NOEMBED",u[u.NOSCRIPT=78]="NOSCRIPT",u[u.OBJECT=79]="OBJECT",u[u.OL=80]="OL",u[u.OPTGROUP=81]="OPTGROUP",u[u.OPTION=82]="OPTION",u[u.P=83]="P",u[u.PARAM=84]="PARAM",u[u.PLAINTEXT=85]="PLAINTEXT",u[u.PRE=86]="PRE",u[u.RB=87]="RB",u[u.RP=88]="RP",u[u.RT=89]="RT",u[u.RTC=90]="RTC",u[u.RUBY=91]="RUBY",u[u.S=92]="S",u[u.SCRIPT=93]="SCRIPT",u[u.SEARCH=94]="SEARCH",u[u.SECTION=95]="SECTION",u[u.SELECT=96]="SELECT",u[u.SOURCE=97]="SOURCE",u[u.SMALL=98]="SMALL",u[u.SPAN=99]="SPAN",u[u.STRIKE=100]="STRIKE",u[u.STRONG=101]="STRONG",u[u.STYLE=102]="STYLE",u[u.SUB=103]="SUB",u[u.SUMMARY=104]="SUMMARY",u[u.SUP=105]="SUP",u[u.TABLE=106]="TABLE",u[u.TBODY=107]="TBODY",u[u.TEMPLATE=108]="TEMPLATE",u[u.TEXTAREA=109]="TEXTAREA",u[u.TFOOT=110]="TFOOT",u[u.TD=111]="TD",u[u.TH=112]="TH",u[u.THEAD=113]="THEAD",u[u.TITLE=114]="TITLE",u[u.TR=115]="TR",u[u.TRACK=116]="TRACK",u[u.TT=117]="TT",u[u.U=118]="U",u[u.UL=119]="UL",u[u.SVG=120]="SVG",u[u.VAR=121]="VAR",u[u.WBR=122]="WBR",u[u.XMP=123]="XMP"})(r||(r={}));var Wn=new Map([[C.A,r.A],[C.ADDRESS,r.ADDRESS],[C.ANNOTATION_XML,r.ANNOTATION_XML],[C.APPLET,r.APPLET],[C.AREA,r.AREA],[C.ARTICLE,r.ARTICLE],[C.ASIDE,r.ASIDE],[C.B,r.B],[C.BASE,r.BASE],[C.BASEFONT,r.BASEFONT],[C.BGSOUND,r.BGSOUND],[C.BIG,r.BIG],[C.BLOCKQUOTE,r.BLOCKQUOTE],[C.BODY,r.BODY],[C.BR,r.BR],[C.BUTTON,r.BUTTON],[C.CAPTION,r.CAPTION],[C.CENTER,r.CENTER],[C.CODE,r.CODE],[C.COL,r.COL],[C.COLGROUP,r.COLGROUP],[C.DD,r.DD],[C.DESC,r.DESC],[C.DETAILS,r.DETAILS],[C.DIALOG,r.DIALOG],[C.DIR,r.DIR],[C.DIV,r.DIV],[C.DL,r.DL],[C.DT,r.DT],[C.EM,r.EM],[C.EMBED,r.EMBED],[C.FIELDSET,r.FIELDSET],[C.FIGCAPTION,r.FIGCAPTION],[C.FIGURE,r.FIGURE],[C.FONT,r.FONT],[C.FOOTER,r.FOOTER],[C.FOREIGN_OBJECT,r.FOREIGN_OBJECT],[C.FORM,r.FORM],[C.FRAME,r.FRAME],[C.FRAMESET,r.FRAMESET],[C.H1,r.H1],[C.H2,r.H2],[C.H3,r.H3],[C.H4,r.H4],[C.H5,r.H5],[C.H6,r.H6],[C.HEAD,r.HEAD],[C.HEADER,r.HEADER],[C.HGROUP,r.HGROUP],[C.HR,r.HR],[C.HTML,r.HTML],[C.I,r.I],[C.IMG,r.IMG],[C.IMAGE,r.IMAGE],[C.INPUT,r.INPUT],[C.IFRAME,r.IFRAME],[C.KEYGEN,r.KEYGEN],[C.LABEL,r.LABEL],[C.LI,r.LI],[C.LINK,r.LINK],[C.LISTING,r.LISTING],[C.MAIN,r.MAIN],[C.MALIGNMARK,r.MALIGNMARK],[C.MARQUEE,r.MARQUEE],[C.MATH,r.MATH],[C.MENU,r.MENU],[C.META,r.META],[C.MGLYPH,r.MGLYPH],[C.MI,r.MI],[C.MO,r.MO],[C.MN,r.MN],[C.MS,r.MS],[C.MTEXT,r.MTEXT],[C.NAV,r.NAV],[C.NOBR,r.NOBR],[C.NOFRAMES,r.NOFRAMES],[C.NOEMBED,r.NOEMBED],[C.NOSCRIPT,r.NOSCRIPT],[C.OBJECT,r.OBJECT],[C.OL,r.OL],[C.OPTGROUP,r.OPTGROUP],[C.OPTION,r.OPTION],[C.P,r.P],[C.PARAM,r.PARAM],[C.PLAINTEXT,r.PLAINTEXT],[C.PRE,r.PRE],[C.RB,r.RB],[C.RP,r.RP],[C.RT,r.RT],[C.RTC,r.RTC],[C.RUBY,r.RUBY],[C.S,r.S],[C.SCRIPT,r.SCRIPT],[C.SEARCH,r.SEARCH],[C.SECTION,r.SECTION],[C.SELECT,r.SELECT],[C.SOURCE,r.SOURCE],[C.SMALL,r.SMALL],[C.SPAN,r.SPAN],[C.STRIKE,r.STRIKE],[C.STRONG,r.STRONG],[C.STYLE,r.STYLE],[C.SUB,r.SUB],[C.SUMMARY,r.SUMMARY],[C.SUP,r.SUP],[C.TABLE,r.TABLE],[C.TBODY,r.TBODY],[C.TEMPLATE,r.TEMPLATE],[C.TEXTAREA,r.TEXTAREA],[C.TFOOT,r.TFOOT],[C.TD,r.TD],[C.TH,r.TH],[C.THEAD,r.THEAD],[C.TITLE,r.TITLE],[C.TR,r.TR],[C.TRACK,r.TRACK],[C.TT,r.TT],[C.U,r.U],[C.UL,r.UL],[C.SVG,r.SVG],[C.VAR,r.VAR],[C.WBR,r.WBR],[C.XMP,r.XMP]]);function bu(u){var e;return(e=Wn.get(u))!==null&&e!==void 0?e:r.UNKNOWN}var F=r,zt={[m.HTML]:new Set([F.ADDRESS,F.APPLET,F.AREA,F.ARTICLE,F.ASIDE,F.BASE,F.BASEFONT,F.BGSOUND,F.BLOCKQUOTE,F.BODY,F.BR,F.BUTTON,F.CAPTION,F.CENTER,F.COL,F.COLGROUP,F.DD,F.DETAILS,F.DIR,F.DIV,F.DL,F.DT,F.EMBED,F.FIELDSET,F.FIGCAPTION,F.FIGURE,F.FOOTER,F.FORM,F.FRAME,F.FRAMESET,F.H1,F.H2,F.H3,F.H4,F.H5,F.H6,F.HEAD,F.HEADER,F.HGROUP,F.HR,F.HTML,F.IFRAME,F.IMG,F.INPUT,F.LI,F.LINK,F.LISTING,F.MAIN,F.MARQUEE,F.MENU,F.META,F.NAV,F.NOEMBED,F.NOFRAMES,F.NOSCRIPT,F.OBJECT,F.OL,F.P,F.PARAM,F.PLAINTEXT,F.PRE,F.SCRIPT,F.SECTION,F.SELECT,F.SOURCE,F.STYLE,F.SUMMARY,F.TABLE,F.TBODY,F.TD,F.TEMPLATE,F.TEXTAREA,F.TFOOT,F.TH,F.THEAD,F.TITLE,F.TR,F.TRACK,F.UL,F.WBR,F.XMP]),[m.MATHML]:new Set([F.MI,F.MO,F.MN,F.MS,F.MTEXT,F.ANNOTATION_XML]),[m.SVG]:new Set([F.TITLE,F.FOREIGN_OBJECT,F.DESC]),[m.XLINK]:new Set,[m.XML]:new Set,[m.XMLNS]:new Set},ju=new Set([F.H1,F.H2,F.H3,F.H4,F.H5,F.H6]),Xn=new Set([C.STYLE,C.SCRIPT,C.XMP,C.IFRAME,C.NOEMBED,C.NOFRAMES,C.PLAINTEXT]);function Gt(u,e){return Xn.has(u)||e&&u===C.NOSCRIPT}var E;(function(u){u[u.DATA=0]="DATA",u[u.RCDATA=1]="RCDATA",u[u.RAWTEXT=2]="RAWTEXT",u[u.SCRIPT_DATA=3]="SCRIPT_DATA",u[u.PLAINTEXT=4]="PLAINTEXT",u[u.TAG_OPEN=5]="TAG_OPEN",u[u.END_TAG_OPEN=6]="END_TAG_OPEN",u[u.TAG_NAME=7]="TAG_NAME",u[u.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",u[u.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",u[u.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",u[u.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",u[u.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",u[u.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",u[u.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",u[u.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",u[u.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",u[u.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",u[u.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",u[u.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",u[u.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",u[u.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",u[u.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",u[u.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",u[u.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",u[u.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",u[u.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",u[u.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",u[u.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",u[u.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",u[u.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",u[u.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",u[u.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",u[u.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",u[u.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",u[u.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",u[u.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",u[u.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",u[u.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",u[u.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",u[u.BOGUS_COMMENT=40]="BOGUS_COMMENT",u[u.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",u[u.COMMENT_START=42]="COMMENT_START",u[u.COMMENT_START_DASH=43]="COMMENT_START_DASH",u[u.COMMENT=44]="COMMENT",u[u.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",u[u.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",u[u.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",u[u.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",u[u.COMMENT_END_DASH=49]="COMMENT_END_DASH",u[u.COMMENT_END=50]="COMMENT_END",u[u.COMMENT_END_BANG=51]="COMMENT_END_BANG",u[u.DOCTYPE=52]="DOCTYPE",u[u.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",u[u.DOCTYPE_NAME=54]="DOCTYPE_NAME",u[u.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",u[u.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",u[u.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",u[u.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",u[u.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",u[u.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",u[u.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",u[u.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",u[u.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",u[u.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",u[u.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",u[u.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",u[u.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",u[u.CDATA_SECTION=68]="CDATA_SECTION",u[u.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",u[u.CDATA_SECTION_END=70]="CDATA_SECTION_END",u[u.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",u[u.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(E||(E={}));var Y={DATA:E.DATA,RCDATA:E.RCDATA,RAWTEXT:E.RAWTEXT,SCRIPT_DATA:E.SCRIPT_DATA,PLAINTEXT:E.PLAINTEXT,CDATA_SECTION:E.CDATA_SECTION};function Kn(u){return u>=c.DIGIT_0&&u<=c.DIGIT_9}function xu(u){return u>=c.LATIN_CAPITAL_A&&u<=c.LATIN_CAPITAL_Z}function $n(u){return u>=c.LATIN_SMALL_A&&u<=c.LATIN_SMALL_Z}function ou(u){return $n(u)||xu(u)}function Vt(u){return ou(u)||Kn(u)}function Zu(u){return u+32}function Qt(u){return u===c.SPACE||u===c.LINE_FEED||u===c.TABULATION||u===c.FORM_FEED}function Wt(u){return Qt(u)||u===c.SOLIDUS||u===c.GREATER_THAN_SIGN}function jn(u){return u===c.NULL?d.nullCharacterReference:u>1114111?d.characterReferenceOutsideUnicodeRange:Ht(u)?d.surrogateCharacterReference:Yt(u)?d.noncharacterCharacterReference:qt(u)||u===c.CARRIAGE_RETURN?d.controlCharacterReference:null}var Zn=class{constructor(u,e){this.options=u,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=E.DATA,this.returnState=E.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new yn(e),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new Gn(vn,(t,s)=>{this.preprocessor.pos=this.entityStartPos+s-1,this._flushCodePointConsumedAsCharacterReference(t)},e.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(d.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:t=>{this._err(d.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+t)},validateNumericCharacterReference:t=>{const s=jn(t);s&&this._err(s,1)}}:void 0)}_err(u,e=0){var t,s;(s=(t=this.handler).onParseError)===null||s===void 0||s.call(t,this.preprocessor.getError(u,e))}getCurrentLocation(u){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-u,startOffset:this.preprocessor.offset-u,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const u=this._consume();this._ensureHibernation()||this._callState(u)}this.inLoop=!1}}pause(){this.paused=!0}resume(u){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||u==null||u())}write(u,e,t){this.active=!0,this.preprocessor.write(u,e),this._runParsingLoop(),this.paused||t==null||t()}insertHtmlAtCurrentPos(u){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(u),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(u){this.consumedAfterSnapshot+=u;for(let e=0;e<u;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(u,e){return this.preprocessor.startsWith(u,e)?(this._advanceBy(u.length-1),!0):!1}_createStartTagToken(){this.currentToken={type:L.START_TAG,tagName:"",tagID:r.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:L.END_TAG,tagName:"",tagID:r.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(u){this.currentToken={type:L.COMMENT,data:"",location:this.getCurrentLocation(u)}}_createDoctypeToken(u){this.currentToken={type:L.DOCTYPE,name:u,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(u,e){this.currentCharacterToken={type:u,chars:e,location:this.currentLocation}}_createAttr(u){this.currentAttr={name:u,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var u,e;const t=this.currentToken;if(xe(t,this.currentAttr.name)===null){if(t.attrs.push(this.currentAttr),t.location&&this.currentLocation){const s=(u=(e=t.location).attrs)!==null&&u!==void 0?u:e.attrs=Object.create(null);s[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(d.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(u){this._emitCurrentCharacterToken(u.location),this.currentToken=null,u.location&&(u.location.endLine=this.preprocessor.line,u.location.endCol=this.preprocessor.col+1,u.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const u=this.currentToken;this.prepareToken(u),u.tagID=bu(u.tagName),u.type===L.START_TAG?(this.lastStartTagName=u.tagName,this.handler.onStartTag(u)):(u.attrs.length>0&&this._err(d.endTagWithAttributes),u.selfClosing&&this._err(d.endTagWithTrailingSolidus),this.handler.onEndTag(u)),this.preprocessor.dropParsedChunk()}emitCurrentComment(u){this.prepareToken(u),this.handler.onComment(u),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(u){this.prepareToken(u),this.handler.onDoctype(u),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(u){if(this.currentCharacterToken){switch(u&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=u.startLine,this.currentCharacterToken.location.endCol=u.startCol,this.currentCharacterToken.location.endOffset=u.startOffset),this.currentCharacterToken.type){case L.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case L.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case L.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const u=this.getCurrentLocation(0);u&&(u.endLine=u.startLine,u.endCol=u.startCol,u.endOffset=u.startOffset),this._emitCurrentCharacterToken(u),this.handler.onEof({type:L.EOF,location:u}),this.active=!1}_appendCharToCurrentCharacterToken(u,e){if(this.currentCharacterToken)if(this.currentCharacterToken.type===u){this.currentCharacterToken.chars+=e;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(u,e)}_emitCodePoint(u){const e=Qt(u)?L.WHITESPACE_CHARACTER:u===c.NULL?L.NULL_CHARACTER:L.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(u))}_emitChars(u){this._appendCharToCurrentCharacterToken(L.CHARACTER,u)}_startCharacterReference(){this.returnState=this.state,this.state=E.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?uu.Attribute:uu.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===E.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===E.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===E.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(u){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(u):this._emitCodePoint(u)}_callState(u){switch(this.state){case E.DATA:{this._stateData(u);break}case E.RCDATA:{this._stateRcdata(u);break}case E.RAWTEXT:{this._stateRawtext(u);break}case E.SCRIPT_DATA:{this._stateScriptData(u);break}case E.PLAINTEXT:{this._statePlaintext(u);break}case E.TAG_OPEN:{this._stateTagOpen(u);break}case E.END_TAG_OPEN:{this._stateEndTagOpen(u);break}case E.TAG_NAME:{this._stateTagName(u);break}case E.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(u);break}case E.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(u);break}case E.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(u);break}case E.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(u);break}case E.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(u);break}case E.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(u);break}case E.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(u);break}case E.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(u);break}case E.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(u);break}case E.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(u);break}case E.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(u);break}case E.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(u);break}case E.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(u);break}case E.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(u);break}case E.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(u);break}case E.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(u);break}case E.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(u);break}case E.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(u);break}case E.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(u);break}case E.ATTRIBUTE_NAME:{this._stateAttributeName(u);break}case E.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(u);break}case E.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(u);break}case E.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(u);break}case E.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(u);break}case E.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(u);break}case E.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(u);break}case E.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(u);break}case E.BOGUS_COMMENT:{this._stateBogusComment(u);break}case E.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(u);break}case E.COMMENT_START:{this._stateCommentStart(u);break}case E.COMMENT_START_DASH:{this._stateCommentStartDash(u);break}case E.COMMENT:{this._stateComment(u);break}case E.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(u);break}case E.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(u);break}case E.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(u);break}case E.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(u);break}case E.COMMENT_END_DASH:{this._stateCommentEndDash(u);break}case E.COMMENT_END:{this._stateCommentEnd(u);break}case E.COMMENT_END_BANG:{this._stateCommentEndBang(u);break}case E.DOCTYPE:{this._stateDoctype(u);break}case E.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(u);break}case E.DOCTYPE_NAME:{this._stateDoctypeName(u);break}case E.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(u);break}case E.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(u);break}case E.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(u);break}case E.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(u);break}case E.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(u);break}case E.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(u);break}case E.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(u);break}case E.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(u);break}case E.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(u);break}case E.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(u);break}case E.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(u);break}case E.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(u);break}case E.BOGUS_DOCTYPE:{this._stateBogusDoctype(u);break}case E.CDATA_SECTION:{this._stateCdataSection(u);break}case E.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(u);break}case E.CDATA_SECTION_END:{this._stateCdataSectionEnd(u);break}case E.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case E.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(u);break}default:throw new Error("Unknown state")}}_stateData(u){switch(u){case c.LESS_THAN_SIGN:{this.state=E.TAG_OPEN;break}case c.AMPERSAND:{this._startCharacterReference();break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitCodePoint(u);break}case c.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateRcdata(u){switch(u){case c.AMPERSAND:{this._startCharacterReference();break}case c.LESS_THAN_SIGN:{this.state=E.RCDATA_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateRawtext(u){switch(u){case c.LESS_THAN_SIGN:{this.state=E.RAWTEXT_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateScriptData(u){switch(u){case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(u)}}_statePlaintext(u){switch(u){case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateTagOpen(u){if(ou(u))this._createStartTagToken(),this.state=E.TAG_NAME,this._stateTagName(u);else switch(u){case c.EXCLAMATION_MARK:{this.state=E.MARKUP_DECLARATION_OPEN;break}case c.SOLIDUS:{this.state=E.END_TAG_OPEN;break}case c.QUESTION_MARK:{this._err(d.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=E.BOGUS_COMMENT,this._stateBogusComment(u);break}case c.EOF:{this._err(d.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(d.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=E.DATA,this._stateData(u)}}_stateEndTagOpen(u){if(ou(u))this._createEndTagToken(),this.state=E.TAG_NAME,this._stateTagName(u);else switch(u){case c.GREATER_THAN_SIGN:{this._err(d.missingEndTagName),this.state=E.DATA;break}case c.EOF:{this._err(d.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break}default:this._err(d.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=E.BOGUS_COMMENT,this._stateBogusComment(u)}}_stateTagName(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.BEFORE_ATTRIBUTE_NAME;break}case c.SOLIDUS:{this.state=E.SELF_CLOSING_START_TAG;break}case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentTagToken();break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.tagName+=R;break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:e.tagName+=String.fromCodePoint(xu(u)?Zu(u):u)}}_stateRcdataLessThanSign(u){u===c.SOLIDUS?this.state=E.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=E.RCDATA,this._stateRcdata(u))}_stateRcdataEndTagOpen(u){ou(u)?(this.state=E.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(u)):(this._emitChars("</"),this.state=E.RCDATA,this._stateRcdata(u))}handleSpecialEndTag(u){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();const e=this.currentToken;switch(e.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=E.BEFORE_ATTRIBUTE_NAME,!1;case c.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=E.SELF_CLOSING_START_TAG,!1;case c.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=E.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(u){this.handleSpecialEndTag(u)&&(this._emitChars("</"),this.state=E.RCDATA,this._stateRcdata(u))}_stateRawtextLessThanSign(u){u===c.SOLIDUS?this.state=E.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=E.RAWTEXT,this._stateRawtext(u))}_stateRawtextEndTagOpen(u){ou(u)?(this.state=E.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(u)):(this._emitChars("</"),this.state=E.RAWTEXT,this._stateRawtext(u))}_stateRawtextEndTagName(u){this.handleSpecialEndTag(u)&&(this._emitChars("</"),this.state=E.RAWTEXT,this._stateRawtext(u))}_stateScriptDataLessThanSign(u){switch(u){case c.SOLIDUS:{this.state=E.SCRIPT_DATA_END_TAG_OPEN;break}case c.EXCLAMATION_MARK:{this.state=E.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break}default:this._emitChars("<"),this.state=E.SCRIPT_DATA,this._stateScriptData(u)}}_stateScriptDataEndTagOpen(u){ou(u)?(this.state=E.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(u)):(this._emitChars("</"),this.state=E.SCRIPT_DATA,this._stateScriptData(u))}_stateScriptDataEndTagName(u){this.handleSpecialEndTag(u)&&(this._emitChars("</"),this.state=E.SCRIPT_DATA,this._stateScriptData(u))}_stateScriptDataEscapeStart(u){u===c.HYPHEN_MINUS?(this.state=E.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=E.SCRIPT_DATA,this._stateScriptData(u))}_stateScriptDataEscapeStartDash(u){u===c.HYPHEN_MINUS?(this.state=E.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=E.SCRIPT_DATA,this._stateScriptData(u))}_stateScriptDataEscaped(u){switch(u){case c.HYPHEN_MINUS:{this.state=E.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateScriptDataEscapedDash(u){switch(u){case c.HYPHEN_MINUS:{this.state=E.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.state=E.SCRIPT_DATA_ESCAPED,this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=E.SCRIPT_DATA_ESCAPED,this._emitCodePoint(u)}}_stateScriptDataEscapedDashDash(u){switch(u){case c.HYPHEN_MINUS:{this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break}case c.GREATER_THAN_SIGN:{this.state=E.SCRIPT_DATA,this._emitChars(">");break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.state=E.SCRIPT_DATA_ESCAPED,this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=E.SCRIPT_DATA_ESCAPED,this._emitCodePoint(u)}}_stateScriptDataEscapedLessThanSign(u){u===c.SOLIDUS?this.state=E.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ou(u)?(this._emitChars("<"),this.state=E.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(u)):(this._emitChars("<"),this.state=E.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(u))}_stateScriptDataEscapedEndTagOpen(u){ou(u)?(this.state=E.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(u)):(this._emitChars("</"),this.state=E.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(u))}_stateScriptDataEscapedEndTagName(u){this.handleSpecialEndTag(u)&&(this._emitChars("</"),this.state=E.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(u))}_stateScriptDataDoubleEscapeStart(u){if(this.preprocessor.startsWith(q.SCRIPT,!1)&&Wt(this.preprocessor.peek(q.SCRIPT.length))){this._emitCodePoint(u);for(let e=0;e<q.SCRIPT.length;e++)this._emitCodePoint(this._consume());this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=E.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(u))}_stateScriptDataDoubleEscaped(u){switch(u){case c.HYPHEN_MINUS:{this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case c.NULL:{this._err(d.unexpectedNullCharacter),this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateScriptDataDoubleEscapedDash(u){switch(u){case c.HYPHEN_MINUS:{this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(u)}}_stateScriptDataDoubleEscapedDashDash(u){switch(u){case c.HYPHEN_MINUS:{this._emitChars("-");break}case c.LESS_THAN_SIGN:{this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break}case c.GREATER_THAN_SIGN:{this.state=E.SCRIPT_DATA,this._emitChars(">");break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(R);break}case c.EOF:{this._err(d.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(u)}}_stateScriptDataDoubleEscapedLessThanSign(u){u===c.SOLIDUS?(this.state=E.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(u))}_stateScriptDataDoubleEscapeEnd(u){if(this.preprocessor.startsWith(q.SCRIPT,!1)&&Wt(this.preprocessor.peek(q.SCRIPT.length))){this._emitCodePoint(u);for(let e=0;e<q.SCRIPT.length;e++)this._emitCodePoint(this._consume());this.state=E.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=E.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(u))}_stateBeforeAttributeName(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.SOLIDUS:case c.GREATER_THAN_SIGN:case c.EOF:{this.state=E.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(u);break}case c.EQUALS_SIGN:{this._err(d.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=E.ATTRIBUTE_NAME;break}default:this._createAttr(""),this.state=E.ATTRIBUTE_NAME,this._stateAttributeName(u)}}_stateAttributeName(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:case c.SOLIDUS:case c.GREATER_THAN_SIGN:case c.EOF:{this._leaveAttrName(),this.state=E.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(u);break}case c.EQUALS_SIGN:{this._leaveAttrName(),this.state=E.BEFORE_ATTRIBUTE_VALUE;break}case c.QUOTATION_MARK:case c.APOSTROPHE:case c.LESS_THAN_SIGN:{this._err(d.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(u);break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.currentAttr.name+=R;break}default:this.currentAttr.name+=String.fromCodePoint(xu(u)?Zu(u):u)}}_stateAfterAttributeName(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.SOLIDUS:{this.state=E.SELF_CLOSING_START_TAG;break}case c.EQUALS_SIGN:{this.state=E.BEFORE_ATTRIBUTE_VALUE;break}case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentTagToken();break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this._createAttr(""),this.state=E.ATTRIBUTE_NAME,this._stateAttributeName(u)}}_stateBeforeAttributeValue(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.QUOTATION_MARK:{this.state=E.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break}case c.APOSTROPHE:{this.state=E.ATTRIBUTE_VALUE_SINGLE_QUOTED;break}case c.GREATER_THAN_SIGN:{this._err(d.missingAttributeValue),this.state=E.DATA,this.emitCurrentTagToken();break}default:this.state=E.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(u)}}_stateAttributeValueDoubleQuoted(u){switch(u){case c.QUOTATION_MARK:{this.state=E.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case c.AMPERSAND:{this._startCharacterReference();break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.currentAttr.value+=R;break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(u)}}_stateAttributeValueSingleQuoted(u){switch(u){case c.APOSTROPHE:{this.state=E.AFTER_ATTRIBUTE_VALUE_QUOTED;break}case c.AMPERSAND:{this._startCharacterReference();break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.currentAttr.value+=R;break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(u)}}_stateAttributeValueUnquoted(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this._leaveAttrValue(),this.state=E.BEFORE_ATTRIBUTE_NAME;break}case c.AMPERSAND:{this._startCharacterReference();break}case c.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=E.DATA,this.emitCurrentTagToken();break}case c.NULL:{this._err(d.unexpectedNullCharacter),this.currentAttr.value+=R;break}case c.QUOTATION_MARK:case c.APOSTROPHE:case c.LESS_THAN_SIGN:case c.EQUALS_SIGN:case c.GRAVE_ACCENT:{this._err(d.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(u);break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this.currentAttr.value+=String.fromCodePoint(u)}}_stateAfterAttributeValueQuoted(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this._leaveAttrValue(),this.state=E.BEFORE_ATTRIBUTE_NAME;break}case c.SOLIDUS:{this._leaveAttrValue(),this.state=E.SELF_CLOSING_START_TAG;break}case c.GREATER_THAN_SIGN:{this._leaveAttrValue(),this.state=E.DATA,this.emitCurrentTagToken();break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this._err(d.missingWhitespaceBetweenAttributes),this.state=E.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(u)}}_stateSelfClosingStartTag(u){switch(u){case c.GREATER_THAN_SIGN:{const e=this.currentToken;e.selfClosing=!0,this.state=E.DATA,this.emitCurrentTagToken();break}case c.EOF:{this._err(d.eofInTag),this._emitEOFToken();break}default:this._err(d.unexpectedSolidusInTag),this.state=E.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(u)}}_stateBogusComment(u){const e=this.currentToken;switch(u){case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentComment(e);break}case c.EOF:{this.emitCurrentComment(e),this._emitEOFToken();break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.data+=R;break}default:e.data+=String.fromCodePoint(u)}}_stateMarkupDeclarationOpen(u){this._consumeSequenceIfMatch(q.DASH_DASH,!0)?(this._createCommentToken(q.DASH_DASH.length+1),this.state=E.COMMENT_START):this._consumeSequenceIfMatch(q.DOCTYPE,!1)?(this.currentLocation=this.getCurrentLocation(q.DOCTYPE.length+1),this.state=E.DOCTYPE):this._consumeSequenceIfMatch(q.CDATA_START,!0)?this.inForeignNode?this.state=E.CDATA_SECTION:(this._err(d.cdataInHtmlContent),this._createCommentToken(q.CDATA_START.length+1),this.currentToken.data="[CDATA[",this.state=E.BOGUS_COMMENT):this._ensureHibernation()||(this._err(d.incorrectlyOpenedComment),this._createCommentToken(2),this.state=E.BOGUS_COMMENT,this._stateBogusComment(u))}_stateCommentStart(u){switch(u){case c.HYPHEN_MINUS:{this.state=E.COMMENT_START_DASH;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptClosingOfEmptyComment),this.state=E.DATA;const e=this.currentToken;this.emitCurrentComment(e);break}default:this.state=E.COMMENT,this._stateComment(u)}}_stateCommentStartDash(u){const e=this.currentToken;switch(u){case c.HYPHEN_MINUS:{this.state=E.COMMENT_END;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptClosingOfEmptyComment),this.state=E.DATA,this.emitCurrentComment(e);break}case c.EOF:{this._err(d.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break}default:e.data+="-",this.state=E.COMMENT,this._stateComment(u)}}_stateComment(u){const e=this.currentToken;switch(u){case c.HYPHEN_MINUS:{this.state=E.COMMENT_END_DASH;break}case c.LESS_THAN_SIGN:{e.data+="<",this.state=E.COMMENT_LESS_THAN_SIGN;break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.data+=R;break}case c.EOF:{this._err(d.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break}default:e.data+=String.fromCodePoint(u)}}_stateCommentLessThanSign(u){const e=this.currentToken;switch(u){case c.EXCLAMATION_MARK:{e.data+="!",this.state=E.COMMENT_LESS_THAN_SIGN_BANG;break}case c.LESS_THAN_SIGN:{e.data+="<";break}default:this.state=E.COMMENT,this._stateComment(u)}}_stateCommentLessThanSignBang(u){u===c.HYPHEN_MINUS?this.state=E.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=E.COMMENT,this._stateComment(u))}_stateCommentLessThanSignBangDash(u){u===c.HYPHEN_MINUS?this.state=E.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=E.COMMENT_END_DASH,this._stateCommentEndDash(u))}_stateCommentLessThanSignBangDashDash(u){u!==c.GREATER_THAN_SIGN&&u!==c.EOF&&this._err(d.nestedComment),this.state=E.COMMENT_END,this._stateCommentEnd(u)}_stateCommentEndDash(u){const e=this.currentToken;switch(u){case c.HYPHEN_MINUS:{this.state=E.COMMENT_END;break}case c.EOF:{this._err(d.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break}default:e.data+="-",this.state=E.COMMENT,this._stateComment(u)}}_stateCommentEnd(u){const e=this.currentToken;switch(u){case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentComment(e);break}case c.EXCLAMATION_MARK:{this.state=E.COMMENT_END_BANG;break}case c.HYPHEN_MINUS:{e.data+="-";break}case c.EOF:{this._err(d.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break}default:e.data+="--",this.state=E.COMMENT,this._stateComment(u)}}_stateCommentEndBang(u){const e=this.currentToken;switch(u){case c.HYPHEN_MINUS:{e.data+="--!",this.state=E.COMMENT_END_DASH;break}case c.GREATER_THAN_SIGN:{this._err(d.incorrectlyClosedComment),this.state=E.DATA,this.emitCurrentComment(e);break}case c.EOF:{this._err(d.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break}default:e.data+="--!",this.state=E.COMMENT,this._stateComment(u)}}_stateDoctype(u){switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.BEFORE_DOCTYPE_NAME;break}case c.GREATER_THAN_SIGN:{this.state=E.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(u);break}case c.EOF:{this._err(d.eofInDoctype),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingWhitespaceBeforeDoctypeName),this.state=E.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(u)}}_stateBeforeDoctypeName(u){if(xu(u))this._createDoctypeToken(String.fromCharCode(Zu(u))),this.state=E.DOCTYPE_NAME;else switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.NULL:{this._err(d.unexpectedNullCharacter),this._createDoctypeToken(R),this.state=E.DOCTYPE_NAME;break}case c.GREATER_THAN_SIGN:{this._err(d.missingDoctypeName),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),this._createDoctypeToken(null);const e=this.currentToken;e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(u)),this.state=E.DOCTYPE_NAME}}_stateDoctypeName(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.AFTER_DOCTYPE_NAME;break}case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.name+=R;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:e.name+=String.fromCodePoint(xu(u)?Zu(u):u)}}_stateAfterDoctypeName(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._consumeSequenceIfMatch(q.PUBLIC,!1)?this.state=E.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(q.SYSTEM,!1)?this.state=E.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(d.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u))}}_stateAfterDoctypePublicKeyword(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break}case c.QUOTATION_MARK:{this._err(d.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=E.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{this._err(d.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=E.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case c.GREATER_THAN_SIGN:{this._err(d.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateBeforeDoctypePublicIdentifier(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.QUOTATION_MARK:{e.publicId="",this.state=E.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{e.publicId="",this.state=E.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break}case c.GREATER_THAN_SIGN:{this._err(d.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateDoctypePublicIdentifierDoubleQuoted(u){const e=this.currentToken;switch(u){case c.QUOTATION_MARK:{this.state=E.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.publicId+=R;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:e.publicId+=String.fromCodePoint(u)}}_stateDoctypePublicIdentifierSingleQuoted(u){const e=this.currentToken;switch(u){case c.APOSTROPHE:{this.state=E.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.publicId+=R;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:e.publicId+=String.fromCodePoint(u)}}_stateAfterDoctypePublicIdentifier(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break}case c.GREATER_THAN_SIGN:{this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.QUOTATION_MARK:{this._err(d.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{this._err(d.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateBetweenDoctypePublicAndSystemIdentifiers(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.GREATER_THAN_SIGN:{this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.QUOTATION_MARK:{e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateAfterDoctypeSystemKeyword(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:{this.state=E.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break}case c.QUOTATION_MARK:{this._err(d.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{this._err(d.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case c.GREATER_THAN_SIGN:{this._err(d.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateBeforeDoctypeSystemIdentifier(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.QUOTATION_MARK:{e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break}case c.APOSTROPHE:{e.systemId="",this.state=E.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break}case c.GREATER_THAN_SIGN:{this._err(d.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.DATA,this.emitCurrentDoctype(e);break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateDoctypeSystemIdentifierDoubleQuoted(u){const e=this.currentToken;switch(u){case c.QUOTATION_MARK:{this.state=E.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.systemId+=R;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:e.systemId+=String.fromCodePoint(u)}}_stateDoctypeSystemIdentifierSingleQuoted(u){const e=this.currentToken;switch(u){case c.APOSTROPHE:{this.state=E.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break}case c.NULL:{this._err(d.unexpectedNullCharacter),e.systemId+=R;break}case c.GREATER_THAN_SIGN:{this._err(d.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:e.systemId+=String.fromCodePoint(u)}}_stateAfterDoctypeSystemIdentifier(u){const e=this.currentToken;switch(u){case c.SPACE:case c.LINE_FEED:case c.TABULATION:case c.FORM_FEED:break;case c.GREATER_THAN_SIGN:{this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.EOF:{this._err(d.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break}default:this._err(d.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=E.BOGUS_DOCTYPE,this._stateBogusDoctype(u)}}_stateBogusDoctype(u){const e=this.currentToken;switch(u){case c.GREATER_THAN_SIGN:{this.emitCurrentDoctype(e),this.state=E.DATA;break}case c.NULL:{this._err(d.unexpectedNullCharacter);break}case c.EOF:{this.emitCurrentDoctype(e),this._emitEOFToken();break}default:}}_stateCdataSection(u){switch(u){case c.RIGHT_SQUARE_BRACKET:{this.state=E.CDATA_SECTION_BRACKET;break}case c.EOF:{this._err(d.eofInCdata),this._emitEOFToken();break}default:this._emitCodePoint(u)}}_stateCdataSectionBracket(u){u===c.RIGHT_SQUARE_BRACKET?this.state=E.CDATA_SECTION_END:(this._emitChars("]"),this.state=E.CDATA_SECTION,this._stateCdataSection(u))}_stateCdataSectionEnd(u){switch(u){case c.GREATER_THAN_SIGN:{this.state=E.DATA;break}case c.RIGHT_SQUARE_BRACKET:{this._emitChars("]");break}default:this._emitChars("]]"),this.state=E.CDATA_SECTION,this._stateCdataSection(u)}}_stateCharacterReference(){let u=this.entityDecoder.write(this.preprocessor.html,this.preprocessor.pos);if(u<0)if(this.preprocessor.lastChunkWritten)u=this.entityDecoder.end();else{this.active=!1,this.preprocessor.pos=this.preprocessor.html.length-1,this.consumedAfterSnapshot=0,this.preprocessor.endOfChunkHit=!0;return}u===0?(this.preprocessor.pos=this.entityStartPos,this._flushCodePointConsumedAsCharacterReference(c.AMPERSAND),this.state=!this._isCharacterReferenceInAttribute()&&Vt(this.preprocessor.peek(1))?E.AMBIGUOUS_AMPERSAND:this.returnState):this.state=this.returnState}_stateAmbiguousAmpersand(u){Vt(u)?this._flushCodePointConsumedAsCharacterReference(u):(u===c.SEMICOLON&&this._err(d.unknownNamedCharacterReference),this.state=this.returnState,this._callState(u))}},Xt=new Set([r.DD,r.DT,r.LI,r.OPTGROUP,r.OPTION,r.P,r.RB,r.RP,r.RT,r.RTC]),Kt=new Set([...Xt,r.CAPTION,r.COLGROUP,r.TBODY,r.TD,r.TFOOT,r.TH,r.THEAD,r.TR]),Ju=new Set([r.APPLET,r.CAPTION,r.HTML,r.MARQUEE,r.OBJECT,r.TABLE,r.TD,r.TEMPLATE,r.TH]),Jn=new Set([...Ju,r.OL,r.UL]),ui=new Set([...Ju,r.BUTTON]),$t=new Set([r.ANNOTATION_XML,r.MI,r.MN,r.MO,r.MS,r.MTEXT]),jt=new Set([r.DESC,r.FOREIGN_OBJECT,r.TITLE]),ei=new Set([r.TR,r.TEMPLATE,r.HTML]),ti=new Set([r.TBODY,r.TFOOT,r.THEAD,r.TEMPLATE,r.HTML]),ri=new Set([r.TABLE,r.TEMPLATE,r.HTML]),si=new Set([r.TD,r.TH]),ni=class{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(u,e,t){this.treeAdapter=e,this.handler=t,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=r.UNKNOWN,this.current=u}_indexOf(u){return this.items.lastIndexOf(u,this.stackTop)}_isInTemplate(){return this.currentTagId===r.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===m.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(u,e){this.stackTop++,this.items[this.stackTop]=u,this.current=u,this.tagIDs[this.stackTop]=e,this.currentTagId=e,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(u,e,!0)}pop(){const u=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(u,!0)}replace(u,e){const t=this._indexOf(u);this.items[t]=e,t===this.stackTop&&(this.current=e)}insertAfter(u,e,t){const s=this._indexOf(u)+1;this.items.splice(s,0,e),this.tagIDs.splice(s,0,t),this.stackTop++,s===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,s===this.stackTop)}popUntilTagNamePopped(u){let e=this.stackTop+1;do e=this.tagIDs.lastIndexOf(u,e-1);while(e>0&&this.treeAdapter.getNamespaceURI(this.items[e])!==m.HTML);this.shortenToLength(Math.max(e,0))}shortenToLength(u){for(;this.stackTop>=u;){const e=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,this.stackTop<u)}}popUntilElementPopped(u){const e=this._indexOf(u);this.shortenToLength(Math.max(e,0))}popUntilPopped(u,e){const t=this._indexOfTagNames(u,e);this.shortenToLength(Math.max(t,0))}popUntilNumberedHeaderPopped(){this.popUntilPopped(ju,m.HTML)}popUntilTableCellPopped(){this.popUntilPopped(si,m.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(u,e){for(let t=this.stackTop;t>=0;t--)if(u.has(this.tagIDs[t])&&this.treeAdapter.getNamespaceURI(this.items[t])===e)return t;return-1}clearBackTo(u,e){const t=this._indexOfTagNames(u,e);this.shortenToLength(t+1)}clearBackToTableContext(){this.clearBackTo(ri,m.HTML)}clearBackToTableBodyContext(){this.clearBackTo(ti,m.HTML)}clearBackToTableRowContext(){this.clearBackTo(ei,m.HTML)}remove(u){const e=this._indexOf(u);e>=0&&(e===this.stackTop?this.pop():(this.items.splice(e,1),this.tagIDs.splice(e,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(u,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===r.BODY?this.items[1]:null}contains(u){return this._indexOf(u)>-1}getCommonAncestor(u){const e=this._indexOf(u)-1;return e>=0?this.items[e]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===r.HTML}hasInDynamicScope(u,e){for(let t=this.stackTop;t>=0;t--){const s=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case m.HTML:{if(s===u)return!0;if(e.has(s))return!1;break}case m.SVG:{if(jt.has(s))return!1;break}case m.MATHML:{if($t.has(s))return!1;break}}}return!0}hasInScope(u){return this.hasInDynamicScope(u,Ju)}hasInListItemScope(u){return this.hasInDynamicScope(u,Jn)}hasInButtonScope(u){return this.hasInDynamicScope(u,ui)}hasNumberedHeaderInScope(){for(let u=this.stackTop;u>=0;u--){const e=this.tagIDs[u];switch(this.treeAdapter.getNamespaceURI(this.items[u])){case m.HTML:{if(ju.has(e))return!0;if(Ju.has(e))return!1;break}case m.SVG:{if(jt.has(e))return!1;break}case m.MATHML:{if($t.has(e))return!1;break}}}return!0}hasInTableScope(u){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===m.HTML)switch(this.tagIDs[e]){case u:return!0;case r.TABLE:case r.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let u=this.stackTop;u>=0;u--)if(this.treeAdapter.getNamespaceURI(this.items[u])===m.HTML)switch(this.tagIDs[u]){case r.TBODY:case r.THEAD:case r.TFOOT:return!0;case r.TABLE:case r.HTML:return!1}return!0}hasInSelectScope(u){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===m.HTML)switch(this.tagIDs[e]){case u:return!0;case r.OPTION:case r.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&Xt.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&Kt.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(u){for(;this.currentTagId!==void 0&&this.currentTagId!==u&&Kt.has(this.currentTagId);)this.pop()}},Le=3,Z;(function(u){u[u.Marker=0]="Marker",u[u.Element=1]="Element"})(Z||(Z={}));var Zt={type:Z.Marker},ii=class{constructor(u){this.treeAdapter=u,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(u,e){const t=[],s=e.length,n=this.treeAdapter.getTagName(u),i=this.treeAdapter.getNamespaceURI(u);for(let a=0;a<this.entries.length;a++){const o=this.entries[a];if(o.type===Z.Marker)break;const{element:l}=o;if(this.treeAdapter.getTagName(l)===n&&this.treeAdapter.getNamespaceURI(l)===i){const h=this.treeAdapter.getAttrList(l);h.length===s&&t.push({idx:a,attrs:h})}}return t}_ensureNoahArkCondition(u){if(this.entries.length<Le)return;const e=this.treeAdapter.getAttrList(u),t=this._getNoahArkConditionCandidates(u,e);if(t.length<Le)return;const s=new Map(e.map(i=>[i.name,i.value]));let n=0;for(let i=0;i<t.length;i++){const a=t[i];a.attrs.every(o=>s.get(o.name)===o.value)&&(n+=1,n>=Le&&this.entries.splice(a.idx,1))}}insertMarker(){this.entries.unshift(Zt)}pushElement(u,e){this._ensureNoahArkCondition(u),this.entries.unshift({type:Z.Element,element:u,token:e})}insertElementAfterBookmark(u,e){const t=this.entries.indexOf(this.bookmark);this.entries.splice(t,0,{type:Z.Element,element:u,token:e})}removeEntry(u){const e=this.entries.indexOf(u);e!==-1&&this.entries.splice(e,1)}clearToLastMarker(){const u=this.entries.indexOf(Zt);u===-1?this.entries.length=0:this.entries.splice(0,u+1)}getElementEntryInScopeWithTagName(u){const e=this.entries.find(t=>t.type===Z.Marker||this.treeAdapter.getTagName(t.element)===u);return e&&e.type===Z.Element?e:null}getElementEntry(u){return this.entries.find(e=>e.type===Z.Element&&e.element===u)}},eu={createDocument(){return{nodeName:"#document",mode:G.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(u,e,t){return{nodeName:u,tagName:u,attrs:t,namespaceURI:e,childNodes:[],parentNode:null}},createCommentNode(u){return{nodeName:"#comment",data:u,parentNode:null}},createTextNode(u){return{nodeName:"#text",value:u,parentNode:null}},appendChild(u,e){u.childNodes.push(e),e.parentNode=u},insertBefore(u,e,t){const s=u.childNodes.indexOf(t);u.childNodes.splice(s,0,e),e.parentNode=u},setTemplateContent(u,e){u.content=e},getTemplateContent(u){return u.content},setDocumentType(u,e,t,s){const n=u.childNodes.find(i=>i.nodeName==="#documentType");if(n)n.name=e,n.publicId=t,n.systemId=s;else{const i={nodeName:"#documentType",name:e,publicId:t,systemId:s,parentNode:null};eu.appendChild(u,i)}},setDocumentMode(u,e){u.mode=e},getDocumentMode(u){return u.mode},detachNode(u){if(u.parentNode){const e=u.parentNode.childNodes.indexOf(u);u.parentNode.childNodes.splice(e,1),u.parentNode=null}},insertText(u,e){if(u.childNodes.length>0){const t=u.childNodes[u.childNodes.length-1];if(eu.isTextNode(t)){t.value+=e;return}}eu.appendChild(u,eu.createTextNode(e))},insertTextBefore(u,e,t){const s=u.childNodes[u.childNodes.indexOf(t)-1];s&&eu.isTextNode(s)?s.value+=e:eu.insertBefore(u,eu.createTextNode(e),t)},adoptAttributes(u,e){const t=new Set(u.attrs.map(s=>s.name));for(let s=0;s<e.length;s++)t.has(e[s].name)||u.attrs.push(e[s])},getFirstChild(u){return u.childNodes[0]},getChildNodes(u){return u.childNodes},getParentNode(u){return u.parentNode},getAttrList(u){return u.attrs},getTagName(u){return u.tagName},getNamespaceURI(u){return u.namespaceURI},getTextNodeContent(u){return u.value},getCommentNodeContent(u){return u.data},getDocumentTypeNodeName(u){return u.name},getDocumentTypeNodePublicId(u){return u.publicId},getDocumentTypeNodeSystemId(u){return u.systemId},isTextNode(u){return u.nodeName==="#text"},isCommentNode(u){return u.nodeName==="#comment"},isDocumentTypeNode(u){return u.nodeName==="#documentType"},isElementNode(u){return Object.prototype.hasOwnProperty.call(u,"tagName")},setNodeSourceCodeLocation(u,e){u.sourceCodeLocation=e},getNodeSourceCodeLocation(u){return u.sourceCodeLocation},updateNodeSourceCodeLocation(u,e){u.sourceCodeLocation={...u.sourceCodeLocation,...e}}},Jt="html",ai="about:legacy-compat",oi="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",u0=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],ci=[...u0,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],li=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),e0=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],Ei=[...e0,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function t0(u,e){return e.some(t=>u.startsWith(t))}function Ai(u){return u.name===Jt&&u.publicId===null&&(u.systemId===null||u.systemId===ai)}function hi(u){if(u.name!==Jt)return G.QUIRKS;const{systemId:e}=u;if(e&&e.toLowerCase()===oi)return G.QUIRKS;let{publicId:t}=u;if(t!==null){if(t=t.toLowerCase(),li.has(t))return G.QUIRKS;let s=e===null?ci:u0;if(t0(t,s))return G.QUIRKS;if(s=e===null?e0:Ei,t0(t,s))return G.LIMITED_QUIRKS}return G.NO_QUIRKS}var Ci={};cu(Ci,{SVG_TAG_NAMES_ADJUSTMENT_MAP:()=>s0,adjustTokenMathMLAttrs:()=>Oe,adjustTokenSVGAttrs:()=>Re,adjustTokenSVGTagName:()=>i0,adjustTokenXMLAttrs:()=>ue,causesExit:()=>n0,isIntegrationPoint:()=>a0});var r0={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},Di="definitionurl",fi="definitionURL",di=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(u=>[u.toLowerCase(),u])),Bi=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:m.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:m.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:m.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:m.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:m.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:m.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:m.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:m.XML}],["xml:space",{prefix:"xml",name:"space",namespace:m.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:m.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:m.XMLNS}]]),s0=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(u=>[u.toLowerCase(),u])),mi=new Set([r.B,r.BIG,r.BLOCKQUOTE,r.BODY,r.BR,r.CENTER,r.CODE,r.DD,r.DIV,r.DL,r.DT,r.EM,r.EMBED,r.H1,r.H2,r.H3,r.H4,r.H5,r.H6,r.HEAD,r.HR,r.I,r.IMG,r.LI,r.LISTING,r.MENU,r.META,r.NOBR,r.OL,r.P,r.PRE,r.RUBY,r.S,r.SMALL,r.SPAN,r.STRONG,r.STRIKE,r.SUB,r.SUP,r.TABLE,r.TT,r.U,r.UL,r.VAR]);function n0(u){const e=u.tagID;return e===r.FONT&&u.attrs.some(({name:s})=>s===au.COLOR||s===au.SIZE||s===au.FACE)||mi.has(e)}function Oe(u){for(let e=0;e<u.attrs.length;e++)if(u.attrs[e].name===Di){u.attrs[e].name=fi;break}}function Re(u){for(let e=0;e<u.attrs.length;e++){const t=di.get(u.attrs[e].name);t!=null&&(u.attrs[e].name=t)}}function ue(u){for(let e=0;e<u.attrs.length;e++){const t=Bi.get(u.attrs[e].name);t&&(u.attrs[e].prefix=t.prefix,u.attrs[e].name=t.name,u.attrs[e].namespace=t.namespace)}}function i0(u){const e=s0.get(u.tagName);e!=null&&(u.tagName=e,u.tagID=bu(u.tagName))}function Ti(u,e){return e===m.MATHML&&(u===r.MI||u===r.MO||u===r.MN||u===r.MS||u===r.MTEXT)}function Fi(u,e,t){if(e===m.MATHML&&u===r.ANNOTATION_XML){for(let s=0;s<t.length;s++)if(t[s].name===au.ENCODING){const n=t[s].value.toLowerCase();return n===r0.TEXT_HTML||n===r0.APPLICATION_XML}}return e===m.SVG&&(u===r.FOREIGN_OBJECT||u===r.DESC||u===r.TITLE)}function a0(u,e,t,s){return(!s||s===m.HTML)&&Fi(u,e,t)||(!s||s===m.MATHML)&&Ti(u,e)}var _i="hidden",pi=8,gi=3,A;(function(u){u[u.INITIAL=0]="INITIAL",u[u.BEFORE_HTML=1]="BEFORE_HTML",u[u.BEFORE_HEAD=2]="BEFORE_HEAD",u[u.IN_HEAD=3]="IN_HEAD",u[u.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",u[u.AFTER_HEAD=5]="AFTER_HEAD",u[u.IN_BODY=6]="IN_BODY",u[u.TEXT=7]="TEXT",u[u.IN_TABLE=8]="IN_TABLE",u[u.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",u[u.IN_CAPTION=10]="IN_CAPTION",u[u.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",u[u.IN_TABLE_BODY=12]="IN_TABLE_BODY",u[u.IN_ROW=13]="IN_ROW",u[u.IN_CELL=14]="IN_CELL",u[u.IN_SELECT=15]="IN_SELECT",u[u.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",u[u.IN_TEMPLATE=17]="IN_TEMPLATE",u[u.AFTER_BODY=18]="AFTER_BODY",u[u.IN_FRAMESET=19]="IN_FRAMESET",u[u.AFTER_FRAMESET=20]="AFTER_FRAMESET",u[u.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",u[u.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(A||(A={}));var Ii={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},o0=new Set([r.TABLE,r.TBODY,r.TFOOT,r.THEAD,r.TR]),c0={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:eu,onParseError:null},Ni=class{constructor(u,e,t=null,s=null){this.fragmentContext=t,this.scriptHandler=s,this.currentToken=null,this.stopped=!1,this.insertionMode=A.INITIAL,this.originalInsertionMode=A.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...c0,...u},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=e!=null?e:this.treeAdapter.createDocument(),this.tokenizer=new Zn(this.options,this),this.activeFormattingElements=new ii(this.treeAdapter),this.fragmentContextID=t?bu(this.treeAdapter.getTagName(t)):r.UNKNOWN,this._setContextModes(t!=null?t:this.document,this.fragmentContextID),this.openElements=new ni(this.document,this.treeAdapter,this)}static parse(u,e){const t=new this(e);return t.tokenizer.write(u,!0),t.document}static getFragmentParser(u,e){const t={...c0,...e};u!=null||(u=t.treeAdapter.createElement(C.TEMPLATE,m.HTML,[]));const s=t.treeAdapter.createElement("documentmock",m.HTML,[]),n=new this(t,s,u);return n.fragmentContextID===r.TEMPLATE&&n.tmplInsertionModeStack.unshift(A.IN_TEMPLATE),n._initTokenizerForFragmentParsing(),n._insertFakeRootElement(),n._resetInsertionMode(),n._findFormInFragmentContext(),n}getFragment(){const u=this.treeAdapter.getFirstChild(this.document),e=this.treeAdapter.createDocumentFragment();return this._adoptNodes(u,e),e}_err(u,e,t){var s;if(!this.onParseError)return;const n=(s=u.location)!==null&&s!==void 0?s:Ii,i={code:e,startLine:n.startLine,startCol:n.startCol,startOffset:n.startOffset,endLine:t?n.startLine:n.endLine,endCol:t?n.startCol:n.endCol,endOffset:t?n.startOffset:n.endOffset};this.onParseError(i)}onItemPush(u,e,t){var s,n;(n=(s=this.treeAdapter).onItemPush)===null||n===void 0||n.call(s,u),t&&this.openElements.stackTop>0&&this._setContextModes(u,e)}onItemPop(u,e){var t,s;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(u,this.currentToken),(s=(t=this.treeAdapter).onItemPop)===null||s===void 0||s.call(t,u,this.openElements.current),e){let n,i;this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,i=this.fragmentContextID):{current:n,currentTagId:i}=this.openElements,this._setContextModes(n,i)}}_setContextModes(u,e){const t=u===this.document||u&&this.treeAdapter.getNamespaceURI(u)===m.HTML;this.currentNotInHTML=!t,this.tokenizer.inForeignNode=!t&&u!==void 0&&e!==void 0&&!this._isIntegrationPoint(e,u)}_switchToTextParsing(u,e){this._insertElement(u,m.HTML),this.tokenizer.state=e,this.originalInsertionMode=this.insertionMode,this.insertionMode=A.TEXT}switchToPlaintextParsing(){this.insertionMode=A.TEXT,this.originalInsertionMode=A.IN_BODY,this.tokenizer.state=Y.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let u=this.fragmentContext;for(;u;){if(this.treeAdapter.getTagName(u)===C.FORM){this.formElement=u;break}u=this.treeAdapter.getParentNode(u)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==m.HTML))switch(this.fragmentContextID){case r.TITLE:case r.TEXTAREA:{this.tokenizer.state=Y.RCDATA;break}case r.STYLE:case r.XMP:case r.IFRAME:case r.NOEMBED:case r.NOFRAMES:case r.NOSCRIPT:{this.tokenizer.state=Y.RAWTEXT;break}case r.SCRIPT:{this.tokenizer.state=Y.SCRIPT_DATA;break}case r.PLAINTEXT:{this.tokenizer.state=Y.PLAINTEXT;break}default:}}_setDocumentType(u){const e=u.name||"",t=u.publicId||"",s=u.systemId||"";if(this.treeAdapter.setDocumentType(this.document,e,t,s),u.location){const i=this.treeAdapter.getChildNodes(this.document).find(a=>this.treeAdapter.isDocumentTypeNode(a));i&&this.treeAdapter.setNodeSourceCodeLocation(i,u.location)}}_attachElementToTree(u,e){if(this.options.sourceCodeLocationInfo){const t=e&&{...e,startTag:e};this.treeAdapter.setNodeSourceCodeLocation(u,t)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(u);else{const t=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(t!=null?t:this.document,u)}}_appendElement(u,e){const t=this.treeAdapter.createElement(u.tagName,e,u.attrs);this._attachElementToTree(t,u.location)}_insertElement(u,e){const t=this.treeAdapter.createElement(u.tagName,e,u.attrs);this._attachElementToTree(t,u.location),this.openElements.push(t,u.tagID)}_insertFakeElement(u,e){const t=this.treeAdapter.createElement(u,m.HTML,[]);this._attachElementToTree(t,null),this.openElements.push(t,e)}_insertTemplate(u){const e=this.treeAdapter.createElement(u.tagName,m.HTML,u.attrs),t=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(e,t),this._attachElementToTree(e,u.location),this.openElements.push(e,u.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null)}_insertFakeRootElement(){const u=this.treeAdapter.createElement(C.HTML,m.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(u,null),this.treeAdapter.appendChild(this.openElements.current,u),this.openElements.push(u,r.HTML)}_appendCommentNode(u,e){const t=this.treeAdapter.createCommentNode(u.data);this.treeAdapter.appendChild(e,t),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,u.location)}_insertCharacters(u){let e,t;if(this._shouldFosterParentOnInsertion()?({parent:e,beforeElement:t}=this._findFosterParentingLocation(),t?this.treeAdapter.insertTextBefore(e,u.chars,t):this.treeAdapter.insertText(e,u.chars)):(e=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(e,u.chars)),!u.location)return;const s=this.treeAdapter.getChildNodes(e),n=t?s.lastIndexOf(t):s.length,i=s[n-1];if(this.treeAdapter.getNodeSourceCodeLocation(i)){const{endLine:o,endCol:l,endOffset:h}=u.location;this.treeAdapter.updateNodeSourceCodeLocation(i,{endLine:o,endCol:l,endOffset:h})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,u.location)}_adoptNodes(u,e){for(let t=this.treeAdapter.getFirstChild(u);t;t=this.treeAdapter.getFirstChild(u))this.treeAdapter.detachNode(t),this.treeAdapter.appendChild(e,t)}_setEndLocation(u,e){if(this.treeAdapter.getNodeSourceCodeLocation(u)&&e.location){const t=e.location,s=this.treeAdapter.getTagName(u),n=e.type===L.END_TAG&&s===e.tagName?{endTag:{...t},endLine:t.endLine,endCol:t.endCol,endOffset:t.endOffset}:{endLine:t.startLine,endCol:t.startCol,endOffset:t.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(u,n)}}shouldProcessStartTagTokenInForeignContent(u){if(!this.currentNotInHTML)return!1;let e,t;return this.openElements.stackTop===0&&this.fragmentContext?(e=this.fragmentContext,t=this.fragmentContextID):{current:e,currentTagId:t}=this.openElements,u.tagID===r.SVG&&this.treeAdapter.getTagName(e)===C.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(e)===m.MATHML?!1:this.tokenizer.inForeignNode||(u.tagID===r.MGLYPH||u.tagID===r.MALIGNMARK)&&t!==void 0&&!this._isIntegrationPoint(t,e,m.HTML)}_processToken(u){switch(u.type){case L.CHARACTER:{this.onCharacter(u);break}case L.NULL_CHARACTER:{this.onNullCharacter(u);break}case L.COMMENT:{this.onComment(u);break}case L.DOCTYPE:{this.onDoctype(u);break}case L.START_TAG:{this._processStartTag(u);break}case L.END_TAG:{this.onEndTag(u);break}case L.EOF:{this.onEof(u);break}case L.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(u);break}}}_isIntegrationPoint(u,e,t){const s=this.treeAdapter.getNamespaceURI(e),n=this.treeAdapter.getAttrList(e);return a0(u,s,n,t)}_reconstructActiveFormattingElements(){const u=this.activeFormattingElements.entries.length;if(u){const e=this.activeFormattingElements.entries.findIndex(s=>s.type===Z.Marker||this.openElements.contains(s.element)),t=e===-1?u-1:e-1;for(let s=t;s>=0;s--){const n=this.activeFormattingElements.entries[s];this._insertElement(n.token,this.treeAdapter.getNamespaceURI(n.element)),n.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=A.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(r.P),this.openElements.popUntilTagNamePopped(r.P)}_resetInsertionMode(){for(let u=this.openElements.stackTop;u>=0;u--)switch(u===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[u]){case r.TR:{this.insertionMode=A.IN_ROW;return}case r.TBODY:case r.THEAD:case r.TFOOT:{this.insertionMode=A.IN_TABLE_BODY;return}case r.CAPTION:{this.insertionMode=A.IN_CAPTION;return}case r.COLGROUP:{this.insertionMode=A.IN_COLUMN_GROUP;return}case r.TABLE:{this.insertionMode=A.IN_TABLE;return}case r.BODY:{this.insertionMode=A.IN_BODY;return}case r.FRAMESET:{this.insertionMode=A.IN_FRAMESET;return}case r.SELECT:{this._resetInsertionModeForSelect(u);return}case r.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case r.HTML:{this.insertionMode=this.headElement?A.AFTER_HEAD:A.BEFORE_HEAD;return}case r.TD:case r.TH:{if(u>0){this.insertionMode=A.IN_CELL;return}break}case r.HEAD:{if(u>0){this.insertionMode=A.IN_HEAD;return}break}}this.insertionMode=A.IN_BODY}_resetInsertionModeForSelect(u){if(u>0)for(let e=u-1;e>0;e--){const t=this.openElements.tagIDs[e];if(t===r.TEMPLATE)break;if(t===r.TABLE){this.insertionMode=A.IN_SELECT_IN_TABLE;return}}this.insertionMode=A.IN_SELECT}_isElementCausesFosterParenting(u){return o0.has(u)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let u=this.openElements.stackTop;u>=0;u--){const e=this.openElements.items[u];switch(this.openElements.tagIDs[u]){case r.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(e)===m.HTML)return{parent:this.treeAdapter.getTemplateContent(e),beforeElement:null};break}case r.TABLE:{const t=this.treeAdapter.getParentNode(e);return t?{parent:t,beforeElement:e}:{parent:this.openElements.items[u-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(u){const e=this._findFosterParentingLocation();e.beforeElement?this.treeAdapter.insertBefore(e.parent,u,e.beforeElement):this.treeAdapter.appendChild(e.parent,u)}_isSpecialElement(u,e){const t=this.treeAdapter.getNamespaceURI(u);return zt[t].has(e)}onCharacter(u){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){to(this,u);return}switch(this.insertionMode){case A.INITIAL:{Su(this,u);break}case A.BEFORE_HTML:{ku(this,u);break}case A.BEFORE_HEAD:{Lu(this,u);break}case A.IN_HEAD:{Ou(this,u);break}case A.IN_HEAD_NO_SCRIPT:{Ru(this,u);break}case A.AFTER_HEAD:{Pu(this,u);break}case A.IN_BODY:case A.IN_CAPTION:case A.IN_CELL:case A.IN_TEMPLATE:{E0(this,u);break}case A.TEXT:case A.IN_SELECT:case A.IN_SELECT_IN_TABLE:{this._insertCharacters(u);break}case A.IN_TABLE:case A.IN_TABLE_BODY:case A.IN_ROW:{ve(this,u);break}case A.IN_TABLE_TEXT:{m0(this,u);break}case A.IN_COLUMN_GROUP:{re(this,u);break}case A.AFTER_BODY:{ie(this,u);break}case A.AFTER_AFTER_BODY:{ae(this,u);break}default:}}onNullCharacter(u){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){eo(this,u);return}switch(this.insertionMode){case A.INITIAL:{Su(this,u);break}case A.BEFORE_HTML:{ku(this,u);break}case A.BEFORE_HEAD:{Lu(this,u);break}case A.IN_HEAD:{Ou(this,u);break}case A.IN_HEAD_NO_SCRIPT:{Ru(this,u);break}case A.AFTER_HEAD:{Pu(this,u);break}case A.TEXT:{this._insertCharacters(u);break}case A.IN_TABLE:case A.IN_TABLE_BODY:case A.IN_ROW:{ve(this,u);break}case A.IN_COLUMN_GROUP:{re(this,u);break}case A.AFTER_BODY:{ie(this,u);break}case A.AFTER_AFTER_BODY:{ae(this,u);break}default:}}onComment(u){if(this.skipNextNewLine=!1,this.currentNotInHTML){ye(this,u);return}switch(this.insertionMode){case A.INITIAL:case A.BEFORE_HTML:case A.BEFORE_HEAD:case A.IN_HEAD:case A.IN_HEAD_NO_SCRIPT:case A.AFTER_HEAD:case A.IN_BODY:case A.IN_TABLE:case A.IN_CAPTION:case A.IN_COLUMN_GROUP:case A.IN_TABLE_BODY:case A.IN_ROW:case A.IN_CELL:case A.IN_SELECT:case A.IN_SELECT_IN_TABLE:case A.IN_TEMPLATE:case A.IN_FRAMESET:case A.AFTER_FRAMESET:{ye(this,u);break}case A.IN_TABLE_TEXT:{vu(this,u);break}case A.AFTER_BODY:{Ri(this,u);break}case A.AFTER_AFTER_BODY:case A.AFTER_AFTER_FRAMESET:{Pi(this,u);break}default:}}onDoctype(u){switch(this.skipNextNewLine=!1,this.insertionMode){case A.INITIAL:{yi(this,u);break}case A.BEFORE_HEAD:case A.IN_HEAD:case A.IN_HEAD_NO_SCRIPT:case A.AFTER_HEAD:{this._err(u,d.misplacedDoctype);break}case A.IN_TABLE_TEXT:{vu(this,u);break}default:}}onStartTag(u){this.skipNextNewLine=!1,this.currentToken=u,this._processStartTag(u),u.selfClosing&&!u.ackSelfClosing&&this._err(u,d.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(u){this.shouldProcessStartTagTokenInForeignContent(u)?ro(this,u):this._startTagOutsideForeignContent(u)}_startTagOutsideForeignContent(u){switch(this.insertionMode){case A.INITIAL:{Su(this,u);break}case A.BEFORE_HTML:{Mi(this,u);break}case A.BEFORE_HEAD:{Ui(this,u);break}case A.IN_HEAD:{W(this,u);break}case A.IN_HEAD_NO_SCRIPT:{qi(this,u);break}case A.AFTER_HEAD:{zi(this,u);break}case A.IN_BODY:{w(this,u);break}case A.IN_TABLE:{Bu(this,u);break}case A.IN_TABLE_TEXT:{vu(this,u);break}case A.IN_CAPTION:{wa(this,u);break}case A.IN_COLUMN_GROUP:{Ue(this,u);break}case A.IN_TABLE_BODY:{se(this,u);break}case A.IN_ROW:{ne(this,u);break}case A.IN_CELL:{Ya(this,u);break}case A.IN_SELECT:{_0(this,u);break}case A.IN_SELECT_IN_TABLE:{Ga(this,u);break}case A.IN_TEMPLATE:{Qa(this,u);break}case A.AFTER_BODY:{Xa(this,u);break}case A.IN_FRAMESET:{Ka(this,u);break}case A.AFTER_FRAMESET:{ja(this,u);break}case A.AFTER_AFTER_BODY:{Ja(this,u);break}case A.AFTER_AFTER_FRAMESET:{uo(this,u);break}default:}}onEndTag(u){this.skipNextNewLine=!1,this.currentToken=u,this.currentNotInHTML?so(this,u):this._endTagOutsideForeignContent(u)}_endTagOutsideForeignContent(u){switch(this.insertionMode){case A.INITIAL:{Su(this,u);break}case A.BEFORE_HTML:{vi(this,u);break}case A.BEFORE_HEAD:{wi(this,u);break}case A.IN_HEAD:{Hi(this,u);break}case A.IN_HEAD_NO_SCRIPT:{Yi(this,u);break}case A.AFTER_HEAD:{Gi(this,u);break}case A.IN_BODY:{te(this,u);break}case A.TEXT:{Sa(this,u);break}case A.IN_TABLE:{yu(this,u);break}case A.IN_TABLE_TEXT:{vu(this,u);break}case A.IN_CAPTION:{Ha(this,u);break}case A.IN_COLUMN_GROUP:{qa(this,u);break}case A.IN_TABLE_BODY:{we(this,u);break}case A.IN_ROW:{F0(this,u);break}case A.IN_CELL:{za(this,u);break}case A.IN_SELECT:{p0(this,u);break}case A.IN_SELECT_IN_TABLE:{Va(this,u);break}case A.IN_TEMPLATE:{Wa(this,u);break}case A.AFTER_BODY:{I0(this,u);break}case A.IN_FRAMESET:{$a(this,u);break}case A.AFTER_FRAMESET:{Za(this,u);break}case A.AFTER_AFTER_BODY:{ae(this,u);break}default:}}onEof(u){switch(this.insertionMode){case A.INITIAL:{Su(this,u);break}case A.BEFORE_HTML:{ku(this,u);break}case A.BEFORE_HEAD:{Lu(this,u);break}case A.IN_HEAD:{Ou(this,u);break}case A.IN_HEAD_NO_SCRIPT:{Ru(this,u);break}case A.AFTER_HEAD:{Pu(this,u);break}case A.IN_BODY:case A.IN_TABLE:case A.IN_CAPTION:case A.IN_COLUMN_GROUP:case A.IN_TABLE_BODY:case A.IN_ROW:case A.IN_CELL:case A.IN_SELECT:case A.IN_SELECT_IN_TABLE:{d0(this,u);break}case A.TEXT:{ka(this,u);break}case A.IN_TABLE_TEXT:{vu(this,u);break}case A.IN_TEMPLATE:{g0(this,u);break}case A.AFTER_BODY:case A.IN_FRAMESET:case A.AFTER_FRAMESET:case A.AFTER_AFTER_BODY:case A.AFTER_AFTER_FRAMESET:{Me(this,u);break}default:}}onWhitespaceCharacter(u){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,u.chars.charCodeAt(0)===c.LINE_FEED)){if(u.chars.length===1)return;u.chars=u.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(u);return}switch(this.insertionMode){case A.IN_HEAD:case A.IN_HEAD_NO_SCRIPT:case A.AFTER_HEAD:case A.TEXT:case A.IN_COLUMN_GROUP:case A.IN_SELECT:case A.IN_SELECT_IN_TABLE:case A.IN_FRAMESET:case A.AFTER_FRAMESET:{this._insertCharacters(u);break}case A.IN_BODY:case A.IN_CAPTION:case A.IN_CELL:case A.IN_TEMPLATE:case A.AFTER_BODY:case A.AFTER_AFTER_BODY:case A.AFTER_AFTER_FRAMESET:{l0(this,u);break}case A.IN_TABLE:case A.IN_TABLE_BODY:case A.IN_ROW:{ve(this,u);break}case A.IN_TABLE_TEXT:{B0(this,u);break}default:}}};function bi(u,e){let t=u.activeFormattingElements.getElementEntryInScopeWithTagName(e.tagName);return t?u.openElements.contains(t.element)?u.openElements.hasInScope(e.tagID)||(t=null):(u.activeFormattingElements.removeEntry(t),t=null):f0(u,e),t}function xi(u,e){let t=null,s=u.openElements.stackTop;for(;s>=0;s--){const n=u.openElements.items[s];if(n===e.element)break;u._isSpecialElement(n,u.openElements.tagIDs[s])&&(t=n)}return t||(u.openElements.shortenToLength(Math.max(s,0)),u.activeFormattingElements.removeEntry(e)),t}function Si(u,e,t){let s=e,n=u.openElements.getCommonAncestor(e);for(let i=0,a=n;a!==t;i++,a=n){n=u.openElements.getCommonAncestor(a);const o=u.activeFormattingElements.getElementEntry(a),l=o&&i>=gi;!o||l?(l&&u.activeFormattingElements.removeEntry(o),u.openElements.remove(a)):(a=ki(u,o),s===e&&(u.activeFormattingElements.bookmark=o),u.treeAdapter.detachNode(s),u.treeAdapter.appendChild(a,s),s=a)}return s}function ki(u,e){const t=u.treeAdapter.getNamespaceURI(e.element),s=u.treeAdapter.createElement(e.token.tagName,t,e.token.attrs);return u.openElements.replace(e.element,s),e.element=s,s}function Li(u,e,t){const s=u.treeAdapter.getTagName(e),n=bu(s);if(u._isElementCausesFosterParenting(n))u._fosterParentElement(t);else{const i=u.treeAdapter.getNamespaceURI(e);n===r.TEMPLATE&&i===m.HTML&&(e=u.treeAdapter.getTemplateContent(e)),u.treeAdapter.appendChild(e,t)}}function Oi(u,e,t){const s=u.treeAdapter.getNamespaceURI(t.element),{token:n}=t,i=u.treeAdapter.createElement(n.tagName,s,n.attrs);u._adoptNodes(e,i),u.treeAdapter.appendChild(e,i),u.activeFormattingElements.insertElementAfterBookmark(i,n),u.activeFormattingElements.removeEntry(t),u.openElements.remove(t.element),u.openElements.insertAfter(e,i,n.tagID)}function Pe(u,e){for(let t=0;t<pi;t++){const s=bi(u,e);if(!s)break;const n=xi(u,s);if(!n)break;u.activeFormattingElements.bookmark=s;const i=Si(u,n,s.element),a=u.openElements.getCommonAncestor(s.element);u.treeAdapter.detachNode(i),a&&Li(u,a,i),Oi(u,n,s)}}function ye(u,e){u._appendCommentNode(e,u.openElements.currentTmplContentOrNode)}function Ri(u,e){u._appendCommentNode(e,u.openElements.items[0])}function Pi(u,e){u._appendCommentNode(e,u.document)}function Me(u,e){if(u.stopped=!0,e.location){const t=u.fragmentContext?0:2;for(let s=u.openElements.stackTop;s>=t;s--)u._setEndLocation(u.openElements.items[s],e);if(!u.fragmentContext&&u.openElements.stackTop>=0){const s=u.openElements.items[0],n=u.treeAdapter.getNodeSourceCodeLocation(s);if(n&&!n.endTag&&(u._setEndLocation(s,e),u.openElements.stackTop>=1)){const i=u.openElements.items[1],a=u.treeAdapter.getNodeSourceCodeLocation(i);a&&!a.endTag&&u._setEndLocation(i,e)}}}}function yi(u,e){u._setDocumentType(e);const t=e.forceQuirks?G.QUIRKS:hi(e);Ai(e)||u._err(e,d.nonConformingDoctype),u.treeAdapter.setDocumentMode(u.document,t),u.insertionMode=A.BEFORE_HTML}function Su(u,e){u._err(e,d.missingDoctype,!0),u.treeAdapter.setDocumentMode(u.document,G.QUIRKS),u.insertionMode=A.BEFORE_HTML,u._processToken(e)}function Mi(u,e){e.tagID===r.HTML?(u._insertElement(e,m.HTML),u.insertionMode=A.BEFORE_HEAD):ku(u,e)}function vi(u,e){const t=e.tagID;(t===r.HTML||t===r.HEAD||t===r.BODY||t===r.BR)&&ku(u,e)}function ku(u,e){u._insertFakeRootElement(),u.insertionMode=A.BEFORE_HEAD,u._processToken(e)}function Ui(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.HEAD:{u._insertElement(e,m.HTML),u.headElement=u.openElements.current,u.insertionMode=A.IN_HEAD;break}default:Lu(u,e)}}function wi(u,e){const t=e.tagID;t===r.HEAD||t===r.BODY||t===r.HTML||t===r.BR?Lu(u,e):u._err(e,d.endTagWithoutMatchingOpenElement)}function Lu(u,e){u._insertFakeElement(C.HEAD,r.HEAD),u.headElement=u.openElements.current,u.insertionMode=A.IN_HEAD,u._processToken(e)}function W(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.BASE:case r.BASEFONT:case r.BGSOUND:case r.LINK:case r.META:{u._appendElement(e,m.HTML),e.ackSelfClosing=!0;break}case r.TITLE:{u._switchToTextParsing(e,Y.RCDATA);break}case r.NOSCRIPT:{u.options.scriptingEnabled?u._switchToTextParsing(e,Y.RAWTEXT):(u._insertElement(e,m.HTML),u.insertionMode=A.IN_HEAD_NO_SCRIPT);break}case r.NOFRAMES:case r.STYLE:{u._switchToTextParsing(e,Y.RAWTEXT);break}case r.SCRIPT:{u._switchToTextParsing(e,Y.SCRIPT_DATA);break}case r.TEMPLATE:{u._insertTemplate(e),u.activeFormattingElements.insertMarker(),u.framesetOk=!1,u.insertionMode=A.IN_TEMPLATE,u.tmplInsertionModeStack.unshift(A.IN_TEMPLATE);break}case r.HEAD:{u._err(e,d.misplacedStartTagForHeadElement);break}default:Ou(u,e)}}function Hi(u,e){switch(e.tagID){case r.HEAD:{u.openElements.pop(),u.insertionMode=A.AFTER_HEAD;break}case r.BODY:case r.BR:case r.HTML:{Ou(u,e);break}case r.TEMPLATE:{Eu(u,e);break}default:u._err(e,d.endTagWithoutMatchingOpenElement)}}function Eu(u,e){u.openElements.tmplCount>0?(u.openElements.generateImpliedEndTagsThoroughly(),u.openElements.currentTagId!==r.TEMPLATE&&u._err(e,d.closingOfElementWithOpenChildElements),u.openElements.popUntilTagNamePopped(r.TEMPLATE),u.activeFormattingElements.clearToLastMarker(),u.tmplInsertionModeStack.shift(),u._resetInsertionMode()):u._err(e,d.endTagWithoutMatchingOpenElement)}function Ou(u,e){u.openElements.pop(),u.insertionMode=A.AFTER_HEAD,u._processToken(e)}function qi(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.BASEFONT:case r.BGSOUND:case r.HEAD:case r.LINK:case r.META:case r.NOFRAMES:case r.STYLE:{W(u,e);break}case r.NOSCRIPT:{u._err(e,d.nestedNoscriptInHead);break}default:Ru(u,e)}}function Yi(u,e){switch(e.tagID){case r.NOSCRIPT:{u.openElements.pop(),u.insertionMode=A.IN_HEAD;break}case r.BR:{Ru(u,e);break}default:u._err(e,d.endTagWithoutMatchingOpenElement)}}function Ru(u,e){const t=e.type===L.EOF?d.openElementsLeftAfterEof:d.disallowedContentInNoscriptInHead;u._err(e,t),u.openElements.pop(),u.insertionMode=A.IN_HEAD,u._processToken(e)}function zi(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.BODY:{u._insertElement(e,m.HTML),u.framesetOk=!1,u.insertionMode=A.IN_BODY;break}case r.FRAMESET:{u._insertElement(e,m.HTML),u.insertionMode=A.IN_FRAMESET;break}case r.BASE:case r.BASEFONT:case r.BGSOUND:case r.LINK:case r.META:case r.NOFRAMES:case r.SCRIPT:case r.STYLE:case r.TEMPLATE:case r.TITLE:{u._err(e,d.abandonedHeadElementChild),u.openElements.push(u.headElement,r.HEAD),W(u,e),u.openElements.remove(u.headElement);break}case r.HEAD:{u._err(e,d.misplacedStartTagForHeadElement);break}default:Pu(u,e)}}function Gi(u,e){switch(e.tagID){case r.BODY:case r.HTML:case r.BR:{Pu(u,e);break}case r.TEMPLATE:{Eu(u,e);break}default:u._err(e,d.endTagWithoutMatchingOpenElement)}}function Pu(u,e){u._insertFakeElement(C.BODY,r.BODY),u.insertionMode=A.IN_BODY,ee(u,e)}function ee(u,e){switch(e.type){case L.CHARACTER:{E0(u,e);break}case L.WHITESPACE_CHARACTER:{l0(u,e);break}case L.COMMENT:{ye(u,e);break}case L.START_TAG:{w(u,e);break}case L.END_TAG:{te(u,e);break}case L.EOF:{d0(u,e);break}default:}}function l0(u,e){u._reconstructActiveFormattingElements(),u._insertCharacters(e)}function E0(u,e){u._reconstructActiveFormattingElements(),u._insertCharacters(e),u.framesetOk=!1}function Vi(u,e){u.openElements.tmplCount===0&&u.treeAdapter.adoptAttributes(u.openElements.items[0],e.attrs)}function Qi(u,e){const t=u.openElements.tryPeekProperlyNestedBodyElement();t&&u.openElements.tmplCount===0&&(u.framesetOk=!1,u.treeAdapter.adoptAttributes(t,e.attrs))}function Wi(u,e){const t=u.openElements.tryPeekProperlyNestedBodyElement();u.framesetOk&&t&&(u.treeAdapter.detachNode(t),u.openElements.popAllUpToHtmlElement(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_FRAMESET)}function Xi(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML)}function Ki(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u.openElements.currentTagId!==void 0&&ju.has(u.openElements.currentTagId)&&u.openElements.pop(),u._insertElement(e,m.HTML)}function $i(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML),u.skipNextNewLine=!0,u.framesetOk=!1}function ji(u,e){const t=u.openElements.tmplCount>0;(!u.formElement||t)&&(u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML),t||(u.formElement=u.openElements.current))}function Zi(u,e){u.framesetOk=!1;const t=e.tagID;for(let s=u.openElements.stackTop;s>=0;s--){const n=u.openElements.tagIDs[s];if(t===r.LI&&n===r.LI||(t===r.DD||t===r.DT)&&(n===r.DD||n===r.DT)){u.openElements.generateImpliedEndTagsWithExclusion(n),u.openElements.popUntilTagNamePopped(n);break}if(n!==r.ADDRESS&&n!==r.DIV&&n!==r.P&&u._isSpecialElement(u.openElements.items[s],n))break}u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML)}function Ji(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML),u.tokenizer.state=Y.PLAINTEXT}function ua(u,e){u.openElements.hasInScope(r.BUTTON)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(r.BUTTON)),u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML),u.framesetOk=!1}function ea(u,e){const t=u.activeFormattingElements.getElementEntryInScopeWithTagName(C.A);t&&(Pe(u,e),u.openElements.remove(t.element),u.activeFormattingElements.removeEntry(t)),u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML),u.activeFormattingElements.pushElement(u.openElements.current,e)}function ta(u,e){u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML),u.activeFormattingElements.pushElement(u.openElements.current,e)}function ra(u,e){u._reconstructActiveFormattingElements(),u.openElements.hasInScope(r.NOBR)&&(Pe(u,e),u._reconstructActiveFormattingElements()),u._insertElement(e,m.HTML),u.activeFormattingElements.pushElement(u.openElements.current,e)}function sa(u,e){u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML),u.activeFormattingElements.insertMarker(),u.framesetOk=!1}function na(u,e){u.treeAdapter.getDocumentMode(u.document)!==G.QUIRKS&&u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._insertElement(e,m.HTML),u.framesetOk=!1,u.insertionMode=A.IN_TABLE}function A0(u,e){u._reconstructActiveFormattingElements(),u._appendElement(e,m.HTML),u.framesetOk=!1,e.ackSelfClosing=!0}function h0(u){const e=xe(u,au.TYPE);return e!=null&&e.toLowerCase()===_i}function ia(u,e){u._reconstructActiveFormattingElements(),u._appendElement(e,m.HTML),h0(e)||(u.framesetOk=!1),e.ackSelfClosing=!0}function aa(u,e){u._appendElement(e,m.HTML),e.ackSelfClosing=!0}function oa(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._appendElement(e,m.HTML),u.framesetOk=!1,e.ackSelfClosing=!0}function ca(u,e){e.tagName=C.IMG,e.tagID=r.IMG,A0(u,e)}function la(u,e){u._insertElement(e,m.HTML),u.skipNextNewLine=!0,u.tokenizer.state=Y.RCDATA,u.originalInsertionMode=u.insertionMode,u.framesetOk=!1,u.insertionMode=A.TEXT}function Ea(u,e){u.openElements.hasInButtonScope(r.P)&&u._closePElement(),u._reconstructActiveFormattingElements(),u.framesetOk=!1,u._switchToTextParsing(e,Y.RAWTEXT)}function Aa(u,e){u.framesetOk=!1,u._switchToTextParsing(e,Y.RAWTEXT)}function C0(u,e){u._switchToTextParsing(e,Y.RAWTEXT)}function ha(u,e){u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML),u.framesetOk=!1,u.insertionMode=u.insertionMode===A.IN_TABLE||u.insertionMode===A.IN_CAPTION||u.insertionMode===A.IN_TABLE_BODY||u.insertionMode===A.IN_ROW||u.insertionMode===A.IN_CELL?A.IN_SELECT_IN_TABLE:A.IN_SELECT}function Ca(u,e){u.openElements.currentTagId===r.OPTION&&u.openElements.pop(),u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML)}function Da(u,e){u.openElements.hasInScope(r.RUBY)&&u.openElements.generateImpliedEndTags(),u._insertElement(e,m.HTML)}function fa(u,e){u.openElements.hasInScope(r.RUBY)&&u.openElements.generateImpliedEndTagsWithExclusion(r.RTC),u._insertElement(e,m.HTML)}function da(u,e){u._reconstructActiveFormattingElements(),Oe(e),ue(e),e.selfClosing?u._appendElement(e,m.MATHML):u._insertElement(e,m.MATHML),e.ackSelfClosing=!0}function Ba(u,e){u._reconstructActiveFormattingElements(),Re(e),ue(e),e.selfClosing?u._appendElement(e,m.SVG):u._insertElement(e,m.SVG),e.ackSelfClosing=!0}function D0(u,e){u._reconstructActiveFormattingElements(),u._insertElement(e,m.HTML)}function w(u,e){switch(e.tagID){case r.I:case r.S:case r.B:case r.U:case r.EM:case r.TT:case r.BIG:case r.CODE:case r.FONT:case r.SMALL:case r.STRIKE:case r.STRONG:{ta(u,e);break}case r.A:{ea(u,e);break}case r.H1:case r.H2:case r.H3:case r.H4:case r.H5:case r.H6:{Ki(u,e);break}case r.P:case r.DL:case r.OL:case r.UL:case r.DIV:case r.DIR:case r.NAV:case r.MAIN:case r.MENU:case r.ASIDE:case r.CENTER:case r.FIGURE:case r.FOOTER:case r.HEADER:case r.HGROUP:case r.DIALOG:case r.DETAILS:case r.ADDRESS:case r.ARTICLE:case r.SEARCH:case r.SECTION:case r.SUMMARY:case r.FIELDSET:case r.BLOCKQUOTE:case r.FIGCAPTION:{Xi(u,e);break}case r.LI:case r.DD:case r.DT:{Zi(u,e);break}case r.BR:case r.IMG:case r.WBR:case r.AREA:case r.EMBED:case r.KEYGEN:{A0(u,e);break}case r.HR:{oa(u,e);break}case r.RB:case r.RTC:{Da(u,e);break}case r.RT:case r.RP:{fa(u,e);break}case r.PRE:case r.LISTING:{$i(u,e);break}case r.XMP:{Ea(u,e);break}case r.SVG:{Ba(u,e);break}case r.HTML:{Vi(u,e);break}case r.BASE:case r.LINK:case r.META:case r.STYLE:case r.TITLE:case r.SCRIPT:case r.BGSOUND:case r.BASEFONT:case r.TEMPLATE:{W(u,e);break}case r.BODY:{Qi(u,e);break}case r.FORM:{ji(u,e);break}case r.NOBR:{ra(u,e);break}case r.MATH:{da(u,e);break}case r.TABLE:{na(u,e);break}case r.INPUT:{ia(u,e);break}case r.PARAM:case r.TRACK:case r.SOURCE:{aa(u,e);break}case r.IMAGE:{ca(u,e);break}case r.BUTTON:{ua(u,e);break}case r.APPLET:case r.OBJECT:case r.MARQUEE:{sa(u,e);break}case r.IFRAME:{Aa(u,e);break}case r.SELECT:{ha(u,e);break}case r.OPTION:case r.OPTGROUP:{Ca(u,e);break}case r.NOEMBED:case r.NOFRAMES:{C0(u,e);break}case r.FRAMESET:{Wi(u,e);break}case r.TEXTAREA:{la(u,e);break}case r.NOSCRIPT:{u.options.scriptingEnabled?C0(u,e):D0(u,e);break}case r.PLAINTEXT:{Ji(u,e);break}case r.COL:case r.TH:case r.TD:case r.TR:case r.HEAD:case r.FRAME:case r.TBODY:case r.TFOOT:case r.THEAD:case r.CAPTION:case r.COLGROUP:break;default:D0(u,e)}}function ma(u,e){if(u.openElements.hasInScope(r.BODY)&&(u.insertionMode=A.AFTER_BODY,u.options.sourceCodeLocationInfo)){const t=u.openElements.tryPeekProperlyNestedBodyElement();t&&u._setEndLocation(t,e)}}function Ta(u,e){u.openElements.hasInScope(r.BODY)&&(u.insertionMode=A.AFTER_BODY,I0(u,e))}function Fa(u,e){const t=e.tagID;u.openElements.hasInScope(t)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(t))}function _a(u){const e=u.openElements.tmplCount>0,{formElement:t}=u;e||(u.formElement=null),(t||e)&&u.openElements.hasInScope(r.FORM)&&(u.openElements.generateImpliedEndTags(),e?u.openElements.popUntilTagNamePopped(r.FORM):t&&u.openElements.remove(t))}function pa(u){u.openElements.hasInButtonScope(r.P)||u._insertFakeElement(C.P,r.P),u._closePElement()}function ga(u){u.openElements.hasInListItemScope(r.LI)&&(u.openElements.generateImpliedEndTagsWithExclusion(r.LI),u.openElements.popUntilTagNamePopped(r.LI))}function Ia(u,e){const t=e.tagID;u.openElements.hasInScope(t)&&(u.openElements.generateImpliedEndTagsWithExclusion(t),u.openElements.popUntilTagNamePopped(t))}function Na(u){u.openElements.hasNumberedHeaderInScope()&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilNumberedHeaderPopped())}function ba(u,e){const t=e.tagID;u.openElements.hasInScope(t)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(t),u.activeFormattingElements.clearToLastMarker())}function xa(u){u._reconstructActiveFormattingElements(),u._insertFakeElement(C.BR,r.BR),u.openElements.pop(),u.framesetOk=!1}function f0(u,e){const t=e.tagName,s=e.tagID;for(let n=u.openElements.stackTop;n>0;n--){const i=u.openElements.items[n],a=u.openElements.tagIDs[n];if(s===a&&(s!==r.UNKNOWN||u.treeAdapter.getTagName(i)===t)){u.openElements.generateImpliedEndTagsWithExclusion(s),u.openElements.stackTop>=n&&u.openElements.shortenToLength(n);break}if(u._isSpecialElement(i,a))break}}function te(u,e){switch(e.tagID){case r.A:case r.B:case r.I:case r.S:case r.U:case r.EM:case r.TT:case r.BIG:case r.CODE:case r.FONT:case r.NOBR:case r.SMALL:case r.STRIKE:case r.STRONG:{Pe(u,e);break}case r.P:{pa(u);break}case r.DL:case r.UL:case r.OL:case r.DIR:case r.DIV:case r.NAV:case r.PRE:case r.MAIN:case r.MENU:case r.ASIDE:case r.BUTTON:case r.CENTER:case r.FIGURE:case r.FOOTER:case r.HEADER:case r.HGROUP:case r.DIALOG:case r.ADDRESS:case r.ARTICLE:case r.DETAILS:case r.SEARCH:case r.SECTION:case r.SUMMARY:case r.LISTING:case r.FIELDSET:case r.BLOCKQUOTE:case r.FIGCAPTION:{Fa(u,e);break}case r.LI:{ga(u);break}case r.DD:case r.DT:{Ia(u,e);break}case r.H1:case r.H2:case r.H3:case r.H4:case r.H5:case r.H6:{Na(u);break}case r.BR:{xa(u);break}case r.BODY:{ma(u,e);break}case r.HTML:{Ta(u,e);break}case r.FORM:{_a(u);break}case r.APPLET:case r.OBJECT:case r.MARQUEE:{ba(u,e);break}case r.TEMPLATE:{Eu(u,e);break}default:f0(u,e)}}function d0(u,e){u.tmplInsertionModeStack.length>0?g0(u,e):Me(u,e)}function Sa(u,e){var t;e.tagID===r.SCRIPT&&((t=u.scriptHandler)===null||t===void 0||t.call(u,u.openElements.current)),u.openElements.pop(),u.insertionMode=u.originalInsertionMode}function ka(u,e){u._err(e,d.eofInElementThatCanContainOnlyText),u.openElements.pop(),u.insertionMode=u.originalInsertionMode,u.onEof(e)}function ve(u,e){if(u.openElements.currentTagId!==void 0&&o0.has(u.openElements.currentTagId))switch(u.pendingCharacterTokens.length=0,u.hasNonWhitespacePendingCharacterToken=!1,u.originalInsertionMode=u.insertionMode,u.insertionMode=A.IN_TABLE_TEXT,e.type){case L.CHARACTER:{m0(u,e);break}case L.WHITESPACE_CHARACTER:{B0(u,e);break}}else Mu(u,e)}function La(u,e){u.openElements.clearBackToTableContext(),u.activeFormattingElements.insertMarker(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_CAPTION}function Oa(u,e){u.openElements.clearBackToTableContext(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_COLUMN_GROUP}function Ra(u,e){u.openElements.clearBackToTableContext(),u._insertFakeElement(C.COLGROUP,r.COLGROUP),u.insertionMode=A.IN_COLUMN_GROUP,Ue(u,e)}function Pa(u,e){u.openElements.clearBackToTableContext(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_TABLE_BODY}function ya(u,e){u.openElements.clearBackToTableContext(),u._insertFakeElement(C.TBODY,r.TBODY),u.insertionMode=A.IN_TABLE_BODY,se(u,e)}function Ma(u,e){u.openElements.hasInTableScope(r.TABLE)&&(u.openElements.popUntilTagNamePopped(r.TABLE),u._resetInsertionMode(),u._processStartTag(e))}function va(u,e){h0(e)?u._appendElement(e,m.HTML):Mu(u,e),e.ackSelfClosing=!0}function Ua(u,e){!u.formElement&&u.openElements.tmplCount===0&&(u._insertElement(e,m.HTML),u.formElement=u.openElements.current,u.openElements.pop())}function Bu(u,e){switch(e.tagID){case r.TD:case r.TH:case r.TR:{ya(u,e);break}case r.STYLE:case r.SCRIPT:case r.TEMPLATE:{W(u,e);break}case r.COL:{Ra(u,e);break}case r.FORM:{Ua(u,e);break}case r.TABLE:{Ma(u,e);break}case r.TBODY:case r.TFOOT:case r.THEAD:{Pa(u,e);break}case r.INPUT:{va(u,e);break}case r.CAPTION:{La(u,e);break}case r.COLGROUP:{Oa(u,e);break}default:Mu(u,e)}}function yu(u,e){switch(e.tagID){case r.TABLE:{u.openElements.hasInTableScope(r.TABLE)&&(u.openElements.popUntilTagNamePopped(r.TABLE),u._resetInsertionMode());break}case r.TEMPLATE:{Eu(u,e);break}case r.BODY:case r.CAPTION:case r.COL:case r.COLGROUP:case r.HTML:case r.TBODY:case r.TD:case r.TFOOT:case r.TH:case r.THEAD:case r.TR:break;default:Mu(u,e)}}function Mu(u,e){const t=u.fosterParentingEnabled;u.fosterParentingEnabled=!0,ee(u,e),u.fosterParentingEnabled=t}function B0(u,e){u.pendingCharacterTokens.push(e)}function m0(u,e){u.pendingCharacterTokens.push(e),u.hasNonWhitespacePendingCharacterToken=!0}function vu(u,e){let t=0;if(u.hasNonWhitespacePendingCharacterToken)for(;t<u.pendingCharacterTokens.length;t++)Mu(u,u.pendingCharacterTokens[t]);else for(;t<u.pendingCharacterTokens.length;t++)u._insertCharacters(u.pendingCharacterTokens[t]);u.insertionMode=u.originalInsertionMode,u._processToken(e)}var T0=new Set([r.CAPTION,r.COL,r.COLGROUP,r.TBODY,r.TD,r.TFOOT,r.TH,r.THEAD,r.TR]);function wa(u,e){const t=e.tagID;T0.has(t)?u.openElements.hasInTableScope(r.CAPTION)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(r.CAPTION),u.activeFormattingElements.clearToLastMarker(),u.insertionMode=A.IN_TABLE,Bu(u,e)):w(u,e)}function Ha(u,e){const t=e.tagID;switch(t){case r.CAPTION:case r.TABLE:{u.openElements.hasInTableScope(r.CAPTION)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(r.CAPTION),u.activeFormattingElements.clearToLastMarker(),u.insertionMode=A.IN_TABLE,t===r.TABLE&&yu(u,e));break}case r.BODY:case r.COL:case r.COLGROUP:case r.HTML:case r.TBODY:case r.TD:case r.TFOOT:case r.TH:case r.THEAD:case r.TR:break;default:te(u,e)}}function Ue(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.COL:{u._appendElement(e,m.HTML),e.ackSelfClosing=!0;break}case r.TEMPLATE:{W(u,e);break}default:re(u,e)}}function qa(u,e){switch(e.tagID){case r.COLGROUP:{u.openElements.currentTagId===r.COLGROUP&&(u.openElements.pop(),u.insertionMode=A.IN_TABLE);break}case r.TEMPLATE:{Eu(u,e);break}case r.COL:break;default:re(u,e)}}function re(u,e){u.openElements.currentTagId===r.COLGROUP&&(u.openElements.pop(),u.insertionMode=A.IN_TABLE,u._processToken(e))}function se(u,e){switch(e.tagID){case r.TR:{u.openElements.clearBackToTableBodyContext(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_ROW;break}case r.TH:case r.TD:{u.openElements.clearBackToTableBodyContext(),u._insertFakeElement(C.TR,r.TR),u.insertionMode=A.IN_ROW,ne(u,e);break}case r.CAPTION:case r.COL:case r.COLGROUP:case r.TBODY:case r.TFOOT:case r.THEAD:{u.openElements.hasTableBodyContextInTableScope()&&(u.openElements.clearBackToTableBodyContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE,Bu(u,e));break}default:Bu(u,e)}}function we(u,e){const t=e.tagID;switch(e.tagID){case r.TBODY:case r.TFOOT:case r.THEAD:{u.openElements.hasInTableScope(t)&&(u.openElements.clearBackToTableBodyContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE);break}case r.TABLE:{u.openElements.hasTableBodyContextInTableScope()&&(u.openElements.clearBackToTableBodyContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE,yu(u,e));break}case r.BODY:case r.CAPTION:case r.COL:case r.COLGROUP:case r.HTML:case r.TD:case r.TH:case r.TR:break;default:yu(u,e)}}function ne(u,e){switch(e.tagID){case r.TH:case r.TD:{u.openElements.clearBackToTableRowContext(),u._insertElement(e,m.HTML),u.insertionMode=A.IN_CELL,u.activeFormattingElements.insertMarker();break}case r.CAPTION:case r.COL:case r.COLGROUP:case r.TBODY:case r.TFOOT:case r.THEAD:case r.TR:{u.openElements.hasInTableScope(r.TR)&&(u.openElements.clearBackToTableRowContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE_BODY,se(u,e));break}default:Bu(u,e)}}function F0(u,e){switch(e.tagID){case r.TR:{u.openElements.hasInTableScope(r.TR)&&(u.openElements.clearBackToTableRowContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE_BODY);break}case r.TABLE:{u.openElements.hasInTableScope(r.TR)&&(u.openElements.clearBackToTableRowContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE_BODY,we(u,e));break}case r.TBODY:case r.TFOOT:case r.THEAD:{(u.openElements.hasInTableScope(e.tagID)||u.openElements.hasInTableScope(r.TR))&&(u.openElements.clearBackToTableRowContext(),u.openElements.pop(),u.insertionMode=A.IN_TABLE_BODY,we(u,e));break}case r.BODY:case r.CAPTION:case r.COL:case r.COLGROUP:case r.HTML:case r.TD:case r.TH:break;default:yu(u,e)}}function Ya(u,e){const t=e.tagID;T0.has(t)?(u.openElements.hasInTableScope(r.TD)||u.openElements.hasInTableScope(r.TH))&&(u._closeTableCell(),ne(u,e)):w(u,e)}function za(u,e){const t=e.tagID;switch(t){case r.TD:case r.TH:{u.openElements.hasInTableScope(t)&&(u.openElements.generateImpliedEndTags(),u.openElements.popUntilTagNamePopped(t),u.activeFormattingElements.clearToLastMarker(),u.insertionMode=A.IN_ROW);break}case r.TABLE:case r.TBODY:case r.TFOOT:case r.THEAD:case r.TR:{u.openElements.hasInTableScope(t)&&(u._closeTableCell(),F0(u,e));break}case r.BODY:case r.CAPTION:case r.COL:case r.COLGROUP:case r.HTML:break;default:te(u,e)}}function _0(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.OPTION:{u.openElements.currentTagId===r.OPTION&&u.openElements.pop(),u._insertElement(e,m.HTML);break}case r.OPTGROUP:{u.openElements.currentTagId===r.OPTION&&u.openElements.pop(),u.openElements.currentTagId===r.OPTGROUP&&u.openElements.pop(),u._insertElement(e,m.HTML);break}case r.HR:{u.openElements.currentTagId===r.OPTION&&u.openElements.pop(),u.openElements.currentTagId===r.OPTGROUP&&u.openElements.pop(),u._appendElement(e,m.HTML),e.ackSelfClosing=!0;break}case r.INPUT:case r.KEYGEN:case r.TEXTAREA:case r.SELECT:{u.openElements.hasInSelectScope(r.SELECT)&&(u.openElements.popUntilTagNamePopped(r.SELECT),u._resetInsertionMode(),e.tagID!==r.SELECT&&u._processStartTag(e));break}case r.SCRIPT:case r.TEMPLATE:{W(u,e);break}default:}}function p0(u,e){switch(e.tagID){case r.OPTGROUP:{u.openElements.stackTop>0&&u.openElements.currentTagId===r.OPTION&&u.openElements.tagIDs[u.openElements.stackTop-1]===r.OPTGROUP&&u.openElements.pop(),u.openElements.currentTagId===r.OPTGROUP&&u.openElements.pop();break}case r.OPTION:{u.openElements.currentTagId===r.OPTION&&u.openElements.pop();break}case r.SELECT:{u.openElements.hasInSelectScope(r.SELECT)&&(u.openElements.popUntilTagNamePopped(r.SELECT),u._resetInsertionMode());break}case r.TEMPLATE:{Eu(u,e);break}default:}}function Ga(u,e){const t=e.tagID;t===r.CAPTION||t===r.TABLE||t===r.TBODY||t===r.TFOOT||t===r.THEAD||t===r.TR||t===r.TD||t===r.TH?(u.openElements.popUntilTagNamePopped(r.SELECT),u._resetInsertionMode(),u._processStartTag(e)):_0(u,e)}function Va(u,e){const t=e.tagID;t===r.CAPTION||t===r.TABLE||t===r.TBODY||t===r.TFOOT||t===r.THEAD||t===r.TR||t===r.TD||t===r.TH?u.openElements.hasInTableScope(t)&&(u.openElements.popUntilTagNamePopped(r.SELECT),u._resetInsertionMode(),u.onEndTag(e)):p0(u,e)}function Qa(u,e){switch(e.tagID){case r.BASE:case r.BASEFONT:case r.BGSOUND:case r.LINK:case r.META:case r.NOFRAMES:case r.SCRIPT:case r.STYLE:case r.TEMPLATE:case r.TITLE:{W(u,e);break}case r.CAPTION:case r.COLGROUP:case r.TBODY:case r.TFOOT:case r.THEAD:{u.tmplInsertionModeStack[0]=A.IN_TABLE,u.insertionMode=A.IN_TABLE,Bu(u,e);break}case r.COL:{u.tmplInsertionModeStack[0]=A.IN_COLUMN_GROUP,u.insertionMode=A.IN_COLUMN_GROUP,Ue(u,e);break}case r.TR:{u.tmplInsertionModeStack[0]=A.IN_TABLE_BODY,u.insertionMode=A.IN_TABLE_BODY,se(u,e);break}case r.TD:case r.TH:{u.tmplInsertionModeStack[0]=A.IN_ROW,u.insertionMode=A.IN_ROW,ne(u,e);break}default:u.tmplInsertionModeStack[0]=A.IN_BODY,u.insertionMode=A.IN_BODY,w(u,e)}}function Wa(u,e){e.tagID===r.TEMPLATE&&Eu(u,e)}function g0(u,e){u.openElements.tmplCount>0?(u.openElements.popUntilTagNamePopped(r.TEMPLATE),u.activeFormattingElements.clearToLastMarker(),u.tmplInsertionModeStack.shift(),u._resetInsertionMode(),u.onEof(e)):Me(u,e)}function Xa(u,e){e.tagID===r.HTML?w(u,e):ie(u,e)}function I0(u,e){var t;if(e.tagID===r.HTML){if(u.fragmentContext||(u.insertionMode=A.AFTER_AFTER_BODY),u.options.sourceCodeLocationInfo&&u.openElements.tagIDs[0]===r.HTML){u._setEndLocation(u.openElements.items[0],e);const s=u.openElements.items[1];s&&!(!((t=u.treeAdapter.getNodeSourceCodeLocation(s))===null||t===void 0)&&t.endTag)&&u._setEndLocation(s,e)}}else ie(u,e)}function ie(u,e){u.insertionMode=A.IN_BODY,ee(u,e)}function Ka(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.FRAMESET:{u._insertElement(e,m.HTML);break}case r.FRAME:{u._appendElement(e,m.HTML),e.ackSelfClosing=!0;break}case r.NOFRAMES:{W(u,e);break}default:}}function $a(u,e){e.tagID===r.FRAMESET&&!u.openElements.isRootHtmlElementCurrent()&&(u.openElements.pop(),!u.fragmentContext&&u.openElements.currentTagId!==r.FRAMESET&&(u.insertionMode=A.AFTER_FRAMESET))}function ja(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.NOFRAMES:{W(u,e);break}default:}}function Za(u,e){e.tagID===r.HTML&&(u.insertionMode=A.AFTER_AFTER_FRAMESET)}function Ja(u,e){e.tagID===r.HTML?w(u,e):ae(u,e)}function ae(u,e){u.insertionMode=A.IN_BODY,ee(u,e)}function uo(u,e){switch(e.tagID){case r.HTML:{w(u,e);break}case r.NOFRAMES:{W(u,e);break}default:}}function eo(u,e){e.chars=R,u._insertCharacters(e)}function to(u,e){u._insertCharacters(e),u.framesetOk=!1}function N0(u){for(;u.treeAdapter.getNamespaceURI(u.openElements.current)!==m.HTML&&u.openElements.currentTagId!==void 0&&!u._isIntegrationPoint(u.openElements.currentTagId,u.openElements.current);)u.openElements.pop()}function ro(u,e){if(n0(e))N0(u),u._startTagOutsideForeignContent(e);else{const t=u._getAdjustedCurrentElement(),s=u.treeAdapter.getNamespaceURI(t);s===m.MATHML?Oe(e):s===m.SVG&&(i0(e),Re(e)),ue(e),e.selfClosing?u._appendElement(e,s):u._insertElement(e,s),e.ackSelfClosing=!0}}function so(u,e){if(e.tagID===r.P||e.tagID===r.BR){N0(u),u._endTagOutsideForeignContent(e);return}for(let t=u.openElements.stackTop;t>0;t--){const s=u.openElements.items[t];if(u.treeAdapter.getNamespaceURI(s)===m.HTML){u._endTagOutsideForeignContent(e);break}const n=u.treeAdapter.getTagName(s);if(n.toLowerCase()===e.tagName){e.tagName=n,u.openElements.shortenToLength(t);break}}}var Io=String.prototype.codePointAt==null?(u,e)=>(u.charCodeAt(e)&64512)===55296?(u.charCodeAt(e)-55296)*1024+u.charCodeAt(e+1)-56320+65536:u.charCodeAt(e):((u,e)=>u.codePointAt(e));function b0(u,e){return function(s){let n,i=0,a="";for(;n=u.exec(s);)i!==n.index&&(a+=s.substring(i,n.index)),a+=e.get(n[0].charCodeAt(0)),i=n.index+1;return a+s.substring(i)}}var no=b0(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),io=b0(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),ao=new Set([C.AREA,C.BASE,C.BASEFONT,C.BGSOUND,C.BR,C.COL,C.EMBED,C.FRAME,C.HR,C.IMG,C.INPUT,C.KEYGEN,C.LINK,C.META,C.PARAM,C.SOURCE,C.TRACK,C.WBR]);function x0(u,e){return e.treeAdapter.isElementNode(u)&&e.treeAdapter.getNamespaceURI(u)===m.HTML&&ao.has(e.treeAdapter.getTagName(u))}var oo={treeAdapter:eu,scriptingEnabled:!0};function co(u,e){const t={...oo,...e};return x0(u,t)?"":S0(u,t)}function S0(u,e){let t="";const s=e.treeAdapter.isElementNode(u)&&e.treeAdapter.getTagName(u)===C.TEMPLATE&&e.treeAdapter.getNamespaceURI(u)===m.HTML?e.treeAdapter.getTemplateContent(u):u,n=e.treeAdapter.getChildNodes(s);if(n)for(const i of n)t+=lo(i,e);return t}function lo(u,e){return e.treeAdapter.isElementNode(u)?Eo(u,e):e.treeAdapter.isTextNode(u)?ho(u,e):e.treeAdapter.isCommentNode(u)?Co(u,e):e.treeAdapter.isDocumentTypeNode(u)?Do(u,e):""}function Eo(u,e){const t=e.treeAdapter.getTagName(u);return`<${t}${Ao(u,e)}>${x0(u,e)?"":`${S0(u,e)}</${t}>`}`}function Ao(u,{treeAdapter:e}){let t="";for(const s of e.getAttrList(u)){if(t+=" ",s.namespace)switch(s.namespace){case m.XML:{t+=`xml:${s.name}`;break}case m.XMLNS:{s.name!=="xmlns"&&(t+="xmlns:"),t+=s.name;break}case m.XLINK:{t+=`xlink:${s.name}`;break}default:t+=`${s.prefix}:${s.name}`}else t+=s.name;t+=`="${no(s.value)}"`}return t}function ho(u,e){const{treeAdapter:t}=e,s=t.getTextNodeContent(u),n=t.getParentNode(u),i=n&&t.isElementNode(n)&&t.getTagName(n);return i&&t.getNamespaceURI(n)===m.HTML&&Gt(i,e.scriptingEnabled)?s:io(s)}function Co(u,{treeAdapter:e}){return`<!--${e.getCommentNodeContent(u)}-->`}function Do(u,{treeAdapter:e}){return`<!DOCTYPE ${e.getDocumentTypeNodeName(u)}>`}function fo(u,e,t){typeof u=="string"&&(t=e,e=u,u=null);const s=Ni.getFragmentParser(u,t);return s.tokenizer.write(e,!0),s.getFragment()}return {MarkdownIt:kn,parseFragment:fo,serialize:co}; })(); // UI text only. Article content, names and tags are never translated. const translations = { "标题": [ "標題", "Title" ], "标签": [ "標籤", "Tags" ], " · 逗号或换行分隔": [ " · 以逗號或換行分隔", " · Separate with commas or newlines" ], "作者": [ "作者", "Authors" ], "设置": [ "設定", "Settings" ], "站点、默认作者与凭据": [ "網站、預設作者與憑證", "Site, default authors and credentials" ], "Typlog 站点": [ "Typlog 網站", "Typlog site" ], "默认作者用于新文章,已关联的文章沿用各自上次所选作者。": [ "預設作者用於新文章,已關聯的文章沿用各自上次所選作者。", "New articles use the default authors. Linked articles keep their last selected authors." ], "不设作者": [ "不設作者", "Keep server authors" ], "不设默认作者": [ "不設預設作者", "Keep server authors by default" ], "将本次作者设为本站默认": [ "將本次作者設為本站預設", "Use these authors by default for this site" ], "完成后打开后台编辑页": [ "完成後開啟後台編輯頁", "Open the admin editor when finished" ], "关联草稿 ID": [ "關聯草稿 ID", "Linked draft ID" ], " · 可留空": [ " · 選填", " · Optional" ], "已检查后台,确认上次没有生成草稿": [ "已檢查後台,確認上次沒有產生草稿", "I checked the admin: the previous attempt did not create a draft" ], "Token 保存在 Drafts 原生 Credentials 中,此窗口不读取或显示 Token。": [ "權杖儲存於 Drafts 原生 Credentials,此視窗不讀取或顯示權杖。", "The token is stored in Drafts Credentials. This window does not read or display it." ], "保存设置时忘记 Token,下次运行重新授权": [ "儲存設定時忘記權杖,下次執行重新授權", "Forget the token when saving settings; authorize again next time" ], "保存设置": [ "儲存設定", "Save settings" ], "只保存设置,不推送文章。": [ "只儲存設定,不推送文章。", "Save settings without sending the article." ], "推送后保存为 Typlog 草稿,可在后台预览与发布。": [ "推送後儲存為 Typlog 草稿,可在後台預覽與發佈。", "Saved as a Typlog draft. Preview and publish it in the admin." ], "取消": [ "取消", "Cancel" ], "创建草稿": [ "建立草稿", "Create draft" ], "新建草稿": [ "建立新草稿", "New draft" ], "更新草稿": [ "更新草稿", "Update draft" ], "新建草稿并重新关联": [ "建立新草稿並重新關聯", "Create draft and relink" ], "原文章已不存在 · ID {0}": [ "原文章已不存在 · ID {0}", "Original article missing · ID {0}" ], "更新草稿 · ID {0}": [ "更新草稿 · ID {0}", "Update draft · ID {0}" ], "上次创建结果待确认": [ "上次建立結果待確認", "Previous creation needs checking" ], "作者已失效,请重新选择": [ "作者已失效,請重新選擇", "Author unavailable; select again" ], "请选择作者": [ "請選擇作者", "Select authors" ], "不设作者会保留后台已有作者。": [ "不設作者會保留後台現有作者。", "This option keeps the existing server authors." ], "之前选择的作者已不在本站列表中,请展开重新选择。": [ "先前選擇的作者已不在本站清單中,請展開重新選擇。", "A previously selected author is no longer listed for this site. Expand to select again." ], "后台已找不到原文章(ID {0})。新建后,这篇 Drafts 文档将关联到新的文章 ID。": [ "後台已找不到原文章(ID {0})。建立新草稿後,這篇 Drafts 文件將關聯至新的文章 ID。", "The original article (ID {0}) is missing. Creating a replacement will link this Drafts document to the new article ID." ], "已关联的草稿会原位更新。": [ "已關聯的草稿會在原處更新。", "The linked draft will be updated in place." ], "如需更新后台已有草稿,可填写它的 ID。": [ "如需更新後台現有草稿,可填寫它的 ID。", "Enter an existing server draft ID to link and update it." ], "请先在 Typlog 后台核对上次创建结果,避免重复建稿。": [ "請先在 Typlog 後台核對上次建立結果,避免重複建立草稿。", "Check the previous attempt in Typlog admin first to avoid creating a duplicate." ], "请选择有效的默认作者,或勾选不设默认作者。": [ "請選擇有效的預設作者,或勾選不設預設作者。", "Select valid default authors or choose to keep server authors by default." ], "请勾选「新建草稿并重新关联」,或取消推送。": [ "請勾選「建立新草稿並重新關聯」,或取消推送。", "Choose “Create draft and relink”, or cancel." ], "请用「保存设置」忘记 Token,然后重新运行授权。": [ "請用「儲存設定」忘記權杖,然後重新執行授權。", "Use “Save settings” to forget the token, then run again to authorize." ], "请填写标题。": [ "請填寫標題。", "Enter a title." ], "请选择作者,或勾选「不设作者」。": [ "請選擇作者,或勾選「不設作者」。", "Select authors or choose to keep server authors." ], "关联草稿 ID 应为正整数。": [ "關聯草稿 ID 應為正整數。", "The linked draft ID must be a positive integer." ], "请先核对后台,并关联已有草稿或勾选确认重试。": [ "請先核對後台,並關聯現有草稿或勾選確認重試。", "Check the admin first, then link an existing draft or confirm a retry." ], "网络图片 {0} 处": [ "網路圖片 {0} 處", "Remote images: {0}" ], "未命名作者": [ "未命名作者", "Unnamed author" ], "语言": [ "語言", "Language" ], "自动(系统语言)": [ "自動(系統語言)", "Automatic (system language)" ], "发布表单返回的数据不正确。": [ "推送表單傳回的資料格式不正確。", "The publication form returned invalid data." ], "请选择有效站点。": [ "請選擇有效網站。", "Select a valid site." ], "作者选项格式不正确。": [ "作者選項格式不正確。", "Invalid author selection data." ], "请选择有效作者,或勾选「不设作者」。": [ "請選擇有效作者,或勾選「不設作者」。", "Select valid authors or choose to keep server authors." ], "发布选项格式不正确。": [ "推送選項格式不正確。", "Invalid publication options." ], "关联文章已不存在,请勾选「新建草稿并重新关联」,或取消推送。": [ "關聯文章已不存在,請勾選「建立新草稿並重新關聯」,或取消推送。", "The linked article is missing. Choose “Create draft and relink”, or cancel." ], "关联文章尚未确认不存在,请重新运行检查。": [ "尚未確認關聯文章不存在,請重新執行檢查。", "The linked article has not been confirmed missing. Run again to check." ], "标题不能为空。": [ "標題不能留空。", "The title cannot be empty." ], "关联的文章 ID 不可在推送时更换。": [ "推送時不可更換已關聯的文章 ID。", "The linked article ID cannot be changed during publication." ], "请填写后台已有草稿 ID,或先确认没有生成草稿后勾选重试。": [ "請填寫後台現有草稿 ID,或先確認沒有產生草稿後勾選重試。", "Enter an existing draft ID, or confirm no draft was created before selecting retry." ], "语言选项无效。": [ "語言選項無效。", "Invalid language option." ], "Token 不能为空或包含换行。请在 Drafts 设置 → Credentials 中忘记 Typlog Publisher 后重新授权。": [ "權杖不能留空或包含換行。請至 Drafts Settings → Credentials 忘記 Typlog Publisher 的憑證,再重新授權。", "The token cannot be empty or contain newlines. Forget Typlog Publisher in Drafts Settings → Credentials, then authorize again." ], "发布配置格式不正确。": [ "推送設定格式不正確。", "Invalid publication configuration." ], "账号没有可访问的站点。请检查 Token 的 site 权限。": [ "帳號沒有可存取的網站。請檢查權杖的 site 權限。", "No accessible sites for this account. Check the token’s site permission." ], "推送记录格式不正确。": [ "推送紀錄格式不正確。", "Invalid publication record." ], "作者列表读取失败,请检查网络与 Token 权限后重新运行。": [ "作者清單讀取失敗,請檢查網路與權杖權限後重新執行。", "Unable to load authors. Check your connection and token permissions, then run again." ], "关联文章(ID {0})已不是草稿,或无法确认草稿状态。请到后台检查。": [ "關聯文章(ID {0})已不是草稿,或無法確認草稿狀態。請到後台檢查。", "The linked article (ID {0}) is no longer a draft, or its status cannot be confirmed. Check the admin." ], "无法确认关联文章状态,请检查网络与权限后重新运行。": [ "無法確認關聯文章狀態,請檢查網路與權限後重新執行。", "Unable to confirm the linked article’s status. Check your connection and permissions, then run again." ], "推送记录在窗口打开期间发生变化,请重新运行。": [ "推送紀錄在視窗開啟期間發生變更,請重新執行。", "The publication record changed while the window was open. Run again." ], "设置已保存,Token 已忘记。下次运行时重新授权。": [ "設定已儲存,權杖已忘記。下次執行時重新授權。", "Settings saved and token forgotten. Authorize again next time." ], "Typlog 发布设置已保存。": [ "Typlog 推送設定已儲存。", "Typlog publication settings saved." ], "作者列表已变化,请重新运行并选择作者。": [ "作者清單已變更,請重新執行並選擇作者。", "The author list changed. Run again and select authors." ], "Typlog 草稿已新建并重新关联": [ "Typlog 草稿已建立並重新關聯", "Typlog draft created and relinked" ], "内容未变,继续使用原草稿": [ "內容未變,繼續使用原草稿", "Content unchanged; keeping the existing draft" ], "Typlog 草稿已更新": [ "Typlog 草稿已更新", "Typlog draft updated" ], "Typlog 草稿已创建": [ "Typlog 草稿已建立", "Typlog draft created" ], "草稿已保存,可在 Typlog 后台打开 ID {0}。": [ "草稿已儲存,可在 Typlog 後台開啟 ID {0}。", "Draft saved. Open ID {0} in Typlog admin." ], "操作未完成,请检查网络与 iCloud Drive,然后重试。": [ "操作未完成,請檢查網路與 iCloud Drive,然後重試。", "Unable to complete the operation. Check your connection and iCloud Drive, then retry." ], "[Token 已隐藏]": [ "[權杖已隱藏]", "[Token hidden]" ], "请求限流,请稍后重试。": [ "請求次數受限,請稍後重試。", "Rate limit reached. Try again later." ], "请检查 Token 的 profile / site 权限。": [ "請檢查權杖的 profile / site 權限。", "Check the token’s profile / site permissions." ], "请检查网络、站点配置和文章状态。": [ "請檢查網路、網站設定和文章狀態。", "Check your connection, site configuration and article status." ], "Typlog 请求失败(HTTP {0})。{1}": [ "Typlog 請求失敗(HTTP {0})。{1}", "Typlog request failed (HTTP {0}). {1}" ], "Typlog 返回了无法读取的 JSON 数据。": [ "Typlog 傳回了無法讀取的 JSON 資料。", "Typlog returned unreadable JSON data." ], "无法读取账号 username。": [ "無法讀取帳號使用者名稱(username)。", "Unable to read the account username." ], "站点列表格式不正确。": [ "網站清單格式不正確。", "Invalid site list." ], "站点 ID 或 slug 无效。": [ "網站 ID 或 slug 無效。", "Invalid site ID or slug." ], "作者列表格式不正确。": [ "作者清單格式不正確。", "Invalid author list." ], "作者 ID 无效。": [ "作者 ID 無效。", "Invalid author ID." ], "文章 ID 应为正整数。": [ "文章 ID 應為正整數。", "The article ID must be a positive integer." ], "关联文章(ID {0})已不存在。请重新运行,选择新建草稿并重新关联。": [ "關聯文章(ID {0})已不存在。請重新執行,選擇建立新草稿並重新關聯。", "The linked article (ID {0}) is missing. Run again and choose to create a draft and relink." ], "关联文章(ID {0})已不是草稿,或无法确认草稿状态。请到后台检查,本次不会新建替代文章。": [ "關聯文章(ID {0})已不是草稿,或無法確認草稿狀態。請到後台檢查,本次不會建立替代文章。", "The linked article (ID {0}) is no longer a draft, or its status cannot be confirmed. Check the admin; no replacement will be created." ], "Typlog XML-RPC 请求失败(HTTP {0})。请检查网络、Token 和站点的 XML-RPC 开关;创建失败时先核对后台。": [ "Typlog XML-RPC 請求失敗(HTTP {0})。請檢查網路、權杖和網站的 XML-RPC 開關;建立失敗時先核對後台。", "Typlog XML-RPC request failed (HTTP {0}). Check your connection, token and the site’s XML-RPC setting. Check the admin before retrying creation." ], "Typlog 返回了无效的 XML-RPC 结果。": [ "Typlog 傳回了無效的 XML-RPC 結果。", "Typlog returned an invalid XML-RPC result." ], "创建请求没有返回有效文章 ID,请先核对 Typlog 后台。": [ "建立請求沒有傳回有效文章 ID,請先核對 Typlog 後台。", "The creation request did not return a valid article ID. Check Typlog admin first." ], "Typlog 未确认草稿更新成功。重试会继续更新同一篇文章。": [ "Typlog 未確認草稿更新成功。重試會繼續更新同一篇文章。", "Typlog did not confirm the draft update. A retry will update the same article." ], "后台作者与所选作者不一致,请重试或到后台核对。": [ "後台作者與所選作者不一致,請重試或到後台核對。", "Server authors do not match the selection. Retry or check the admin." ], "无法创建配置目录。": [ "無法建立設定目錄。", "Unable to create the configuration directory." ], "无法读取配置或推送记录,请检查 iCloud Drive。": [ "無法讀取設定或推送紀錄,請檢查 iCloud Drive。", "Unable to read configuration or publication records. Check iCloud Drive." ], "配置或推送记录损坏,请检查 iCloud Drive 中的 Drafts/TyplogPublisher。": [ "設定或推送紀錄損毀,請檢查 iCloud Drive 中的 Drafts/TyplogPublisher。", "Configuration or publication records are damaged. Check Drafts/TyplogPublisher in iCloud Drive." ], "无法保存配置或推送记录;操作已停止,请检查 iCloud Drive。": [ "無法儲存設定或推送紀錄;操作已停止,請檢查 iCloud Drive。", "Unable to save configuration or publication records. The operation stopped; check iCloud Drive." ], "当前草稿缺少有效 UUID。": [ "目前草稿缺少有效 UUID。", "The current draft does not have a valid UUID." ], "推送记录格式不正确,请先检查后台与本地记录。": [ "推送紀錄格式不正確,請先檢查後台與本機紀錄。", "Invalid publication record. Check the admin and local records first." ], "关联文章的重新建稿选项无效,请重新运行。": [ "關聯文章的重新建稿選項無效,請重新執行。", "Invalid replacement option for the linked article. Run again." ], "关联文章仍然存在,请重新运行以更新原草稿。": [ "關聯文章仍然存在,請重新執行以更新原草稿。", "The linked article still exists. Run again to update the original draft." ], "上次创建结果未确认。请先关联后台已有草稿,或确认后台没有生成后再创建。": [ "尚未確認上次建立草稿的結果。請先關聯後台現有草稿,或確認未產生草稿後再建立。", "The previous creation result is uncertain. Link an existing draft, or confirm none was created before retrying." ], "草稿已保存(ID {0}),作者设置未完成。再次推送会继续处理同一草稿。": [ "草稿已儲存(ID {0}),作者設定未完成。再次推送會繼續處理同一草稿。", "Draft saved (ID {0}), but author settings are incomplete. A retry will continue with the same draft." ], "元数据缺少结束的 {0}。": [ "中繼資料缺少結尾的 {0}。", "Metadata is missing its closing {0}." ], "format 只能是 markdown 或 html。": [ "format 只能是 markdown 或 html。", "format must be markdown or html." ], "图片请使用有效的 http:// 或 https:// 网络链接;不支持本地路径或 data: 图片。": [ "圖片請使用有效的 http:// 或 https:// 網路連結;不支援本機路徑或 data: 圖片。", "Use valid http:// or https:// image URLs. Local paths and data: images are not supported." ], "图片链接缺少有效主机或包含账号密码。": [ "圖片連結缺少有效主機或包含帳號密碼。", "An image URL has an invalid host or contains credentials." ], "srcset 中有本地图片,请改用单一 img src 网络链接。": [ "srcset 中有本機圖片,請改用單一 img src 網路連結。", "srcset contains local images. Use a single remote img src URL instead." ], "API Token": [ "API 權杖", "API Token" ], "Typlog API Token。请在 https://typlog.com/account/tokens 点击「+ 新密钥」,勾选 profile 与 site 权限并创建密钥。Token 由 Drafts 原生 Credential 保存。": [ "Typlog API 權杖。請在 https://typlog.com/account/tokens 點選「+ 新權杖」,勾選 profile 與 site 權限並建立權杖。權杖由 Drafts 原生 Credential 儲存。", "Create a Typlog API token at https://typlog.com/account/tokens: click “+ New token” and select profile and site permissions. Drafts stores the token using its native Credential system." ] }; const languageOptions = ['auto', 'zh-Hans', 'zh-Hant', 'en']; class PublisherError extends Error {} function resolveLanguage(preferences = []) { for (const preference of preferences) { const tag = String(preference).replace(/_/g, '-').toLowerCase(); if (/^zh(?:-|$)/.test(tag)) { if (tag.includes('-hant')) return 'zh-Hant'; if (tag.includes('-hans')) return 'zh-Hans'; return /^zh-(tw|hk|mo)(?:-|$)/.test(tag) ? 'zh-Hant' : 'zh-Hans'; } if (/^en(?:-|$)/.test(tag)) return 'en'; } return 'en'; } function systemLanguage(runtime = globalThis) { try { return resolveLanguage([new runtime.Intl.DateTimeFormat().resolvedOptions().locale]); } catch { return 'zh-Hans'; } } // Serialized into HTMLPreview as well as used by the native runtime. function translator(catalog, language) { const index = language === 'zh-Hant' ? 0 : 1; const escape = text => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); const patterns = Object.entries(catalog).filter(([source]) => /\{\d+\}/.test(source)).map(([source, values]) => ({ regex: new RegExp('^' + source.split(/\{\d+\}/).map(escape).join('(.*?)') + '$'), value: values[index] })); function t(message, depth = 0) { if (language === 'zh-Hans' || depth > 3) return message; if (catalog[message]) return catalog[message][index]; if (message.includes('\n')) return message.split('\n').map(line => t(line, depth + 1)).join('\n'); for (const pattern of patterns) { const match = message.match(pattern.regex); if (match) return pattern.value.replace(/\{(\d+)\}/g, (_, n) => t(match[Number(n) + 1], depth + 1)); } return message; } return t; } function splitTags(value) { return [...new Set(String(value == null ? '' : value).split(/[,,\n]/).map(x => x.trim()).filter(Boolean))]; } function validId(value) { return /^[1-9]\d*$/.test(String(value)) && Number.isSafeInteger(Number(value)); } function adminUrl(config, postId) { return 'https://typlog.com/admin/' + encodeURIComponent(config.slug) + '/posts/' + encodeURIComponent(postId); } function authorLabel(a) { return (a.name || a.username || '未命名作者') + (a.username && a.name ? ' (@' + a.username + ')' : '') + ' · ID ' + a.id; } const md = new MarkdownIt({ html: true, linkify: false, typographer: false }); const defaultValidateLink = md.validateLink; md.validateLink = url => /^(?:file|typlog-media|image-loader):/i.test(url) || defaultValidateLink(url); function textContent(node) { if (node.nodeName === '#text') return node.value; return (node.childNodes || []).map(textContent).join(''); } function parseDocument(source, draftTags = []) { let content = source.replace(/^\uFEFF/, '').replace(/\r\n/g, '\n'); let title = '', format = 'markdown', metadataTags = []; const start = content.match(/^[ \t]*(:::(?:typlog-shortcut)?|---)[ \t]*\n/); if (start) { const end = start[1] === '---' ? '---' : ':::'; const lines = content.slice(start[0].length).split('\n'); const closing = lines.findIndex(x => x.trim() === end); if (closing < 0) throw new PublisherError('元数据缺少结束的 ' + end + '。'); for (const line of lines.slice(0, closing)) { const field = line.match(/^[ \t]*(title|tag|tags|format):[ \t]*(.*)$/); if (!field) continue; const key = field[1]; let value = field[2].trim(); if (/^(["']).*\1$/.test(value)) value = value.slice(1, -1); if (key === 'title') title = value; if (key === 'tag' || key === 'tags') metadataTags.push(...splitTags(value)); if (key === 'format') { if (!['markdown', 'html'].includes(value)) throw new PublisherError('format 只能是 markdown 或 html。'); format = value; } } content = lines.slice(closing + 1).join('\n'); } if (!title) { if (format === 'html') { const nodes = []; visit(parseFragment(content), node => { if (node.tagName === 'h1') nodes.push(node); }); title = nodes.length ? textContent(nodes[0]).trim() : ''; } else { const tokens = md.parse(content, {}); const index = tokens.findIndex(t => t.type === 'heading_open' && t.tag === 'h1' && t.level === 0); if (index !== -1) { const heading = tokens[index]; title = (tokens[index + 1].children || []).map(t => ['softbreak', 'hardbreak'].includes(t.type) ? ' ' : t.type === 'html_inline' ? '' : t.content).join('').trim(); const lines = content.split('\n'); if (!lines.slice(0, heading.map[0]).join('\n').trim()) content = lines.slice(heading.map[1]).join('\n'); } } } // Drafts tags are always included. Metadata tags supplement them; an empty // metadata tag never silently removes the tags on the source draft. return { title, format, content, tags: [...new Set([...draftTags, ...metadataTags].map(x => String(x).trim()).filter(Boolean))] }; } function visit(node, fn) { if (fn(node) === false) return; for (const child of [...(node.childNodes || [])]) visit(child, fn); } function attr(node, name) { const entry = (node.attrs || []).find(x => x.name === name); return entry ? entry.value : ''; } function setAttr(node, name, value) { const entry = node.attrs.find(x => x.name === name); if (entry) entry.value = value; else node.attrs.push({ name, value }); } function remove(node) { const parent = node.parentNode; if (parent) parent.childNodes.splice(parent.childNodes.indexOf(node), 1); node.parentNode = undefined; } function validateImageURL(src) { // Relative and local files cannot be resolved from a Drafts text record. if (!/^(https?:)?\/\//i.test(src) || /[\u0000-\u0020\u007f<>"\\]/.test(src)) { throw new PublisherError('图片请使用有效的 http:// 或 https:// 网络链接;不支持本地路径或 data: 图片。'); } const host = src.replace(/^(https?:)?\/\//i, '').split(/[/?#]/)[0]; if (!host || host.includes('@')) throw new PublisherError('图片链接缺少有效主机或包含账号密码。'); return src; } function renderDocument(parsed) { // parse5 works in JavaScriptCore without browser DOM or Node APIs. const root = parseFragment(parsed.format === 'html' ? parsed.content : md.render(parsed.content)); const images = []; visit(root, node => { if (['script', 'iframe', 'object', 'embed', 'base', 'link', 'meta', 'template', 'svg', 'math'].includes(node.tagName)) { remove(node); return false; } if (node.attrs) node.attrs = node.attrs.filter(a => !/^on/i.test(a.name) && !( /^(href|src)$/i.test(a.name) && /^[\s\u0000-\u0020]*javascript:/i.test(a.value.replace(/[\u0000-\u0020]/g, '')))); if (node.tagName === 'img') images.push(node); const sources = attr(node, 'srcset'); if (sources && !sources.split(',').every(x => /^(https?:)?\/\//i.test(x.trim()))) throw new PublisherError('srcset 中有本地图片,请改用单一 img src 网络链接。'); }); let count = 0; for (const image of images) { // Ignore images removed together with unsupported containers. let ancestor = image; while (ancestor.parentNode) ancestor = ancestor.parentNode; if (ancestor !== root) continue; validateImageURL(attr(image, 'src')); count++; const title = attr(image, 'title'); const dimensions = title.match(/"?\s+((?:(?:width|height)="(?:\d+(?:\.\d+)?(?:px|%|em|rem|vw|vh)?|auto)"?\s*)+)$/); if (dimensions) { const re = /(width|height)="([^"\s]+)"?/g; let match; while ((match = re.exec(dimensions[1]))) setAttr(image, match[1], match[2]); setAttr(image, 'title', title.slice(0, dimensions.index).trim()); } let style = attr(image, 'style'); for (const key of ['width', 'height']) { const value = attr(image, key); if (/^(?:\d+(?:\.\d+)?(?:px|%|em|rem|vw|vh)?|auto)$/.test(value)) style += ';' + key + ':' + (/^\d+(?:\.\d+)?$/.test(value) ? value + 'px' : value); } if (style) setAttr(image, 'style', style.replace(/^;/, '')); const parent = image.parentNode; if (parent && parent.tagName === 'p' && parent.childNodes.filter(x => x.tagName).length === 1 && !textContent(parent).trim()) { const figure = parseFragment('<figure style="text-align:center; margin:1em 0;"></figure>').childNodes[0]; const grandparent = parent.parentNode; grandparent.childNodes.splice(grandparent.childNodes.indexOf(parent), 1, figure); figure.parentNode = grandparent; figure.childNodes.push(image); image.parentNode = figure; const caption = attr(image, 'title') || attr(image, 'alt'); if (caption) { const figcaption = parseFragment('<figcaption></figcaption>').childNodes[0]; figcaption.parentNode = figure; figcaption.childNodes.push({ nodeName: '#text', value: caption, parentNode: figcaption }); figure.childNodes.push(figcaption); } } } return { html: serialize(root), imageCount: count }; } class APIError extends PublisherError { constructor(statusCode, message) { super(message); this.statusCode = statusCode; } } class Client { constructor(token, config = {}, runtime = globalThis) { this.token = token; this.config = config; this.runtime = runtime; } api(path, method = 'GET', data) { const http = this.runtime.HTTP.create(); http.followRedirects = false; http.timeout = 60; const headers = { Accept: 'application/json', Authorization: 'Bearer ' + this.token }; if (this.config.siteId) headers['X-Site-Id'] = String(this.config.siteId); const options = { url: 'https://api.typlog.com/v3/' + path, method, headers }; if (data !== undefined) { options.data = data; options.encoding = 'json'; headers['Content-Type'] = 'application/json'; } const response = http.request(options); if (!response.success || response.statusCode < 200 || response.statusCode >= 300) { const status = response.statusCode || 0; const hint = status === 429 ? '请求限流,请稍后重试。' : [401, 403].includes(status) ? '请检查 Token 的 profile / site 权限。' : '请检查网络、站点配置和文章状态。'; throw new APIError(status, 'Typlog 请求失败(HTTP ' + status + ')。' + hint); } if (response.statusCode === 204) return null; try { return JSON.parse(response.responseText); } catch { throw new PublisherError('Typlog 返回了无法读取的 JSON 数据。'); } } account() { const data = this.api('user'); if (!data || typeof data.username !== 'string' || !data.username.trim()) throw new PublisherError('无法读取账号 username。'); return data.username.trim(); } sites() { const data = this.api('sites'); if (!Array.isArray(data)) throw new PublisherError('站点列表格式不正确。'); return data.map(site => { if (!validId(site.id) || !/^[a-z0-9][a-z0-9_-]*$/i.test(site.slug)) throw new PublisherError('站点 ID 或 slug 无效。'); return { siteId: String(site.id), slug: site.slug, name: typeof site.name === 'string' ? site.name : site.slug }; }); } authors() { const data = this.api('authors'); if (!Array.isArray(data)) throw new PublisherError('作者列表格式不正确。'); return data.map(a => { if (!validId(a.id)) throw new PublisherError('作者 ID 无效。'); return { id: String(a.id), name: typeof a.name === 'string' ? a.name : '', username: typeof a.username === 'string' ? a.username : '' }; }); } inspectPost(postId) { if (!validId(postId)) throw new PublisherError('文章 ID 应为正整数。'); let post; try { post = this.api('posts/' + postId); } catch (error) { // Only a not-found response from this exact post lookup permits recovery. // Auth failures, timeouts, invalid JSON and server errors remain failures. if (error instanceof APIError && error.statusCode === 404) return { state: 'missing' }; throw error; } const status = post && (post.status || (post.metadata && post.metadata.status)); return { state: status === 'draft' ? 'draft' : 'other', post }; } assertDraft(postId) { const result = this.inspectPost(postId); if (result.state === 'missing') throw new PublisherError('关联文章(ID ' + postId + ')已不存在。请重新运行,选择新建草稿并重新关联。'); if (result.state !== 'draft') throw new PublisherError('关联文章(ID ' + postId + ')已不是草稿,或无法确认草稿状态。请到后台检查,本次不会新建替代文章。'); return result.post; } rpc(method, params) { const url = 'https://typlog.com/s/' + encodeURIComponent(this.config.slug) + '/xmlrpc'; const response = this.runtime.XMLRPC.request(url, method, params); if (!response.success) { // Fault text can contain arbitrary input, so never echo it or the token. throw new PublisherError('Typlog XML-RPC 请求失败(HTTP ' + (response.statusCode || 0) + ')。请检查网络、Token 和站点的 XML-RPC 开关;创建失败时先核对后台。'); } if (!Array.isArray(response.params) || response.params.length !== 1) throw new PublisherError('Typlog 返回了无效的 XML-RPC 结果。'); return response.params[0]; } createDraft(payload) { const id = this.rpc('metaWeblog.newPost', [String(this.config.siteId), this.config.username, this.token, { title: payload.title, description: payload.html, categories: payload.tags, post_status: 'draft' }, false]); if (!validId(id)) throw new PublisherError('创建请求没有返回有效文章 ID,请先核对 Typlog 后台。'); return String(id); } updateDraft(postId, payload) { const result = this.rpc('metaWeblog.editPost', [String(postId), this.config.username, this.token, { title: payload.title, description: payload.html, categories: payload.tags, post_status: 'draft' }, false]); if (result !== true) throw new PublisherError('Typlog 未确认草稿更新成功。重试会继续更新同一篇文章。'); } setAuthors(postId, ids) { if (!ids.length) return; // Empty selection preserves existing server authors. this.assertDraft(postId); this.api('posts/' + postId, 'PATCH', { primary_authors: ids.map(Number) }); const post = this.assertDraft(postId); const actual = (post.primary_authors || []).map(a => String(a.id)).sort(); if (JSON.stringify(actual) !== JSON.stringify([...new Set(ids)].sort())) throw new PublisherError('后台作者与所选作者不一致,请重试或到后台核对。'); } } class Store { constructor(fm) { this.fm = fm; this.directory = '/TyplogPublisher'; if (!fm.exists(this.directory) && !fm.createDirectory('TyplogPublisher', '/')) throw new PublisherError('无法创建配置目录。'); } read(name, fallback) { const path = this.directory + '/' + name; if (!this.fm.exists(path)) return fallback; const raw = this.fm.readString(path); if (typeof raw !== 'string') throw new PublisherError('无法读取配置或推送记录,请检查 iCloud Drive。'); try { return JSON.parse(raw); } catch { throw new PublisherError('配置或推送记录损坏,请检查 iCloud Drive 中的 Drafts/TyplogPublisher。'); } } write(name, value) { const data = JSON.stringify(value, null, 2); const path = this.directory + '/' + name; if (!this.fm.writeString(path, data) || this.fm.readString(path) !== data) throw new PublisherError('无法保存配置或推送记录;操作已停止,请检查 iCloud Drive。'); } recordName(config, uuid) { if (!/^[a-z0-9_-]+$/i.test(uuid)) throw new PublisherError('当前草稿缺少有效 UUID。'); return 'draft-' + config.siteId + '-' + config.slug + '-' + uuid + '.json'; } } function publish(store, name, record, client, payload, options = {}) { if (!['new', 'creating', 'created', 'updating', 'linked', 'complete'].includes(record.stage) || (record.postId && !validId(record.postId)) || (['created', 'updating', 'linked', 'complete'].includes(record.stage) && !record.postId)) throw new PublisherError('推送记录格式不正确,请先检查后台与本地记录。'); if (options.recreateMissingPostId !== undefined) { const previousPostId = options.recreateMissingPostId; if (!validId(previousPostId) || previousPostId !== record.postId) throw new PublisherError('关联文章的重新建稿选项无效,请重新运行。'); // Recheck immediately before replacing the local link. The article may have // been restored, or access/network conditions may have changed while editing. if (client.inspectPost(previousPostId).state !== 'missing') throw new PublisherError('关联文章仍然存在,请重新运行以更新原草稿。'); const next = { stage: 'new', previousPostId }; for (const key of ['title', 'tags', 'authorIds', 'sourceTitle', 'sourceTags']) if (record[key] !== undefined) next[key] = record[key]; for (const key of Object.keys(record)) delete record[key]; Object.assign(record, next); // The normal creating checkpoint below replaces the old record BEFORE RPC. // If the result is uncertain, the next run must recover rather than recreate. } const signature = JSON.stringify(payload); if (record.stage === 'creating' && !record.postId) throw new PublisherError('上次创建结果未确认。请先关联后台已有草稿,或确认后台没有生成后再创建。'); if (record.postId) client.assertDraft(record.postId); if (record.stage === 'complete' && record.signature === signature) return { postId: record.postId, unchanged: true }; if (!record.postId || record.stage === 'updating' || record.bodySignature !== JSON.stringify([payload.title, payload.html, payload.tags])) { const existing = !!record.postId; record.stage = existing ? 'updating' : 'creating'; // Persist a pending marker BEFORE sending a mutation. Any uncertain result // requires recovery, even if the server returned an HTTP error. store.write(name, record); if (existing) client.updateDraft(record.postId, payload); else record.postId = client.createDraft(payload); record.stage = 'created'; record.bodySignature = JSON.stringify([payload.title, payload.html, payload.tags]); store.write(name, record); } try { client.setAuthors(record.postId, payload.authorIds); } catch (error) { throw new PublisherError('草稿已保存(ID ' + record.postId + '),作者设置未完成。再次推送会继续处理同一草稿。\n' + (error instanceof PublisherError ? error.message : '操作未完成,请检查网络与 iCloud Drive,然后重试。')); } record.stage = 'complete'; record.signature = signature; record.title = payload.title; record.tags = payload.tags; record.authorIds = payload.authorIds; store.write(name, record); return { postId: record.postId, unchanged: false }; } class Cancelled extends Error {} // Deliberately whitelist the data allowed into the web view. Neither the // credential, source body, record signatures nor arbitrary config keys belong here. function siteForm(site, authors, parsed, record, defaults, error = '', postCheck = {}) { const ids = value => Array.isArray(value) ? value.map(String) : []; const hasDefault = Array.isArray(defaults); const defaultIds = hasDefault ? ids(defaults) : authors.slice(0, 1).map(a => a.id); const selected = Array.isArray(record.authorIds) ? ids(record.authorIds) : defaultIds; return { siteId: site.siteId, slug: site.slug, name: site.name, authors: authors.map(a => ({ id: a.id, label: authorLabel(a), unnamed: !a.name && !a.username })), title: record.sourceTitle === parsed.title && typeof record.title === 'string' ? record.title : parsed.title, tags: (JSON.stringify(record.sourceTags) === JSON.stringify(parsed.tags) && Array.isArray(record.tags) ? record.tags : parsed.tags).join(', '), authorIds: selected, noAuthor: selected.length === 0, defaultAuthorIds: defaultIds, defaultNoAuthor: defaultIds.length === 0, remember: !hasDefault, postId: record.postId ? String(record.postId) : '', uncertain: record.stage === 'creating' && !record.postId, error, missingPost: !!record.postId && postCheck.state === 'missing', postError: postCheck.error || '' }; } function validateForm(raw, model) { let value; try { value = typeof raw === 'string' ? JSON.parse(raw) : raw; } catch { throw new PublisherError('发布表单返回的数据不正确。'); } if (!value || !['publish', 'settings'].includes(value.intent)) throw new PublisherError('发布表单返回的数据不正确。'); const site = model.sites.find(s => s.siteId === value.siteId); if (!site) throw new PublisherError('请选择有效站点。'); if (site.error) throw new PublisherError(site.error); function selection(key, emptyKey) { if (typeof value[emptyKey] !== 'boolean' || !Array.isArray(value[key])) throw new PublisherError('作者选项格式不正确。'); if (value[emptyKey]) return []; const ids = [...new Set(value[key])]; if (!ids.length || ids.some(id => typeof id !== 'string' || !site.authors.some(a => a.id === id))) throw new PublisherError('请选择有效作者,或勾选「不设作者」。'); return ids; } for (const key of ['remember', 'defaultTouched', 'openAfter', 'retryCreate', 'forgetToken', 'recreateMissing']) if (typeof value[key] !== 'boolean') throw new PublisherError('发布选项格式不正确。'); const language = value.language === undefined ? (model.language || 'auto') : value.language; if (!languageOptions.includes(language) || (value.resolvedLanguage !== undefined && !['zh-Hans', 'zh-Hant', 'en'].includes(value.resolvedLanguage))) throw new PublisherError('语言选项无效。'); const result = { intent: value.intent, siteId: site.siteId, openAfter: value.openAfter, forgetToken: value.forgetToken, defaultTouched: value.defaultTouched, remember: value.remember, retryCreate: value.retryCreate, recreateMissing: value.recreateMissing, language, resolvedLanguage: language === 'auto' ? value.resolvedLanguage || model.resolvedLanguage || 'zh-Hans' : language }; if (value.intent === 'settings' || value.defaultTouched) result.defaultAuthorIds = selection('defaultAuthorIds', 'defaultNoAuthor'); if (value.intent === 'settings') return result; if (site.postError) throw new PublisherError(site.postError); if (site.missingPost && !value.recreateMissing) throw new PublisherError('关联文章已不存在,请勾选「新建草稿并重新关联」,或取消推送。'); if (!site.missingPost && value.recreateMissing) throw new PublisherError('关联文章尚未确认不存在,请重新运行检查。'); if (value.forgetToken) throw new PublisherError('请用「保存设置」忘记 Token,然后重新运行授权。'); if (typeof value.title !== 'string' || !value.title.trim()) throw new PublisherError('标题不能为空。'); if (typeof value.tags !== 'string' || typeof value.postId !== 'string') throw new PublisherError('发布表单返回的数据不正确。'); const postId = value.postId.trim(); if (postId && !validId(postId)) throw new PublisherError('关联草稿 ID 应为正整数。'); if (site.postId && postId !== site.postId) throw new PublisherError('关联的文章 ID 不可在推送时更换。'); if (site.uncertain && !postId && !value.retryCreate) throw new PublisherError('请填写后台已有草稿 ID,或先确认没有生成草稿后勾选重试。'); return { ...result, title: value.title.trim(), tags: splitTags(value.tags), authorIds: selection('authorIds', 'noAuthor'), postId }; } // The browser function is serialized, so it must be fully self-contained. function formScript(model) { const $ = id => document.getElementById(id); const automatic = resolveLanguage(navigator.languages && navigator.languages.length ? navigator.languages : [navigator.language]) || model.resolvedLanguage || 'zh-Hans'; let language = model.language === 'auto' ? automatic : model.language; let t = translator(model.translations, language); const authorText = a => a.unnamed ? a.label.replace(/^未命名作者/, t('未命名作者')) : a.label; function localize() { t = translator(model.translations, language); document.documentElement.lang = language; document.querySelectorAll('[data-i18n]').forEach(el => { el.textContent = t(el.dataset.i18n); }); } $('language').value = model.language; localize(); const states = new Map(model.sites.map(s => [s.siteId, { ...s, authorIds: [...s.authorIds], defaultAuthorIds: [...s.defaultAuthorIds], defaultTouched: false, authorTouched: false, retryCreate: false, recreateMissing: false }])); let selected = model.selectedSiteId; let sending = false; const current = () => states.get(selected); const options = model.sites.map(s => { const o = document.createElement('option'); o.value = s.siteId; o.textContent = s.name + ' · ' + s.slug; return o; }); $('site').append(...options); $('openAfter').checked = model.openAfter; function checkedList(id) { return Array.from($(id).querySelectorAll('input:checked')).map(el => el.value); } function capture() { const s = current(); s.title = $('title').value; s.tags = $('tags').value; s.authorIds = checkedList('authors'); s.noAuthor = $('noAuthor').checked; s.remember = $('remember').checked; s.defaultAuthorIds = checkedList('defaultAuthors'); s.defaultNoAuthor = $('defaultNoAuthor').checked; s.postId = $('postId').value.trim(); s.retryCreate = $('retryCreate').checked; s.recreateMissing = $('recreateMissing').checked; } function list(id, chosen, none, onChange) { const target = $(id); target.replaceChildren(); for (const a of current().authors) { const label = document.createElement('label'); label.className = 'choice'; const input = document.createElement('input'); input.type = 'checkbox'; input.value = a.id; input.checked = chosen.includes(a.id); input.disabled = none; input.addEventListener('change', onChange); const text = document.createElement('span'); text.textContent = authorText(a); label.append(input, text); target.append(label); } } function status() { const s = current(); $('imageCount').textContent = t('网络图片 ' + model.imageCount + ' 处'); $('siteName').textContent = s.name + ' · ' + s.slug; $('postStatus').textContent = t(s.missingPost ? '原文章已不存在 · ID ' + s.postId : s.postId ? '更新草稿 · ID ' + s.postId : s.uncertain ? '上次创建结果待确认' : '新建草稿'); $('submit').textContent = t(s.missingPost ? '新建草稿并重新关联' : s.postId ? '更新草稿' : '创建草稿'); const chosen = s.noAuthor ? [] : s.authorIds; const missing = chosen.some(id => !s.authors.some(a => a.id === id)); $('authorSummary').textContent = missing ? t('作者已失效,请重新选择') : s.noAuthor ? t('不设作者') : s.authors.filter(a => chosen.includes(a.id)).map(a => authorText(a).split(' · ID ')[0]).join(language === 'en' ? ', ' : '、') || t('请选择作者'); $('authorNote').textContent = t(missing ? '之前选择的作者已不在本站列表中,请展开重新选择。' : '不设作者会保留后台已有作者。'); $('submit').disabled = !!s.error || !!s.postError || (s.missingPost && !s.recreateMissing) || sending; $('save').disabled = !!s.error || sending; if (s.error || s.postError) $('error').textContent = t(s.error || s.postError); } function draw() { const s = current(); $('site').value = selected; $('title').value = s.title; $('tags').value = s.tags; $('noAuthor').checked = s.noAuthor; $('remember').checked = s.remember; $('defaultNoAuthor').checked = s.defaultNoAuthor; $('postId').value = s.postId; $('postId').readOnly = !!model.sites.find(x => x.siteId === selected).postId; $('retryCreate').checked = s.retryCreate; $('retryArea').hidden = !s.uncertain; $('missingArea').hidden = !s.missingPost; $('recreateMissing').checked = s.recreateMissing; $('missingNote').textContent = t('后台已找不到原文章(ID ' + s.postId + ')。新建后,这篇 Drafts 文档将关联到新的文章 ID。'); $('recoveryNote').textContent = t(s.postId ? '已关联的草稿会原位更新。' : '如需更新后台已有草稿,可填写它的 ID。'); if (s.uncertain) { $('settings').open = true; $('recoveryNote').textContent = t('请先在 Typlog 后台核对上次创建结果,避免重复建稿。'); } $('error').textContent = ''; list('authors', s.authorIds, s.noAuthor, authorChange); list('defaultAuthors', s.defaultAuthorIds, s.defaultNoAuthor, defaultChange); status(); } function authorChange() { const s = current(); s.authorTouched = true; capture(); status(); } function defaultChange() { const s = current(); capture(); s.defaultTouched = true; s.remember = false; $('remember').checked = false; // Editing the default also changes an untouched new article's selection. // An existing article retains its own authors. if (!model.sites.find(x => x.siteId === selected).postId && !s.authorTouched) { s.authorIds = [...s.defaultAuthorIds]; s.noAuthor = s.defaultNoAuthor; s.remember = false; $('noAuthor').checked = s.noAuthor; $('remember').checked = false; list('authors', s.authorIds, s.noAuthor, authorChange); } status(); } $('language').addEventListener('change', () => { capture(); language = $('language').value === 'auto' ? automatic : $('language').value; localize(); draw(); }); $('site').addEventListener('change', () => { capture(); selected = $('site').value; draw(); }); $('noAuthor').addEventListener('change', () => { authorChange(); list('authors', current().authorIds, current().noAuthor, authorChange); }); $('defaultNoAuthor').addEventListener('change', () => { defaultChange(); list('defaultAuthors', current().defaultAuthorIds, current().defaultNoAuthor, defaultChange); }); $('postId').addEventListener('input', () => { capture(); status(); }); $('recreateMissing').addEventListener('change', () => { capture(); status(); }); function send(intent) { if (sending) return; capture(); const s = current(); const value = { language: $('language').value, resolvedLanguage: language, intent, siteId: selected, title: s.title, tags: s.tags, authorIds: s.authorIds, noAuthor: s.noAuthor, defaultAuthorIds: s.defaultAuthorIds, defaultNoAuthor: s.defaultNoAuthor, defaultTouched: s.defaultTouched, remember: s.remember, openAfter: $('openAfter').checked, postId: s.postId, retryCreate: s.retryCreate, forgetToken: $('forgetToken').checked, recreateMissing: s.recreateMissing }; const validAuthors = (ids, none) => none || (ids.length && ids.every(id => s.authors.some(a => a.id === id))); let error = s.error; if (!error && (intent === 'settings' || s.defaultTouched) && !validAuthors(value.defaultAuthorIds, value.defaultNoAuthor)) error = '请选择有效的默认作者,或勾选不设默认作者。'; if (!error && intent === 'publish') { if (s.postError) error = s.postError; else if (s.missingPost && !value.recreateMissing) error = '请勾选「新建草稿并重新关联」,或取消推送。'; else if (value.forgetToken) error = '请用「保存设置」忘记 Token,然后重新运行授权。'; else if (!value.title.trim()) error = '请填写标题。'; else if (!validAuthors(value.authorIds, value.noAuthor)) error = '请选择作者,或勾选「不设作者」。'; else if (value.postId && (!/^[1-9]\d*$/.test(value.postId) || !Number.isSafeInteger(Number(value.postId)))) error = '关联草稿 ID 应为正整数。'; else if (s.uncertain && !value.postId && !value.retryCreate) error = '请先核对后台,并关联已有草稿或勾选确认重试。'; } if (error) { $('error').textContent = t(error); $('error').focus(); return; } sending = true; status(); Drafts.send('typlogForm', JSON.stringify(value)); Drafts.continue(); } $('form').addEventListener('submit', event => { event.preventDefault(); send('publish'); }); $('save').addEventListener('click', () => send('settings')); $('cancel').addEventListener('click', () => Drafts.cancel()); draw(); } function formHTML(input) { const model = { ...input, language: languageOptions.includes(input.language) ? input.language : 'auto', resolvedLanguage: input.resolvedLanguage || 'zh-Hans', translations }; const t = translator(translations, model.language === 'auto' ? model.resolvedLanguage : model.language); const escapeHTML = text => text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); const json = JSON.stringify(model).replace(/[<>&\u2028\u2029]/g, c => '\\u' + c.charCodeAt(0).toString(16).padStart(4, '0')); const html = `<!doctype html><html lang="${model.language === 'auto' ? model.resolvedLanguage : model.language}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; connect-src 'none'; img-src 'none'; base-uri 'none'; form-action 'none'; style-src 'unsafe-inline'; script-src 'nonce-typlog-form'"><title>Typlog Publisher</title><style> :root{color-scheme:light dark;--bg:#f4f5f8;--card:#fff;--text:#202938;--muted:#627084;--line:#d8dee8;--accent:#226bcc;--soft:#edf4ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,sans-serif}main{max-width:680px;margin:0 auto;padding:14px 20px 110px}h1{font-size:22px;margin:0 0 4px}p{margin:8px 0}.muted{font-size:13px;color:var(--muted)}.status{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip{background:var(--soft);border-radius:8px;padding:5px 9px;font-size:13px}section,details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:12px}summary{cursor:pointer;font-weight:600}summary span{font-weight:400;color:var(--muted);font-size:14px;margin-left:8px}details[open] summary{margin-bottom:16px}.field{display:block;font-weight:600;margin:0 0 12px}.field:last-child{margin-bottom:0}input[type=text],textarea,select{display:block;width:100%;background:var(--card);color:var(--text);font:inherit;border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:6px}textarea{resize:vertical;min-height:48px}input:focus,textarea:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choice{display:flex;gap:10px;align-items:flex-start;margin:12px 0;cursor:pointer}.choice input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--accent)}hr{border:0;border-top:1px solid var(--line);margin:18px 0}button{font:600 15px system-ui;border:0;border-radius:9px;padding:11px 18px;cursor:pointer;background:var(--soft);color:var(--accent)}button{min-width:0;overflow-wrap:anywhere}summary>span[data-i18n]{font:inherit;color:inherit;margin:0;display:inline}summary,.choice span,.chip{overflow-wrap:anywhere}button.primary{background:var(--accent);color:#fff;flex:1}button:disabled{opacity:.5;cursor:default}.footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:680px;display:flex;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -5px 15px #00000008}.error{color:#b63737;white-space:pre-wrap;font-size:14px}.error:empty{display:none}small{font-size:13px;font-weight:400;color:var(--muted)}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#161b24;--card:#202734;--text:#e6edf6;--muted:#a5b2c4;--line:#3a4658;--accent:#4c91f0;--soft:#293b53}.error{color:#ff9595}}@media(max-width:400px){main{padding:16px 12px 100px}section,details{padding:13px}summary span{display:block;margin:4px 0 0 17px}} </style></head><body><main><h1>Typlog Publisher</h1><p id="siteName" class="muted"></p><div class="status"><span id="postStatus" class="chip"></span><span id="imageCount" class="chip"></span></div><form id="form" novalidate><section id="missingArea" hidden><p id="missingNote"></p><label class="choice"><input id="recreateMissing" type="checkbox"><span>新建草稿并重新关联</span></label></section><section><label class="field" for="title">标题<input id="title" type="text" autocomplete="off"></label><label class="field" for="tags">标签<small> · 逗号或换行分隔</small><textarea id="tags" rows="1" autocomplete="off"></textarea></label></section><details id="authorDetails"><summary>作者<span id="authorSummary"></span></summary><div id="authors"></div><label class="choice"><input id="noAuthor" type="checkbox"><span>不设作者</span></label><p id="authorNote" class="muted"></p><label class="choice"><input id="remember" type="checkbox"><span>将本次作者设为本站默认</span></label></details><details id="settings"><summary>设置<span>站点、默认作者与凭据</span></summary><label class="field" for="language">语言<select id="language"><option value="auto" data-i18n="自动(系统语言)">${t('自动(系统语言)')}</option><option value="zh-Hans">简体中文</option><option value="zh-Hant">繁體中文</option><option value="en">English</option></select></label><label class="field" for="site">Typlog 站点<select id="site"></select></label><p class="muted">默认作者用于新文章,已关联的文章沿用各自上次所选作者。</p><div id="defaultAuthors"></div><label class="choice"><input id="defaultNoAuthor" type="checkbox"><span>不设默认作者</span></label><hr><label class="choice"><input id="openAfter" type="checkbox"><span>完成后打开后台编辑页</span></label><label class="field" for="postId">关联草稿 ID<small> · 可留空</small><input id="postId" type="text" inputmode="numeric" autocomplete="off"></label><p id="recoveryNote" class="muted"></p><label id="retryArea" class="choice" hidden><input id="retryCreate" type="checkbox"><span>已检查后台,确认上次没有生成草稿</span></label><hr><p class="muted">Token 保存在 Drafts 原生 Credentials 中,此窗口不读取或显示 Token。</p><label class="choice"><input id="forgetToken" type="checkbox"><span>保存设置时忘记 Token,下次运行重新授权</span></label><button id="save" type="button">保存设置</button><p class="muted">只保存设置,不推送文章。</p></details><p id="error" class="error" role="alert" tabindex="-1"></p><p class="muted">推送后保存为 Typlog 草稿,可在后台预览与发布。</p><div class="footer"><button id="cancel" type="button">取消</button><button id="submit" class="primary" type="submit">创建草稿</button></div></form></main><script nonce="typlog-form">const translator = ${translator.toString()}; const resolveLanguage = ${resolveLanguage.toString()}; (${formScript.toString()})(${json});</script></body></html>`; const marker = '<script nonce="typlog-form">'; const split = html.indexOf(marker); return html.slice(0, split).replace(/>([^<>]*[\u3400-\u9fff][^<>]*)</g, (match, text) => translations[text] && !match.includes('自动(系统语言)') ? '><span data-i18n="' + escapeHTML(text) + '">' + escapeHTML(t(text)) + '</span><' : match) + html.slice(split); } function showForm(model) { const preview = HTMLPreview.create(); preview.hideInterface = true; if (!preview.show(formHTML(model))) throw new Cancelled(); return validateForm(context.previewValues.typlogForm, model); } function run() { let activeToken = ''; let language = systemLanguage(); let t = translator(translations, language); try { const store = new Store(FileManager.createCloud()); const config = store.read('config.json', { defaults: {} }); if (!config || typeof config !== 'object' || Array.isArray(config) || (config.defaults && (typeof config.defaults !== 'object' || Array.isArray(config.defaults)))) throw new PublisherError('发布配置格式不正确。'); if (languageOptions.includes(config.language) && config.language !== 'auto') language = config.language; t = translator(translations, language); const credential = Credential.create('Typlog Publisher', t('Typlog API Token。请在 https://typlog.com/account/tokens 点击「+ 新密钥」,勾选 profile 与 site 权限并创建密钥。Token 由 Drafts 原生 Credential 保存。')); credential.addPasswordField('token', t('API Token')); if (!credential.authorize()) throw new Cancelled(); const token = credential.getValue('token').trim(); activeToken = token; if (!token || /[\r\n]/.test(token)) throw new PublisherError('Token 不能为空或包含换行。请在 Drafts 设置 → Credentials 中忘记 Typlog Publisher 后重新授权。'); const defaults = config.defaults || {}; const client = new Client(token); const username = client.account(); const sites = client.sites(); if (!sites.length) throw new PublisherError('账号没有可访问的站点。请检查 Token 的 site 权限。'); const parsed = parseDocument(draft.content, draft.tags); const rendered = renderDocument(parsed); const entries = sites.map(site => { const name = store.recordName(site, draft.uuid); const record = store.read(name, { stage: 'new' }); if (!record || typeof record !== 'object' || Array.isArray(record)) throw new PublisherError('推送记录格式不正确。'); client.config = { ...site, username }; let authors = [], error = ''; try { authors = client.authors(); } catch { error = '作者列表读取失败,请检查网络与 Token 权限后重新运行。'; } let postCheck = { state: 'unlinked' }; if (record.postId) { try { postCheck = client.inspectPost(record.postId); if (postCheck.state === 'other') postCheck.error = '关联文章(ID ' + record.postId + ')已不是草稿,或无法确认草稿状态。请到后台检查。'; } catch (failure) { postCheck = { state: 'unknown', error: failure instanceof APIError ? failure.message : '无法确认关联文章状态,请检查网络与权限后重新运行。' }; } } const key = username + ':' + site.siteId + ':' + site.slug; return { site, name, record, snapshot: JSON.stringify(record), key, form: siteForm(site, authors, parsed, record, defaults[key], error, postCheck) }; }); const saved = config.username === username && entries.find(e => config.site && e.site.siteId === config.site.siteId && e.site.slug === config.site.slug); const model = { sites: entries.map(e => e.form), selectedSiteId: (saved || entries[0]).site.siteId, imageCount: rendered.imageCount, openAfter: config.openAfter !== false, language: languageOptions.includes(config.language) ? config.language : 'auto', resolvedLanguage: language }; const values = showForm(model); language = values.resolvedLanguage; t = translator(translations, language); const entry = entries.find(e => e.site.siteId === values.siteId); const { site, name, key } = entry; const record = store.read(name, { stage: 'new' }); if (JSON.stringify(record) !== entry.snapshot) throw new PublisherError('推送记录在窗口打开期间发生变化,请重新运行。'); client.config = { ...site, username }; const nextDefaults = {}; // Copy only well-formed author ID preferences; unknown keys never propagate. for (const [k, ids] of Object.entries(defaults)) if (Array.isArray(ids) && ids.every(id => /^[1-9]\d*$/.test(String(id)))) nextDefaults[k] = ids.map(String); if (values.intent === 'settings' || values.defaultTouched) nextDefaults[key] = values.defaultAuthorIds; if (values.intent === 'publish' && values.remember) nextDefaults[key] = values.authorIds; const nextConfig = { username, site, openAfter: values.openAfter, defaults: nextDefaults, language: values.language }; if (values.intent === 'settings') { store.write('config.json', nextConfig); if (values.forgetToken) credential.forget(); app.displaySuccessMessage(t(values.forgetToken ? '设置已保存,Token 已忘记。下次运行时重新授权。' : 'Typlog 发布设置已保存。')); return; } const postId = values.recreateMissing ? '' : record.postId || values.postId; if (postId) client.assertDraft(postId); // Recheck author membership after the modal closes, before any mutation. if (values.authorIds.length) { const currentAuthors = client.authors(); if (values.authorIds.some(id => !currentAuthors.some(a => a.id === id))) throw new PublisherError('作者列表已变化,请重新运行并选择作者。'); } store.write('config.json', nextConfig); if (values.postId && !record.postId) { record.postId = values.postId; record.stage = 'linked'; } else if (values.retryCreate && record.stage === 'creating' && !record.postId) record.stage = 'new'; const payload = { title: values.title, html: rendered.html, tags: values.tags, authorIds: values.authorIds }; const options = values.recreateMissing ? { recreateMissingPostId: record.postId } : {}; const result = publish(store, name, record, client, payload, options); record.sourceTitle = parsed.title; record.sourceTags = parsed.tags; store.write(name, record); const message = values.recreateMissing ? 'Typlog 草稿已新建并重新关联' : result.unchanged ? '内容未变,继续使用原草稿' : postId ? 'Typlog 草稿已更新' : 'Typlog 草稿已创建'; app.displaySuccessMessage(t(message) + ' · ID ' + result.postId); if (values.openAfter && !app.openURL(adminUrl(site, result.postId))) app.displayInfoMessage(t('草稿已保存,可在 Typlog 后台打开 ID ' + result.postId + '。')); } catch (error) { if (error instanceof Cancelled) { context.cancel(); return; } // Never echo native runtime exceptions: they can contain request secrets. let message = error instanceof PublisherError ? error.message : '操作未完成,请检查网络与 iCloud Drive,然后重试。'; if (activeToken) message = message.split(activeToken).join('[Token 已隐藏]'); message = t(message); app.displayErrorMessage(message); context.fail(message); } } run(); })(); /* Distribution license notices MIT License Copyright (c) 2026 MarkEdit Typlog contributors Copyright (c) 2026 Drafts Typlog contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Bundled rendering libraries markdown-it 14.3.2 Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. parse5 7.3.0 Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. entities 4.5.0 Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. linkify-it 5.0.2 Copyright (c) 2015 Vitaly Puzrin. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. mdurl 2.1.0 Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- .parse() is based on Joyent's node.js `url` code: Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. punycode.js 2.3.1 Copyright Mathias Bynens <https://mathiasbynens.be/> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. uc.micro 2.1.0 Copyright Mathias Bynens <https://mathiasbynens.be/> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. argparse 2.0.1 A. HISTORY OF THE SOFTWARE ========================== Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software. In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations, which became Zope Corporation. In 2001, the Python Software Foundation (PSF, see https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation was a sponsoring member of the PSF. All Python releases are Open Source (see http://www.opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases. Release Derived Year Owner GPL- from compatible? (1) 0.9.0 thru 1.2 1991-1995 CWI yes 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes 1.6 1.5.2 2000 CNRI no 2.0 1.6 2000 BeOpen.com no 1.6.1 1.6 2001 CNRI yes (2) 2.1 2.0+1.6.1 2001 PSF no 2.0.1 2.0+1.6.1 2001 PSF yes 2.1.1 2.1+2.0.1 2001 PSF yes 2.1.2 2.1.1 2002 PSF yes 2.1.3 2.1.2 2002 PSF yes 2.2 and above 2.1.1 2001-now PSF yes Footnotes: (1) GPL-compatible doesn't mean that we're distributing Python under the GPL. All Python licenses, unlike the GPL, let you distribute a modified version without making your changes open source. The GPL-compatible licenses make it possible to combine Python with other software that is released under the GPL; the others don't. (2) According to Richard Stallman, 1.6.1 is not GPL-compatible, because its license has a choice of law clause. According to CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 is "not incompatible" with the GPL. Thanks to the many outside volunteers who have worked under Guido's direction to make these releases possible. B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON =============================================================== PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 -------------------------------------------- 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python. 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement. BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 ------------------------------------------- BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software"). 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee. 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement. CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 --------------------------------------- 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6.1 software in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) 1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6.1 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013". 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 1.6.1. 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. This License Agreement shall be governed by the federal intellectual property law of the United States, including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement. ACCEPT CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 -------------------------------------------------- Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
Options
-
After Success Nothing Notification Error Log Level Error