import{serialize as e,parse as t}from"parse5";const r=(e,t)=>e.attrs.find((e=>e.name===t)),i=(e,t)=>{var i;return null===(i=r(e,t))||void 0===i?void 0:i.value},o=(e,t)=>{var r;const o=(null===(r=i(e,"class"))||void 0===r?void 0:r.split(" "))||[];return t?o.filter((e=>"string"==typeof t?e.startsWith(t):e.match(t))):o},n=(e,t)=>o(e).filter((e=>t.includes(e))),a=(e,t)=>o(e).some((e=>t.includes(e))),l=(e,t,r)=>t.includes(e.tagName)?i(e,r):void 0,s=(e,t)=>{var r;return Boolean(null===(r=i(e,"rel"))||void 0===r?void 0:r.split(" ").some((e=>t.includes(e))))},u=(e,t)=>[...e,...t],d={adr:{type:["h-adr"],properties:{"country-name":"p-country-name",locality:"p-locality",region:"p-region","street-address":"p-street-address","postal-code":"p-postal-code","extended-address":"p-extended-address"}},geo:{type:["h-geo"],properties:{latitude:"p-latitude",longitude:"p-longitude"}},hentry:{type:["h-entry"],properties:{author:"p-author","entry-content":"e-content","entry-summary":"p-summary","entry-title":"p-name",updated:"dt-updated"},rels:{bookmark:"u-url",tag:"p-category"}},hfeed:{type:["h-feed"],properties:{author:"p-author",photo:"u-photo",url:"u-url"},rels:{tag:"p-category"}},hnews:{type:["h-news"],properties:{entry:"p-entry","source-org":"p-source-org",dateline:"p-dateline",geo:"p-geo"},rels:{principles:"u-principles"}},hproduct:{type:["h-product"],properties:{price:"p-price",description:"p-description",fn:"p-name",review:"p-review",brand:"p-brand",url:"u-url",photo:"u-photo"},rels:{tag:"p-category"}},hreview:{type:["h-review"],properties:{item:"p-item",rating:"p-rating",reviewer:"p-author",summary:"p-name",url:"u-url",description:"e-content"},rels:{bookmark:"u-url",tag:"p-category"}},vcard:{type:["h-card"],properties:{fn:"p-name",url:"u-url",org:"p-org",adr:"p-adr",tel:"p-tel",title:"p-job-title",email:"u-email",photo:"u-photo",agent:"p-agent","family-name":"p-family-name","given-name":"p-given-name","additional-name":"p-additional-name","honorific-prefix":"p-honorific-prefix","honorific-suffix":"p-honorific-suffix",key:"p-key",label:"p-label",logo:"u-logo",mailer:"p-mailer",nickname:"p-nickname",note:"p-note",sound:"u-sound",geo:"p-geo",bday:"dt-bday",class:"p-class",rev:"p-rev",role:"p-role","sort-string":"p-sort-string",tz:"p-tz",uid:"u-uid"},rels:{tag:"p-category"}},hresume:{type:["h-resume"],properties:{contact:"p-contact",experience:"p-experience",summary:"p-summary",skill:"p-skill",education:"p-education",affiliation:"p-affiliation"}},vevent:{type:["h-event"],properties:{summary:"p-name",dtstart:"dt-start",dtend:"dt-end",duration:"dt-duration",description:"p-description",attendee:"p-attendee",location:"p-location",url:"u-url"}},item:{type:["h-item"],properties:{fn:"p-name",photo:"u-photo",url:"u-url"}},"hreview-aggregate":{type:["h-review-aggregate"],properties:{rating:"p-rating",average:"p-average",best:"p-best",count:"p-count",item:"p-item",url:"u-url",fn:"p-name"}}},p=Object.keys(d),c=e=>n(e,p),m=e=>new RegExp(`^${e}-([a-z0-9]+-)?([a-z]+-)*[a-z]+$`),h=m("h"),g=m("(p|e|u|dt)"),f=e=>"tagName"in e&&"childNodes"in e,v=e=>t=>f(t)&&t.tagName===e,y=e=>"value"in e,N=e=>o(e).some((e=>e.match(h))),b=e=>N(e)||(e=>a(e,p))(e),w=(e,t)=>((e,t)=>t.some((t=>{const{properties:r,rels:i}=d[t];return a(e,Object.keys(r))||i&&s(e,Object.keys(i))})))(e,t),$=e=>o(e,g).length>0,x=(e,t)=>!$(e)&&!w(e,t)&&b(e),k=e=>Boolean(f(e)&&"base"===e.tagName&&r(e,"href")),j=e=>f(e)&&a(e,["value","value-title"]),E=e=>Boolean(f(e)&&e.attrs.some((e=>"rel"===e.name))&&e.attrs.some((e=>"href"===e.name))),T=e=>e.childNodes.filter(Boolean).filter(f),U=(e,t,r)=>{const{matcher:i,roots:o}=r,n=i(t,o)&&t;if(n&&b(t))return[...e,t];if(b(t))return e;const a=T(t).reduce(((e,t)=>U(e,t,r)),n?[n]:[]);return[...e,...a]},M=(e,t)=>{const r={roots:f(e)?c(e):[],stopAtRoot:!0,matcher:t};return T(e).reduce(((e,t)=>U(e,t,r)),[])},C=(e,t)=>e&&e.experimental&&e.experimental[t]||!1,R=e=>{var t,r,o;return null!==(r=null===(t=i(e,"alt"))||void 0===t?void 0:t.trim())&&void 0!==r?r:null===(o=i(e,"src"))||void 0===o?void 0:o.trim()},O=(e,t)=>{if(f(t)){if(["style","script"].includes(t.tagName))return e;if("img"===t.tagName){const r=R(t);if(r)return`${e} ${r} `}return t.childNodes.reduce(O,e)}return y(t)?`${e}${t.value}`:e},B=(e,t)=>f(t)?["style","script"].includes(t.tagName)?e:"img"===t.tagName?`${e}${i(t,"alt")||""}`:t.childNodes.reduce(B,e):y(t)?`${e}${t.value}`:e,W=(e,t)=>{if(f(t)){if(["style","script"].includes(t.tagName))return e;if("img"===t.tagName){const r=R(t);if(r)return`${e} ${r} `}return"br"===t.tagName?`${e}\n`:"p"===t.tagName?t.childNodes.reduce(W,`${e}\n`):t.childNodes.reduce(W,e)}if(y(t)){const r=t.value.replace(/[\t\n\r]/g," ");if(r)return`${e}${r}`}return e},_=e=>e.childNodes.reduce(W,"").replace(/ +/g," ").replace(/ ?\n ?/g,"\n").trim(),z=(e,t)=>C(t,"textContent")?_(e):e.childNodes.reduce(O,"").trim(),A=e=>{var t;return null!==(t=l(e,["img","area"],"alt"))&&void 0!==t?t:l(e,["abbr"],"title")},L=e=>{const t=e.childNodes.filter(f);return t.length?A(t[0]):void 0},K=(e,t,r)=>{var i,n,a;if(!t.some((e=>o(e,/^(p|e|h)-/).length)))return null!==(a=null!==(n=null!==(i=A(e))&&void 0!==i?i:L(e))&&void 0!==n?n:(e=>{const t=e.childNodes.filter(f);return 1===t.length?L(t[0]):void 0})(e))&&void 0!==a?a:((e,t)=>C(t,"textContent")?_(e):e.childNodes.reduce(B,"").trim())(e,r)},S=e=>l(e,["a","area"],"href"),H=e=>{const t=e.childNodes.filter(f),r=t.filter((e=>"a"===e.tagName)),i=t.filter((e=>"area"===e.tagName));for(const e of[r,i])if(1===e.length&&!N(e[0]))return S(e[0])},P=(e,t)=>{var r,i;if(!t.some((e=>o(e,"u-").length)))return null!==(i=null!==(r=S(e))&&void 0!==r?r:H(e))&&void 0!==i?i:(e=>{const t=e.childNodes.filter(f);return 1===t.length?H(t[0]):void 0})(e)},q=(e,{inherited:t}={})=>{if("img"!==e.tagName)return;const r=(!t||!t.roots||!t.roots.length)&&i(e,"alt"),o=i(e,"src");return r?{alt:r,value:o}:o},I=e=>"img"===e.tagName?q(e):"object"===e.tagName?i(e,"data"):void 0,D=e=>{const t=e.childNodes.filter(f),r=t.filter((e=>"img"===e.tagName)),i=t.filter((e=>"object"===e.tagName));for(const e of[r,i])if(1===e.length&&!N(e[0]))return I(e[0])},F=(e,t)=>{var r,i;if(!t.some((e=>o(e,"u-").length)))return null!==(i=null!==(r=I(e))&&void 0!==r?r:D(e))&&void 0!==i?i:(e=>{const t=e.childNodes.filter(f);return 1===t.length?D(t[0]):void 0})(e)},G=e=>{if(((e,t)=>o(e).some((e=>"value-title"===e)))(e))return i(e,"title")},J=(e,t)=>{const r=M(e,j);if(r.length){if(t.datetime){const e=r.map((e=>{var r,o;return null!==(o=null!==(r=(e=>i(e,"datetime"))(e))&&void 0!==r?r:G(e))&&void 0!==o?o:z(e,t)}));return e.sort((e=>e.match(/^[0-9]{4}/)?-1:1)).join(" ").trim().replace(/((\+|-)[0-2][0-9]):([0-5][0-9])$/,(e=>e.replace(":",""))).replace(/([0-2]?[0-9])(:[0-5][0-9])?(:[0-5][0-9])?(a\.?m\.?|p\.?m\.?)/i,((e,t,r,i,o)=>`${/a/i.test(o)?t.padStart(2,"0"):`${parseInt(t,10)+12}`}${r||":00"}${i||""}`)).toUpperCase()}return r.map((e=>{var r;return null!==(r=G(e))&&void 0!==r?r:z(e,t)})).join("").trim()}},Q=e=>!e.includes("://")&&!e.startsWith("#"),V=(e,t)=>new URL(e,t).toString(),X=/^(p|u|e|dt)-/,Y=(e,t)=>{var r,i,o,n,a;return null!==(a=null!==(n=null!==(o=null!==(i=null!==(r=J(e,{...t,datetime:!0}))&&void 0!==r?r:l(e,["time","ins","del"],"datetime"))&&void 0!==i?i:l(e,["abbr"],"title"))&&void 0!==o?o:l(e,["data","input"],"value"))&&void 0!==n?n:l(e,["meta"],"content"))&&void 0!==a?a:z(e,t)},Z=(t,r)=>{const o={value:z(t,r),html:e(t).trim()},n=C(r,"lang")&&(i(t,"lang")||r.inherited.lang);return n?{...o,lang:n}:o},ee=(e,t,r)=>"p"===t?((e,t)=>{var r,i,o,n,a;return null!==(a=null!==(n=null!==(o=null!==(i=null!==(r=J(e,t))&&void 0!==r?r:l(e,["abbr","link"],"title"))&&void 0!==i?i:l(e,["data"],"value"))&&void 0!==o?o:l(e,["img","area"],"alt"))&&void 0!==n?n:l(e,["meta"],"content"))&&void 0!==a?a:z(e,t)})(e,r):"e"===t?Z(e,r):"u"===t?((e,t)=>{var r,i,o,n,a,s,u,d,p;const c=null!==(p=null!==(d=null!==(u=null!==(s=null!==(a=null!==(n=null!==(o=null!==(i=null!==(r=l(e,["a","area","link"],"href"))&&void 0!==r?r:q(e,t))&&void 0!==i?i:l(e,["audio","source","iframe","video"],"src"))&&void 0!==o?o:l(e,["video"],"poster"))&&void 0!==n?n:l(e,["object"],"data"))&&void 0!==a?a:J(e,t))&&void 0!==s?s:l(e,["abbr"],"title"))&&void 0!==u?u:l(e,["data","input"],"value"))&&void 0!==d?d:l(e,["meta"],"content"))&&void 0!==p?p:z(e,t);return"string"==typeof c&&Q(c)?V(c,t.baseUrl):"string"==typeof c?c.trim():c})(e,r):Y(e,r),te=(e,t)=>((e,{inherited:t})=>t.roots.length?((e,t)=>[...new Set(t.map((t=>{const{properties:r,rels:o}=d[t],a=n(e,Object.keys(r)).map((e=>r[e])),l=o&&((e,t)=>{var r;return(null===(r=i(e,"rel"))||void 0===r?void 0:r.split(" ").filter((e=>t.includes(e))))||[]})(e,Object.keys(o)).map((e=>o[e]))||[];return[...a,...l]})).reduce(u))])(e,t.roots):o(e,/^(p|u|e|dt)-/))(e,t).map((r=>{const i=(e=>(e.startsWith("p-")?"p":e.startsWith("u-")&&"u")||e.startsWith("e-")&&"e"||"dt")(r),o=r.replace(X,"");return{type:i,key:o,value:["u","p","e","dt"].includes(i)&&b(e)?le(e,{...t,valueType:i,valueKey:o}):ee(e,i,t)}})).filter((e=>Boolean(e))),re=(e,t,r)=>{var i;if("dt"===e.type&&"end"===e.key&&"string"==typeof e.value&&!e.value.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}/)&&e.value.match(/^[0-9]{2}:[0-9]{2}/)){const t=null===(i=r.find((t=>"dt"===t.type&&"start"===t.key&&"string"==typeof e.value)))||void 0===i?void 0:i.value;if(t){const r=t.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}/);return{...e,value:`${r} ${e.value}`}}}return e},ie=(e,{key:t,value:r})=>{void 0!==r&&(e[t]||Array.isArray(e[t])?e[t].push(r):e[t]=[r])},oe=(e,t)=>{const r={},i=((e,t)=>t.inherited.roots.length?M(e,w):M(e,$))(e,t);return i.map((e=>te(e,t))).reduce(u,[]).map(re).forEach((e=>ie(r,e))),t.implyProperties&&!t.inherited.roots.length&&(void 0===r.name&&ie(r,{key:"name",value:K(e,i,t)}),void 0===r.url&&ie(r,{key:"url",value:P(e,i)}),void 0===r.photo&&ie(r,{key:"photo",value:F(e,i)})),r},ne=(e,t)=>{const r=(e=>{const t=i(e,"itemref");if(t)return t.split(" ");if(o(e).includes("include")){const t="object"===e.tagName?"data":"href",r=i(e,t);if(r&&r.startsWith("#"))return[r.substring(1)]}const r="td"===e.tagName&&i(e,"headers");return r?[r]:[]})(e);r.forEach((r=>{const i=t.idRefs[r];i&&e.childNodes.push(i)})),e.childNodes.forEach((e=>f(e)&&!b(e)&&ne(e,t)))},ae=e=>{const t=o(e,"h-");return t.length?t:(e=>{const t=c(e).map((e=>d[e].type)).reduce(u);return t.length>1?t.filter((e=>"h-item"!==e)):t})(e)},le=(e,t)=>{var r,o,n;((e,t)=>{N(e)||ne(e,t)})(e,t);const a=(e=>N(e)?[]:c(e))(e),l=(e=>N(e)?i(e,"id"):void 0)(e),s=i(e,"lang")||t.inherited.lang,u=M(e,x),d={lang:s,roots:a},p={type:ae(e).sort(),properties:oe(e,{...t,implyProperties:!u.length,inherited:d})};if(l&&(p.id=l),C(t,"lang")&&s&&(p.lang=s),u.length&&(p.children=u.map((e=>le(e,{...t,inherited:d})))),"p"===t.valueType&&(p.value=null!==(o=null!==(r=p.properties.name&&p.properties.name[0])&&void 0!==r?r:i(e,"title"))&&void 0!==o?o:z(e,t)),"u"===t.valueType&&(p.value=null!==(n=p.properties.url&&p.properties.url[0])&&void 0!==n?n:z(e,t)),"dt"===t.valueType&&(p.value=Y(e,t)),"e"===t.valueType)return{...Z(e,t),...p};if(t.valueKey&&!p.value){const e=p.properties[t.valueKey]&&p.properties[t.valueKey][0];e&&(p.value="string"==typeof e?e:e.value)}return p},se=(e,t)=>{if(void 0===e)throw new TypeError(`Microformats parser: ${t} not provided`);if("string"!=typeof e)throw new TypeError(`Microformats parser: ${t} is not a string`);if(""===e)throw new TypeError(`Microformats parser: ${t} cannot be empty`);return e},ue=(e,t)=>{if("boolean"!=typeof e)throw new TypeError(`Microformats parser: ${t} is not a boolean`);return e},de=(e,t,r)=>{if(void 0===e)throw new TypeError(`Microformats parser: ${r} is not provided`);if("object"!=typeof e)throw new TypeError(`Microformats parser: ${r} is not an object`);if(Array.isArray(e))throw new TypeError(`Microformats parser: ${r} is not an object`);if(null===e)throw new TypeError(`Microformats parser: ${r} cannot be null`);const i=Object.keys(e).filter((e=>!t.includes(e)));if(i.length)throw new TypeError(`Microformats parser: ${r} contains unknown properties: ${i.join(", ")}`);return e},pe=(e,{rels:t,relUrls:r},o)=>{var n;const a=((e,t)=>C(t,"textContent")?_(e):e.childNodes.reduce(B,""))(e,o),l=i(e,"rel"),s=null===(n=i(e,"href"))||void 0===n?void 0:n.trim(),u=i(e,"title"),d=i(e,"media"),p=i(e,"hreflang"),c=i(e,"type");l&&s&&l.split(" ").forEach((e=>{t[e]||(t[e]=[]),t[e].includes(s)||t[e].push(s),r[s]?r[s].rels.includes(e)||(r[s].rels.push(e),r[s].rels.sort()):r[s]={rels:[e],text:a},a&&!r[s].text&&(r[s].text=a),u&&!r[s].title&&(r[s].title=u),d&&!r[s].media&&(r[s].media=d),p&&!r[s].hreflang&&(r[s].hreflang=p),c&&!r[s].type&&(r[s].type=c)}))},ce=e=>{for(const t of e.childNodes){if(!f(t))continue;if(k(t))return i(t,"href");const e=ce(t);if(e)return e}},me=(e,t,o)=>{for(const n in e.childNodes){const a=e.childNodes[n];if(!f(a))continue;"template"===a.tagName&&delete e.childNodes[n],t.lang||("html"===a.tagName&&(t.lang=i(a,"lang")),"meta"===a.tagName&&"Content-Language"===i(a,"http-equiv")&&(t.lang=i(a,"content"))),("object"===a.tagName?["data"]:["href","src"]).forEach((e=>{const i=r(a,e);i&&Q(i.value)?i.value=V(i.value,t.baseUrl):i&&(i.value=i.value.trim())}));const l=i(a,"id");l&&!t.idRefs[l]&&(t.idRefs[l]=a),E(a)&&pe(a,t,o),me(a,t,o)}},he="