custom element for embedding Bluesky posts and feeds mary-ext.github.io/bluesky-embed
typescript npm bluesky atcute

deploy: a9201830fbd22c14295ec12e58a99ed6f56faa47

mary.my.id 3e3bc856 49fcfe05

verified
.nojekyll

This is a binary file and will not be displayed.

+41
assets/index-Bf1I0Rrw.js
··· 1 + (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();var ie,x,Je,S,Me,Qe,pe,$e,we,he,_e,V={},et=[],Pt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,xe=Array.isArray;function N(e,t){for(var s in t)e[s]=t[s];return e}function Ae(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Ct(e,t,s){var r,n,i,o={};for(i in t)i=="key"?r=t[i]:i=="ref"?n=t[i]:o[i]=t[i];if(arguments.length>2&&(o.children=arguments.length>3?ie.call(arguments,2):s),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)o[i]===void 0&&(o[i]=e.defaultProps[i]);return ee(e,o,r,n,null)}function ee(e,t,s,r,n){var i={type:e,props:t,key:s,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:n??++Je,__i:-1,__u:0};return n==null&&x.vnode!=null&&x.vnode(i),i}function E(e){return e.children}function te(e,t){this.props=e,this.context=t}function L(e,t){if(t==null)return e.__?L(e.__,e.__i+1):null;for(var s;t<e.__k.length;t++)if((s=e.__k[t])!=null&&s.__e!=null)return s.__e;return typeof e.type=="function"?L(e):null}function tt(e){var t,s;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((s=e.__k[t])!=null&&s.__e!=null){e.__e=e.__c.base=s.__e;break}return tt(e)}}function Se(e){(!e.__d&&(e.__d=!0)&&S.push(e)&&!re.__r++||Me!==x.debounceRendering)&&((Me=x.debounceRendering)||Qe)(re)}function re(){var e,t,s,r,n,i,o,l;for(S.sort(pe);e=S.shift();)e.__d&&(t=S.length,r=void 0,i=(n=(s=e).__v).__e,o=[],l=[],s.__P&&((r=N({},n)).__v=n.__v+1,x.vnode&&x.vnode(r),Ue(s.__P,r,n,s.__n,s.__P.namespaceURI,32&n.__u?[i]:null,o,i??L(n),!!(32&n.__u),l),r.__v=n.__v,r.__.__k[r.__i]=r,nt(o,r,l),r.__e!=i&&tt(r)),S.length>t&&S.sort(pe));re.__r=0}function st(e,t,s,r,n,i,o,l,c,a,u){var d,h,f,g,z,y,k=r&&r.__k||et,w=t.length;for(c=Ft(s,t,k,c),d=0;d<w;d++)(f=s.__k[d])!=null&&(h=f.__i===-1?V:k[f.__i]||V,f.__i=d,y=Ue(e,f,h,n,i,o,l,c,a,u),g=f.__e,f.ref&&h.ref!=f.ref&&(h.ref&&ze(h.ref,null,f),u.push(f.ref,f.__c||g,f)),z==null&&g!=null&&(z=g),4&f.__u||h.__k===f.__k?c=rt(f,c,e):typeof f.type=="function"&&y!==void 0?c=y:g&&(c=g.nextSibling),f.__u&=-7);return s.__e=z,c}function Ft(e,t,s,r){var n,i,o,l,c,a=t.length,u=s.length,d=u,h=0;for(e.__k=[],n=0;n<a;n++)(i=t[n])!=null&&typeof i!="boolean"&&typeof i!="function"?(l=n+h,(i=e.__k[n]=typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?ee(null,i,null,null,null):xe(i)?ee(E,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?ee(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=e,i.__b=e.__b+1,o=null,(c=i.__i=Nt(i,s,l,d))!==-1&&(d--,(o=s[c])&&(o.__u|=2)),o==null||o.__v===null?(c==-1&&h--,typeof i.type!="function"&&(i.__u|=4)):c!==l&&(c==l-1?h--:c==l+1?h++:(c>l?h--:h++,i.__u|=4))):i=e.__k[n]=null;if(d)for(n=0;n<u;n++)(o=s[n])!=null&&!(2&o.__u)&&(o.__e==r&&(r=L(o)),it(o,o));return r}function rt(e,t,s){var r,n;if(typeof e.type=="function"){for(r=e.__k,n=0;r&&n<r.length;n++)r[n]&&(r[n].__=e,t=rt(r[n],t,s));return t}e.__e!=t&&(t&&e.type&&!s.contains(t)&&(t=L(e)),s.insertBefore(e.__e,t||null),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType===8);return t}function Nt(e,t,s,r){var n=e.key,i=e.type,o=s-1,l=s+1,c=t[s];if(c===null||c&&n==c.key&&i===c.type&&!(2&c.__u))return s;if((typeof i!="function"||i===E||n)&&r>(c!=null&&!(2&c.__u)?1:0))for(;o>=0||l<t.length;){if(o>=0){if((c=t[o])&&!(2&c.__u)&&n==c.key&&i===c.type)return o;o--}if(l<t.length){if((c=t[l])&&!(2&c.__u)&&n==c.key&&i===c.type)return l;l++}}return-1}function Ee(e,t,s){t[0]==="-"?e.setProperty(t,s??""):e[t]=s==null?"":typeof s!="number"||Pt.test(t)?s:s+"px"}function K(e,t,s,r,n){var i;e:if(t==="style")if(typeof s=="string")e.style.cssText=s;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(t in r)s&&t in s||Ee(e.style,t,"");if(s)for(t in s)r&&s[t]===r[t]||Ee(e.style,t,s[t])}else if(t[0]==="o"&&t[1]==="n")i=t!==(t=t.replace($e,"$1")),t=t.toLowerCase()in e||t==="onFocusOut"||t==="onFocusIn"?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=s,s?r?s.u=r.u:(s.u=we,e.addEventListener(t,i?_e:he,i)):e.removeEventListener(t,i?_e:he,i);else{if(n=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=s??"";break e}catch{}typeof s=="function"||(s==null||s===!1&&t[4]!=="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&s==1?"":s))}}function qe(e){return function(t){if(this.l){var s=this.l[t.type+e];if(t.t==null)t.t=we++;else if(t.t<s.u)return;return s(x.event?x.event(t):t)}}}function Ue(e,t,s,r,n,i,o,l,c,a){var u,d,h,f,g,z,y,k,w,H,F,G,j,Te,X,oe,ce,C=t.type;if(t.constructor!==void 0)return null;128&s.__u&&(c=!!(32&s.__u),i=[l=t.__e=s.__e]),(u=x.__b)&&u(t);e:if(typeof C=="function")try{if(k=t.props,w="prototype"in C&&C.prototype.render,H=(u=C.contextType)&&r[u.__c],F=u?H?H.props.value:u.__:r,s.__c?y=(d=t.__c=s.__c).__=d.__E:(w?t.__c=d=new C(k,F):(t.__c=d=new te(k,F),d.constructor=C,d.render=Mt),H&&H.sub(d),d.props=k,d.state||(d.state={}),d.context=F,d.__n=r,h=d.__d=!0,d.__h=[],d._sb=[]),w&&d.__s==null&&(d.__s=d.state),w&&C.getDerivedStateFromProps!=null&&(d.__s==d.state&&(d.__s=N({},d.__s)),N(d.__s,C.getDerivedStateFromProps(k,d.__s))),f=d.props,g=d.state,d.__v=t,h)w&&C.getDerivedStateFromProps==null&&d.componentWillMount!=null&&d.componentWillMount(),w&&d.componentDidMount!=null&&d.__h.push(d.componentDidMount);else{if(w&&C.getDerivedStateFromProps==null&&k!==f&&d.componentWillReceiveProps!=null&&d.componentWillReceiveProps(k,F),!d.__e&&(d.shouldComponentUpdate!=null&&d.shouldComponentUpdate(k,d.__s,F)===!1||t.__v===s.__v)){for(t.__v!==s.__v&&(d.props=k,d.state=d.__s,d.__d=!1),t.__e=s.__e,t.__k=s.__k,t.__k.some(function(D){D&&(D.__=t)}),G=0;G<d._sb.length;G++)d.__h.push(d._sb[G]);d._sb=[],d.__h.length&&o.push(d);break e}d.componentWillUpdate!=null&&d.componentWillUpdate(k,d.__s,F),w&&d.componentDidUpdate!=null&&d.__h.push(function(){d.componentDidUpdate(f,g,z)})}if(d.context=F,d.props=k,d.__P=e,d.__e=!1,j=x.__r,Te=0,w){for(d.state=d.__s,d.__d=!1,j&&j(t),u=d.render(d.props,d.state,d.context),X=0;X<d._sb.length;X++)d.__h.push(d._sb[X]);d._sb=[]}else do d.__d=!1,j&&j(t),u=d.render(d.props,d.state,d.context),d.state=d.__s;while(d.__d&&++Te<25);d.state=d.__s,d.getChildContext!=null&&(r=N(N({},r),d.getChildContext())),w&&!h&&d.getSnapshotBeforeUpdate!=null&&(z=d.getSnapshotBeforeUpdate(f,g)),l=st(e,xe(oe=u!=null&&u.type===E&&u.key==null?u.props.children:u)?oe:[oe],t,s,r,n,i,o,l,c,a),d.base=t.__e,t.__u&=-161,d.__h.length&&o.push(d),y&&(d.__E=d.__=null)}catch(D){if(t.__v=null,c||i!=null)if(D.then){for(t.__u|=c?160:128;l&&l.nodeType===8&&l.nextSibling;)l=l.nextSibling;i[i.indexOf(l)]=null,t.__e=l}else for(ce=i.length;ce--;)Ae(i[ce]);else t.__e=s.__e,t.__k=s.__k;x.__e(D,t,s)}else i==null&&t.__v===s.__v?(t.__k=s.__k,t.__e=s.__e):l=t.__e=Tt(s.__e,t,s,r,n,i,o,c,a);return(u=x.diffed)&&u(t),128&t.__u?void 0:l}function nt(e,t,s){for(var r=0;r<s.length;r++)ze(s[r],s[++r],s[++r]);x.__c&&x.__c(t,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(i){i.call(n)})}catch(i){x.__e(i,n.__v)}})}function Tt(e,t,s,r,n,i,o,l,c){var a,u,d,h,f,g,z,y=s.props,k=t.props,w=t.type;if(w==="svg"?n="http://www.w3.org/2000/svg":w==="math"?n="http://www.w3.org/1998/Math/MathML":n||(n="http://www.w3.org/1999/xhtml"),i!=null){for(a=0;a<i.length;a++)if((f=i[a])&&"setAttribute"in f==!!w&&(w?f.localName===w:f.nodeType===3)){e=f,i[a]=null;break}}if(e==null){if(w===null)return document.createTextNode(k);e=document.createElementNS(n,w,k.is&&k),l&&(x.__m&&x.__m(t,i),l=!1),i=null}if(w===null)y===k||l&&e.data===k||(e.data=k);else{if(i=i&&ie.call(e.childNodes),y=s.props||V,!l&&i!=null)for(y={},a=0;a<e.attributes.length;a++)y[(f=e.attributes[a]).name]=f.value;for(a in y)if(f=y[a],a!="children"){if(a=="dangerouslySetInnerHTML")d=f;else if(!(a in k)){if(a=="value"&&"defaultValue"in k||a=="checked"&&"defaultChecked"in k)continue;K(e,a,null,f,n)}}for(a in k)f=k[a],a=="children"?h=f:a=="dangerouslySetInnerHTML"?u=f:a=="value"?g=f:a=="checked"?z=f:l&&typeof f!="function"||y[a]===f||K(e,a,f,y[a],n);if(u)l||d&&(u.__html===d.__html||u.__html===e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=""),st(e,xe(h)?h:[h],t,s,r,w==="foreignObject"?"http://www.w3.org/1999/xhtml":n,i,o,i?i[0]:s.__k&&L(s,0),l,c),i!=null)for(a=i.length;a--;)Ae(i[a]);l||(a="value",w==="progress"&&g==null?e.removeAttribute("value"):g!==void 0&&(g!==e[a]||w==="progress"&&!g||w==="option"&&g!==y[a])&&K(e,a,g,y[a],n),a="checked",z!==void 0&&z!==e[a]&&K(e,a,z,y[a],n))}return e}function ze(e,t,s){try{if(typeof e=="function"){var r=typeof e.__u=="function";r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(n){x.__e(n,s)}}function it(e,t,s){var r,n;if(x.unmount&&x.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||ze(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(i){x.__e(i,t)}r.base=r.__P=null}if(r=e.__k)for(n=0;n<r.length;n++)r[n]&&it(r[n],t,s||typeof e.type!="function");s||Ae(e.__e),e.__c=e.__=e.__e=void 0}function Mt(e,t,s){return this.constructor(e,s)}function St(e,t,s){var r,n,i,o;t===document&&(t=document.documentElement),x.__&&x.__(e,t),n=(r=typeof s=="function")?null:t.__k,i=[],o=[],Ue(t,e=(!r&&s||t).__k=Ct(E,null,[e]),n||V,V,t.namespaceURI,!r&&s?[s]:n?null:t.firstChild?ie.call(t.childNodes):null,i,!r&&s?s:n?n.__e:t.firstChild,r,o),nt(i,e,o)}ie=et.slice,x={__e:function(e,t,s,r){for(var n,i,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((i=n.constructor)&&i.getDerivedStateFromError!=null&&(n.setState(i.getDerivedStateFromError(e)),o=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(e,r||{}),o=n.__d),o)return n.__E=n}catch(l){e=l}throw e}},Je=0,te.prototype.setState=function(e,t){var s;s=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=N({},this.state),typeof e=="function"&&(e=e(N({},s),this.props)),e&&N(s,e),e!=null&&this.__v&&(t&&this._sb.push(t),Se(this))},te.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Se(this))},te.prototype.render=E,S=[],Qe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,pe=function(e,t){return e.__v.__b-t.__v.__b},re.__r=0,$e=/(PointerCapture)$|Capture$/i,we=0,he=qe(!1),_e=qe(!0);var Et=0;function p(e,t,s,r,n,i){t||(t={});var o,l,c=t;"ref"in t&&(o=t.ref,delete t.ref);var a={type:e,props:c,key:s,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Et,__i:-1,__u:0,__source:n,__self:i};if(typeof e=="function"&&(o=e.defaultProps))for(l in o)c[l]===void 0&&(c[l]=o[l]);return x.vnode&&x.vnode(a),a}var O,A,le,Re,me=0,at=[],U=x,Ze=U.__b,Le=U.__r,Ie=U.diffed,He=U.__c,je=U.unmount,De=U.__;function Pe(e,t){U.__h&&U.__h(A,e,me||t),me=0;var s=A.__H||(A.__H={__:[],__h:[]});return e>=s.__.length&&s.__.push({}),s.__[e]}function Ce(e){return me=1,qt(lt,e)}function qt(e,t,s){var r=Pe(O++,2);if(r.t=e,!r.__c&&(r.__=[lt(void 0,t),function(l){var c=r.__N?r.__N[0]:r.__[0],a=r.t(c,l);c!==a&&(r.__N=[a,r.__[1]],r.__c.setState({}))}],r.__c=A,!A.u)){var n=function(l,c,a){if(!r.__c.__H)return!0;var u=r.__c.__H.__.filter(function(h){return!!h.__c});if(u.every(function(h){return!h.__N}))return!i||i.call(this,l,c,a);var d=r.__c.props!==l;return u.forEach(function(h){if(h.__N){var f=h.__[0];h.__=h.__N,h.__N=void 0,f!==h.__[0]&&(d=!0)}}),i&&i.call(this,l,c,a)||d};A.u=!0;var i=A.shouldComponentUpdate,o=A.componentWillUpdate;A.componentWillUpdate=function(l,c,a){if(this.__e){var u=i;i=void 0,n(l,c,a),i=u}o&&o.call(this,l,c,a)},A.shouldComponentUpdate=n}return r.__N||r.__}function ot(e,t){var s=Pe(O++,3);!U.__s&&ct(s.__H,t)&&(s.__=e,s.i=t,A.__H.__h.push(s))}function Fe(e,t){var s=Pe(O++,7);return ct(s.__H,t)&&(s.__=e(),s.__H=t,s.__h=e),s.__}function Rt(){for(var e;e=at.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(se),e.__H.__h.forEach(ve),e.__H.__h=[]}catch(t){e.__H.__h=[],U.__e(t,e.__v)}}U.__b=function(e){A=null,Ze&&Ze(e)},U.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),De&&De(e,t)},U.__r=function(e){Le&&Le(e),O=0;var t=(A=e.__c).__H;t&&(le===A?(t.__h=[],A.__h=[],t.__.forEach(function(s){s.__N&&(s.__=s.__N),s.i=s.__N=void 0})):(t.__h.forEach(se),t.__h.forEach(ve),t.__h=[],O=0)),le=A},U.diffed=function(e){Ie&&Ie(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(at.push(t)!==1&&Re===U.requestAnimationFrame||((Re=U.requestAnimationFrame)||Zt)(Rt)),t.__H.__.forEach(function(s){s.i&&(s.__H=s.i),s.i=void 0})),le=A=null},U.__c=function(e,t){t.some(function(s){try{s.__h.forEach(se),s.__h=s.__h.filter(function(r){return!r.__||ve(r)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],U.__e(r,s.__v)}}),He&&He(e,t)},U.unmount=function(e){je&&je(e);var t,s=e.__c;s&&s.__H&&(s.__H.__.forEach(function(r){try{se(r)}catch(n){t=n}}),s.__H=void 0,t&&U.__e(t,s.__v))};var Be=typeof requestAnimationFrame=="function";function Zt(e){var t,s=function(){clearTimeout(r),Be&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(s,100);Be&&(t=requestAnimationFrame(s))}function se(e){var t=A,s=e.__c;typeof s=="function"&&(e.__c=void 0,s()),A=t}function ve(e){var t=A;e.__c=e.__(),A=t}function ct(e,t){return!e||e.length!==t.length||t.some(function(s,r){return s!==e[r]})}function lt(e,t){return typeof t=="function"?t(e):t}const Lt=e=>typeof e=="object"?e.handle.bind(e):e,dt=({service:e,fetch:t=fetch})=>async(s,r)=>{const n=new URL(s,e);return t(n,r)},It=(e,t)=>{let s;for(const r in t){const n=t[r];n!==null&&(s??=new Headers(e),s.has(r)||s.set(r,n))}return s??e};class Z extends Error{constructor(t,{kind:s=`HTTP error ${t}`,description:r="Unspecified error description",headers:n,cause:i}={}){super(`${s} > ${r}`,{cause:i}),this.name="XRPCError",this.status=t,this.kind=s,this.description=r,this.headers=n||{}}}class ut{constructor({handler:t,proxy:s}){this.handle=Lt(t),this.proxy=s}get(t,s){return this.request({type:"get",nsid:t,...s})}call(t,s){return this.request({type:"post",nsid:t,...s})}async request(t){const s=t.data,r=`/xrpc/${t.nsid}`+jt(t.params),n=Dt(s),i=await this.handle(r,{method:t.type,signal:t.signal,body:n?JSON.stringify(s):s,headers:It(t.headers,{"content-type":n?"application/json":null,"atproto-proxy":Ht(this.proxy)})}),o=i.status,l=Object.fromEntries(i.headers),c=l["content-type"];let a,u;c&&(c.startsWith("application/json")?a=i.json():c.startsWith("text/")&&(a=i.text()));try{u=await(a||i.arrayBuffer().then(d=>new Uint8Array(d)))}catch(d){throw new Z(2,{cause:d,kind:"InvalidResponse",description:"Failed to parse response body",headers:l})}if(o===200)return{data:u,headers:l};throw Bt(u)?new Z(o,{kind:u.error,description:u.message,headers:l}):new Z(o,{headers:l})}}const Ht=e=>e?`${e.service}#${e.type}`:null,jt=e=>{let t;for(const s in e){const r=e[s];if(r!==void 0)if(t??=new URLSearchParams,Array.isArray(r))for(let n=0,i=r.length;n<i;n++){const o=r[n];t.append(s,""+o)}else t.set(s,""+r)}return t?"?"+t.toString():""},Dt=e=>{if(typeof e!="object"||e===null)return!1;if("toJSON"in e)return!0;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype},Bt=e=>{if(typeof e!="object"||e===null)return!1;const t=typeof e.error,s=typeof e.message;return(t==="undefined"||t==="string")&&(s==="undefined"||s==="string")},J=(e,t)=>({text:e,features:e.length>0?t:void 0}),ft=(e,t)=>{if(t===void 0||t.length===0)return[J(e,void 0)];const s=[],r=e.length;let n=0,i=0;const o=(l,c)=>{let a=l;if(e.charCodeAt(a)<128)for(a+=1,i+=1;i+8<=c&&a+8<=r;){const d=e.charCodeAt(a),h=e.charCodeAt(a+1),f=e.charCodeAt(a+2),g=e.charCodeAt(a+3),z=e.charCodeAt(a+4),y=e.charCodeAt(a+5),k=e.charCodeAt(a+6),w=e.charCodeAt(a+7);if((d|h|f|g|z|y|k|w)<128){a+=8,i+=8;continue}break}for(;i<c&&a<r;){const d=e.charCodeAt(a);d<128?(a+=1,i+=1):d<2048?(a+=1,i+=2):d<55296||d>56319?(a+=1,i+=3):(a+=2,i+=4)}return a};for(let l=0,c=t.length;l<c;l++){const a=t[l],{byteStart:u,byteEnd:d}=a.index,h=a.features;if(!(u>d||h.length===0)){if(i<u){const f=o(n,u);f>n&&s.push(J(e.slice(n,f),void 0)),n=f}{const f=o(n,d);f>n&&s.push(J(e.slice(n,f),h)),n=f}}}return n<r&&s.push(J(e.slice(n),void 0)),s},Vt=/[&"<]/g,Ot=/[&<]/g;function v(e,t){const s=String(e??""),r=t?Vt:Ot;r.lastIndex=0;let n="",i=0;for(;r.test(s);){const o=r.lastIndex-1,l=s[o];n+=s.substring(i,o)+(l==="&"?"&amp;":l==='"'?"&quot;":"&lt;"),i=o+1}return n+s.substring(i)}function _(e,t,s=!1){if(t==null||!t&&s||t===""&&e==="class")return"";const n=s?"":`="${v(t,!0)}"`;return` ${e}${n}`}function Wt(e,t){const s={out:""};return e(s,t?.props??{}),{head:"",body:s.out}}function W(e){return typeof e=="string"?e:e==null?"":e+""}const Yt="https://public.api.bsky.app",Gt="!no-unauthenticated";function Ve(e,t){const{children:s}=t;e.out+='<div class="bluesky-embed s-3olstj">',s(e),e.out+="</div>"}const Y=e=>`https://bsky.app/profile/${e}`,ae=(e,t)=>`https://bsky.app/profile/${e}/post/${t}`,Xt=e=>`https://bsky.app/hashtag/${e}`,pt=(e,t)=>`https://bsky.app/profile/${e}/feed/${t}`,Kt=(e,t)=>`https://bsky.app/starter-pack/${e}/${t}`,Jt=(e,t)=>`https://ogcard.cdn.bsky.app/start/${e}/${t}`;let Oe=0,de=0;const Qt=new Intl.DateTimeFormat("en-US",{dateStyle:"long",timeStyle:"short"}),$t=new Intl.DateTimeFormat("en-US",{dateStyle:"medium"}),es=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}),ht=e=>{const t=new Date(e),s=t.getTime();if(isNaN(s))return"N/A";const r=Date.now();if(r>de){const n=new Date(r);n.setMonth(0,1),n.setHours(0,0,0),Oe=n.getTime(),n.setFullYear(n.getFullYear()+1,0,0),n.setHours(23,59,59,999),de=n.getTime()}return s>=Oe&&s<=de?es.format(t):$t.format(t)},_t=e=>{const t=new Date(e);return isNaN(t.getTime())?"N/A":Qt.format(t)},mt=new Intl.NumberFormat("en-US"),ts=new Intl.NumberFormat("en-US",{notation:"compact"}),Q=e=>e<1e3?""+e:e<1e5?mt.format(e):ts.format(e),$=e=>mt.format(e),ss=/^at:\/\/((?:did:[a-zA-Z0-9._:%-]+)|(?:[a-zA-Z0-9][a-zA-Z0-9-.]*))(?:\/([a-zA-Z0-9.-]+)(?:\/([a-zA-Z0-9_~.:-]{1,512}))?)?\/?(?:\?([^#\s]*))?(?:#([^\s]*))?$/,M=e=>{const t=ss.exec(e);if(!t)throw new rs(`invalid at-uri: ${e}`);return{repo:t[1],collection:t[2]??"",rkey:t[3]??"",query:t[4]??"",fragment:t[5]??""}};let rs=class extends Error{};const ns=e=>{let t;if("parse"in URL)t=URL.parse(e);else try{t=new URL(e)}catch{}return t&&(t.protocol==="https:"||t.protocol==="http:")?t:null};function is(e,t){const{embed:s}=t,r=s.external,n=ns(r.uri)?.host;e.out+=`<a target="_blank"${_("href",n&&r.uri)} rel="noopener noreferrer nofollow" class="external-embed s-rtbqd8">`,r.thumb&&(e.out+=`<img loading="lazy"${_("src",r.thumb)} alt="" class="thumbnail s-rtbqd8">`),e.out+=` <div class="meta s-rtbqd8"><p class="title s-rtbqd8">${v(r.title)}</p> <p class="description s-rtbqd8">${v(r.description)}</p> `,n&&(e.out+=`<div class="domain s-rtbqd8"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m4.172 8.07 3.94 2.957.977-1.941 3.887-.978 1.15-4.6M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-6.078 4.865.973-1.946-2.869-1.928-1.89-.12-1.08 1.075 1.947 2.919h2.919Z"></path></svg> <span class="domain-name">${v(n)}</span></div>`),e.out+="</div></a>"}function as(e,t){const{embed:s}=t,r=s.creator,n=pt(r.did,M(s.uri).rkey);e.out+=`<a target="_blank"${_("href",n)} class="feed-embed s-156tlwp"><div class="main s-156tlwp"><div class="avatar-wrapper s-156tlwp">`,s.avatar?e.out+=`<img loading="lazy"${_("src",s.avatar)} alt="" class="avatar s-156tlwp">`:e.out+='<svg viewBox="0 0 32 32" class="avatar s-156tlwp"><path fill="#0070FF" d="M0 0h32v32H0z"></path><path fill="#fff" d="M22.153 22.354a9.328 9.328 0 0 0 3.837-.491 3.076 3.076 0 0 0-4.802-2.79m.965 3.281a6.128 6.128 0 0 0-.965-3.28Zm-11.342-3.28a3.077 3.077 0 0 0-4.801 2.79 9.21 9.21 0 0 0 3.835.49m.966-3.28a6.127 6.127 0 0 0-.966 3.28Zm8.265-8.997a3.076 3.076 0 1 1-6.153 0 3.076 3.076 0 0 1 6.153 0Zm6.154 3.077a2.307 2.307 0 1 1-4.615 0 2.307 2.307 0 0 1 4.615 0Zm-13.847 0a2.307 2.307 0 1 1-4.614 0 2.307 2.307 0 0 1 4.614 0Z"></path><path fill="#fff" d="M22 22c0 3.314-2.686 3.5-6 3.5s-6-.186-6-3.5a6 6 0 0 1 12 0Z"></path></svg>',e.out+=`</div> <div class="info"><p class="name s-156tlwp">${v(s.displayName)}</p> <p class="creator s-156tlwp">Feed by @${v(r.handle)}</p></div></div> <p class="description s-156tlwp">${v(s.description)}</p></a>`}function be(e,t){const{embed:s,borderless:r,standalone:n}=t,i=s.images,o=i.length;function l(c,a){c.out+=`<img loading="lazy"${_("src",a.thumb)}${_("alt",a.alt)} class="image s-t3k6fc">`}if(e.out+=`<div${_("class",`${W("image-embed"+(r?"":" is-bordered")+(n&&o===1?" is-aligned":""))} s-t3k6fc`)}>`,o===4)e.out+='<div class="grid s-t3k6fc"><div class="col s-t3k6fc"><div class="item wide s-t3k6fc">',l(e,i[0]),e.out+='</div> <div class="item wide s-t3k6fc">',l(e,i[1]),e.out+='</div></div> <div class="col s-t3k6fc"><div class="item wide s-t3k6fc">',l(e,i[2]),e.out+='</div> <div class="item wide s-t3k6fc">',l(e,i[3]),e.out+="</div></div></div>";else if(o===3)e.out+='<div class="grid s-t3k6fc"><div class="col square s-t3k6fc"><div class="item s-t3k6fc">',l(e,i[0]),e.out+='</div></div> <div class="col square s-t3k6fc"><div class="item s-t3k6fc">',l(e,i[1]),e.out+='</div> <div class="item s-t3k6fc">',l(e,i[2]),e.out+="</div></div></div>";else if(o===2)e.out+='<div class="grid s-t3k6fc"><div class="col s-t3k6fc"><div class="item square s-t3k6fc">',l(e,i[0]),e.out+='</div></div> <div class="col s-t3k6fc"><div class="item square s-t3k6fc">',l(e,i[1]),e.out+="</div></div></div>";else if(o===1){const c=i[0],a=n&&c.aspectRatio;e.out+=`<div${_("class",`${W("single-item"+(a?" is-standalone":""))} s-t3k6fc`)}${_("style",a?`aspect-ratio: ${a.width}/${a.height}`:"")}>`,l(e,c),e.out+=" ",a&&(e.out+='<div class="placeholder s-t3k6fc"></div>'),e.out+="</div>"}e.out+="</div>"}const os=e=>{switch(e){case"app.bsky.graph.defs#curatelist":return"User list";case"app.bsky.graph.defs#modlist":return"Moderation list"}return"Unknown list"};function cs(e,t){const{embed:s}=t,r=s.creator,n=pt(r.did,M(s.uri).rkey);e.out+=`<a target="_blank"${_("href",n)} class="list-embed s-6uize5"><div class="main s-6uize5"><div class="avatar-wrapper s-6uize5">`,s.avatar?e.out+=`<img loading="lazy"${_("src",s.avatar)} alt="" class="avatar s-6uize5">`:e.out+='<svg viewBox="0 0 32 32" class="avatar s-6uize5"><path fill="#0070FF" d="M0 0h32v32H0z"></path><path fill="#fff" d="M22.153 22.354a9.328 9.328 0 0 0 3.837-.491 3.076 3.076 0 0 0-4.802-2.79m.965 3.281a6.128 6.128 0 0 0-.965-3.28Zm-11.342-3.28a3.077 3.077 0 0 0-4.801 2.79 9.21 9.21 0 0 0 3.835.49m.966-3.28a6.127 6.127 0 0 0-.966 3.28Zm8.265-8.997a3.076 3.076 0 1 1-6.153 0 3.076 3.076 0 0 1 6.153 0Zm6.154 3.077a2.307 2.307 0 1 1-4.615 0 2.307 2.307 0 0 1 4.615 0Zm-13.847 0a2.307 2.307 0 1 1-4.614 0 2.307 2.307 0 0 1 4.614 0Z"></path><path fill="#fff" d="M22 22c0 3.314-2.686 3.5-6 3.5s-6-.186-6-3.5a6 6 0 0 1 12 0Z"></path></svg>',e.out+=`</div> <div class="info"><p class="name s-6uize5">${v(s.name)}</p> <p class="creator s-6uize5">${v(os(s.purpose))} by @${v(r.handle)}</p></div></div> <p class="description s-6uize5">${v(s.description)}</p></a>`}function ge(e,t){const{post:s,embed:r,borderless:n=!1,standalone:i=!1}=t,o=i&&r.aspectRatio,l=s&&ae(s.author.did,M(s.uri).rkey);function c(a){a.out+=`<img loading="lazy"${_("src",r.thumbnail)} alt="" class="thumbnail s-1azk58e"> `,o&&(a.out+='<div class="placeholder s-1azk58e"></div>'),a.out+=' <div class="play s-1azk58e"><svg class="icon s-1azk58e" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="M22 12 5 2v20l17-10Z"></path></svg></div>'}i?(e.out+=`<a target="_blank"${_("href",l)}${_("class",`${W("video-embed"+(n?"":" is-bordered")+(i?" is-standalone":""))} s-1azk58e`)}><div class="constrainer s-1azk58e"${_("style",o?`aspect-ratio: ${o.width}/${o.height}`:"")}>`,c(e),e.out+="</div></a>"):(e.out+=`<div${_("class",`${W("video-embed"+(n?"":" is-bordered"))} s-1azk58e`)}${_("style",o?`aspect-ratio: ${o.width}/${o.height}`:"")}>`,c(e),e.out+="</div>")}const vt=e=>{if(e){if(e.$type==="app.bsky.embed.images#view")return e;if(e.$type==="app.bsky.embed.recordWithMedia#view")return vt(e.media)}},bt=e=>{if(e){if(e.$type==="app.bsky.embed.video#view")return e;if(e.$type==="app.bsky.embed.recordWithMedia#view")return bt(e.media)}};function ls(e,t){const{embed:s,large:r=!1}=t,n=s.value,i=n.text.trim(),o=s.author,l=o.displayName?.trim(),c=s.embeds?.[0],a=vt(c),u=bt(c),d=ae(o.did,M(s.uri).rkey);e.out+=`<a target="_blank"${_("href",d)} class="quote-embed s-za6fip"><div class="meta s-za6fip"><div class="avatar-wrapper s-za6fip">`,o.avatar&&(e.out+=`<img loading="lazy"${_("src",o.avatar)} alt="" class="avatar s-za6fip">`),e.out+='</div> <span class="name-wrapper s-za6fip">',l&&(e.out+=`<bdi class="display-name-wrapper s-za6fip"><span class="display-name s-za6fip">${v(l)}</span></bdi>`),e.out+=` <span class="handle s-za6fip">@${v(o.handle)}</span></span> <span aria-hidden="true" class="dot s-za6fip">·</span> <time${_("datetime",n.createdAt)} class="date s-za6fip">${v(ht(n.createdAt))}</time></div> `,i?(e.out+='<div class="body s-za6fip">',r||(a?(e.out+='<div class="aside s-za6fip">',be(e,{embed:a}),e.out+="</div>"):u&&(e.out+='<div class="aside s-za6fip">',ge(e,{embed:u}),e.out+="</div>")),e.out+=` <p class="text s-za6fip">${v(i)}</p></div>`):e.out+='<div class="divide s-za6fip"></div>',e.out+=" ",(r||!i)&&(a?be(e,{embed:a,borderless:!0}):u&&ge(e,{embed:u,borderless:!0})),e.out+="</a>"}function ds(e,t){const{embed:s,large:r=!1}=t,n=s.record,i=s.creator,o=i.did,l=M(s.uri).rkey,c=Kt(o,l);if(e.out+=`<a target="_blank"${_("href",c)} class="starterpack-embed s-15v965v">`,r){const a=Jt(o,l);e.out+=`<img loading="lazy"${_("src",a)} alt="" class="banner s-15v965v">`}e.out+=` <div class="meta s-15v965v"><div class="main s-15v965v"><svg fill="none" viewBox="0 0 24 24" class="avatar s-15v965v"><defs><linearGradient id="a" x1="0" x2="100%" y1="0" y2="0" gradientTransform="rotate(45)"><stop offset="0" stop-color="#0A7AFF"></stop><stop offset="1" stop-color="#59B9FF"></stop></linearGradient></defs><path fill="url(#a)" fill-rule="evenodd" d="M11.26 5.227 5.02 6.899c-.734.197-1.17.95-.973 1.685l1.672 6.24c.197.734.951 1.17 1.685.973l6.24-1.672a1.376 1.376 0 0 0 .973-1.685L12.945 6.2a1.375 1.375 0 0 0-1.685-.973Zm-6.566.459a2.632 2.632 0 0 0-1.86 3.223l1.672 6.24a2.632 2.632 0 0 0 3.223 1.861l6.24-1.672a2.631 2.631 0 0 0 1.861-3.223l-1.672-6.24a2.632 2.632 0 0 0-3.223-1.861l-6.24 1.672Z" clip-rule="evenodd"></path><path fill="url(#a)" fill-rule="evenodd" d="M15.138 18.411a4.606 4.606 0 1 0 0-9.211 4.606 4.606 0 0 0 0 9.211Zm0 1.257a5.862 5.862 0 1 0 0-11.724 5.862 5.862 0 0 0 0 11.724Z" clip-rule="evenodd"></path></svg> <div class="info"><p class="name s-15v965v">${v(n.name)}</p> <p class="creator s-15v965v">Starter pack by @${v(i.handle)}</p></div></div> <p class="description s-15v965v">${v(n.description)}</p></div></a>`}const us=e=>{switch(e){case"app.bsky.feed.post":return"post";case"app.bsky.feed.generator":return"feed";case"app.bsky.graph.list":return"list";case"app.bsky.graph.starterpack":return"starter pack";case"app.bsky.labeler.service":return"labeler"}return null};function gt(e,t){const{post:s,embed:r,large:n=!1}=t;function i(c,a){a.$type==="app.bsky.embed.external#view"?is(c,{embed:a}):a.$type==="app.bsky.embed.images#view"?be(c,{embed:a,standalone:!0}):a.$type==="app.bsky.embed.video#view"?ge(c,{post:s,embed:a,standalone:!0}):l(c,"Unsupported media embed")}function o(c,a){const u=a.record;if(u.$type==="app.bsky.embed.record#viewRecord")ls(c,{embed:u,large:n});else if(u.$type==="app.bsky.feed.defs#generatorView")as(c,{embed:u});else if(u.$type==="app.bsky.graph.defs#listView")cs(c,{embed:u});else if(u.$type==="app.bsky.graph.defs#starterPackViewBasic")ds(c,{embed:u,large:n});else{const d=M(u.uri),h=us(d.collection),f=h&&(u.$type==="app.bsky.embed.record#viewNotFound"||u.$type==="app.bsky.embed.record#viewBlocked"||u.$type==="app.bsky.embed.record#viewDetached");l(c,f?`This ${h} is unavailable`:"Unsupported record embed")}}function l(c,a){c.out+=`<div class="message s-azdpbr">${v(a)}</div>`}e.out+='<div class="embeds s-azdpbr">',r.$type==="app.bsky.embed.recordWithMedia#view"?(i(e,r.media),e.out+=" ",o(e,r.record)):r.$type==="app.bsky.embed.record#view"?o(e,r):i(e,r),e.out+="</div>"}const fs=e=>e?.find(t=>t.$type==="app.bsky.richtext.facet#link"||t.$type==="app.bsky.richtext.facet#mention"||t.$type==="app.bsky.richtext.facet#tag");function kt(e,t){const{text:s,facets:r,large:n}=t,i=ft(s,r);e.out+=`<p${_("class",`${W("rich-text"+(n?" is-large":" is-small"))} s-1lecfnd`)}>`;for(let o=0,l=i.length;o<l;o++){let c=i[o];const a=fs(c.features);a?a.$type==="app.bsky.richtext.facet#link"?e.out+=`<a target="_blank"${_("href",a.uri)} rel="noopener nofollow" class="link s-1lecfnd">${v(c.text)}</a>`:a.$type==="app.bsky.richtext.facet#mention"?e.out+=`<a target="_blank"${_("href",Y(a.did))} class="mention s-1lecfnd">${v(c.text)}</a>`:a.$type==="app.bsky.richtext.facet#tag"&&(e.out+=`<a target="_blank"${_("href",Xt(a.tag))} class="hashtag s-1lecfnd">${v(c.text)}</a>`):e.out+=v(c.text)}e.out+="</p>"}function ps(e,t){const{post:s,parent:r,prev:n=!1}=t,i=s.author,o=Y(i.did),l=i.displayName?.trim(),c=s.record,a=ae(i.did,M(s.uri).rkey),u=s.replyCount||0,d=s.likeCount||0,h=(s.repostCount||0)+(s.quoteCount||0);if(e.out+=`<div class="highlighted-post s-hik11q"><div class="meta s-hik11q"><a${_("href",o)} target="_blank" class="avatar-wrapper s-hik11q">`,i.avatar&&(e.out+=`<img loading="lazy"${_("src",i.avatar)} class="avatar s-hik11q">`),e.out+=`</a> <a${_("href",o)} target="_blank" class="name-wrapper s-hik11q">`,l&&(e.out+=`<bdi class="display-name-wrapper s-hik11q"><span class="display-name s-hik11q">${v(l)}</span></bdi>`),e.out+=` <span class="handle s-hik11q">@${v(i.handle)}</span></a> `,n||(e.out+='<svg class="logo s-hik11q" fill="none" viewBox="0 0 320 286"><path fill="#0A7AFF" d="M69.364 19.146c36.687 27.806 76.147 84.186 90.636 114.439 14.489-30.253 53.948-86.633 90.636-114.439C277.107-.917 320-16.44 320 32.957c0 9.865-5.603 82.875-8.889 94.729-11.423 41.208-53.045 51.719-90.071 45.357 64.719 11.12 81.182 47.953 45.627 84.785-80 82.874-106.667-44.333-106.667-44.333s-26.667 127.207-106.667 44.333c-35.555-36.832-19.092-73.665 45.627-84.785-37.026 6.362-78.648-4.149-90.071-45.357C5.603 115.832 0 42.822 0 32.957 0-16.44 42.893-.917 69.364 19.147Z"></path></svg>'),e.out+="</div> ",!n&&c.reply){if(e.out+='<p class="context s-hik11q">',r){const f=r.author;e.out+=`Replying to <a target="_blank"${_("href",Y(f.did))} dir="auto" class="s-hik11q">${v(f.displayName?.trim()||`@${f.handle}`)}</a>`}else e.out+="Replying to an unknown post";e.out+="</p>"}e.out+=" ",kt(e,{text:c.text,facets:c.facets,large:!0}),e.out+=" ",s.embed&&gt(e,{post:s,embed:s.embed,large:!0}),e.out+=` <time${_("datetime",c.createdAt)} class="date s-hik11q">${v(_t(c.createdAt))}</time> <div class="stats s-hik11q"><span class="stat s-hik11q"${_("title",d===1?`${$(d)} like`:`${$(d)} likes`)}><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="M12 5.768c6.162-6.25 16.725 5.358 0 14.732C-4.725 11.126 5.838-.482 12 5.768Z"></path></svg> <span>${v(Q(d))}</span></span> <span class="stat s-hik11q"${_("title",h===1?`${$(h)} repost`:`${$(h)} reposts`)}><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="square" stroke-width="2" d="m17 3 3 3-3 3M7 21l-3-3 3-3m-2 3h15v-5M4 11V6h15"></path></svg> <span>${v(Q(h))}</span></span> <div class="gap s-hik11q"></div> <a${_("href",a)} target="_blank" class="permalink s-hik11q"><span>${v(u?u===1?`Read ${Q(u)} reply on Bluesky`:`Read ${Q(u)} replies on Bluesky`:"View on Bluesky")}</span></a></div></div>`}function hs(e,t){const{post:s,parent:r,prev:n}=t,i=s.author,o=Y(i.did),l=i.displayName?.trim(),c=s.record,a=ae(i.did,M(s.uri).rkey);if(e.out+='<div class="post s-12mzi62">',n||(e.out+='<svg class="logo s-12mzi62" fill="none" viewBox="0 0 320 286"><path fill="#0A7AFF" d="M69.364 19.146c36.687 27.806 76.147 84.186 90.636 114.439 14.489-30.253 53.948-86.633 90.636-114.439C277.107-.917 320-16.44 320 32.957c0 9.865-5.603 82.875-8.889 94.729-11.423 41.208-53.045 51.719-90.071 45.357 64.719 11.12 81.182 47.953 45.627 84.785-80 82.874-106.667-44.333-106.667-44.333s-26.667 127.207-106.667 44.333c-35.555-36.832-19.092-73.665 45.627-84.785-37.026 6.362-78.648-4.149-90.071-45.357C5.603 115.832 0 42.822 0 32.957 0-16.44 42.893-.917 69.364 19.147Z"></path></svg>'),e.out+=` <div class="aside s-12mzi62"><a target="_blank"${_("href",o)} class="avatar-wrapper s-12mzi62">`,i.avatar&&(e.out+=`<img loading="lazy"${_("src",i.avatar)} alt="" class="avatar s-12mzi62">`),e.out+=`</a> <div class="line s-12mzi62"></div></div> <div class="main s-12mzi62"><div class="meta s-12mzi62"><a${_("href",o)} target="_blank" class="name-wrapper s-12mzi62">`,l&&(e.out+=`<bdi class="display-name-wrapper s-12mzi62"><span class="display-name s-12mzi62">${v(l)}</span></bdi>`),e.out+=` <span class="handle s-12mzi62">@${v(i.handle)}</span></a> <span aria-hidden="true" class="dot s-12mzi62">·</span> <a target="_blank"${_("href",a)}${_("title",_t(c.createdAt))} class="date s-12mzi62"><time${_("datetime",c.createdAt)}>${v(ht(c.createdAt))}</time></a></div> `,!n&&c.reply){if(e.out+='<p class="context s-12mzi62">',r){const u=r.author;e.out+=`Replying to <a target="_blank"${_("href",Y(u.did))} dir="auto" class="s-12mzi62">${v(u.displayName?.trim()||`@${u.handle}`)}</a>`}else e.out+="Replying to an unknown post";e.out+="</p>"}e.out+=" ",kt(e,{text:c.text,facets:c.facets}),e.out+=" ",s.embed&&gt(e,{post:s,embed:s.embed}),e.out+="</div></div>"}const _s=(e,t,s)=>{const r=[];let n=0,i=t?1:2,o=e;for(;o&&!(o.$type==="app.bsky.feed.defs#notFoundPost"||o.$type==="app.bsky.feed.defs#blockedPost");){const l=o.post;if(n!==0&&(r[n-1].parent=l),++n>i)break;const c=l.author;if(!s&&c.labels?.some(a=>a.val==="!no-unauthenticated"))break;r.push({post:l,parent:null}),o=o.parent}return r.reverse()};function ms(e,t){const{thread:s,contextless:r,allowUnauthenticated:n}=t,i=!n&&s!==null&&s.$type==="app.bsky.feed.defs#threadViewPost"&&s.post.author.labels?.some(l=>l.val===Gt);function o(l,c){Ve(l,{children:a=>{a.out+=`<div class="message s-1q9cbx0">${v(c)}</div>`}})}if(s===null)o(e,"The post can't be found, it may have been deleted.");else if(i)o(e,"The author has requested for their posts to not be displayed on external sites.");else{const l=_s(s,r,n);Ve(e,{children:c=>{const a=l;for(let u=0,d=a.length;u<d;u++){let{post:h,parent:f}=a[u];const g=u!==0;u===l.length-1?ps(c,{post:h,parent:f,prev:g}):hs(c,{post:h,parent:f,prev:g})}}})}}const vs=async e=>{const t=new ut({handler:dt({service:e.serviceUri??Yt})}),s=e.contextless??!1,{data:r}=await t.get("app.bsky.feed.getPostThread",{signal:e.signal,params:{uri:e.uri,parentHeight:s?1:2,depth:0}}).catch(i=>i instanceof Z&&i.kind==="NotFound"?{data:null}:Promise.reject(i));return{thread:r?.thread.$type==="app.bsky.feed.defs#threadViewPost"?r.thread:null,contextless:s,allowUnauthenticated:e.allowUnauthenticated??!1}},bs=e=>Wt(ms,{props:e}).body,gs=/[&"<]/g,ks=/[&<]/g;function b(e,t){const s=String(e??""),r=t?gs:ks;r.lastIndex=0;let n="",i=0;for(;r.test(s);){const o=r.lastIndex-1,l=s[o];n+=s.substring(i,o)+(l==="&"?"&amp;":l==='"'?"&quot;":"&lt;"),i=o+1}return n+s.substring(i)}function m(e,t,s=!1){if(t==null||!t&&s||t===""&&e==="class")return"";const n=s?"":`="${b(t,!0)}"`;return` ${e}${n}`}function ys(e,t){const s={out:""};return e(s,t?.props??{}),{head:"",body:s.out}}function I(e){return typeof e=="string"?e:e==null?"":e+""}const ws="https://public.api.bsky.app",We="!no-unauthenticated";function Ye(e,t){const{children:s}=t;e.out+='<div class="bluesky-embed s-1pz15a1">',s(e),e.out+="</div>"}const B=e=>`https://bsky.app/profile/${e}`,Ne=(e,t)=>`https://bsky.app/profile/${e}/post/${t}`,xs=e=>`https://bsky.app/hashtag/${e}`,yt=(e,t)=>`https://bsky.app/profile/${e}/feed/${t}`,As=(e,t)=>`https://bsky.app/starter-pack/${e}/${t}`,Us=(e,t)=>`https://ogcard.cdn.bsky.app/start/${e}/${t}`;let Ge=0,ue=0;const zs=new Intl.DateTimeFormat("en-US",{dateStyle:"long",timeStyle:"short"}),Ps=new Intl.DateTimeFormat("en-US",{dateStyle:"medium"}),Cs=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}),wt=e=>{const t=new Date(e),s=t.getTime();if(isNaN(s))return"N/A";const r=Date.now();if(r>ue){const n=new Date(r);n.setMonth(0,1),n.setHours(0,0,0),Ge=n.getTime(),n.setFullYear(n.getFullYear()+1,0,0),n.setHours(23,59,59,999),ue=n.getTime()}return s>=Ge&&s<=ue?Cs.format(t):Ps.format(t)},Fs=e=>{const t=new Date(e);return isNaN(t.getTime())?"N/A":zs.format(t)},Ns=/^at:\/\/((?:did:[a-zA-Z0-9._:%-]+)|(?:[a-zA-Z0-9][a-zA-Z0-9-.]*))(?:\/([a-zA-Z0-9.-]+)(?:\/([a-zA-Z0-9_~.:-]{1,512}))?)?\/?(?:\?([^#\s]*))?(?:#([^\s]*))?$/,q=e=>{const t=Ns.exec(e);if(!t)throw new Ts(`invalid at-uri: ${e}`);return{repo:t[1],collection:t[2]??"",rkey:t[3]??"",query:t[4]??"",fragment:t[5]??""}};let Ts=class extends Error{};const xt=new Intl.NumberFormat("en-US"),Ms=new Intl.NumberFormat("en-US",{notation:"compact"}),fe=e=>e<1e3?""+e:e<1e5?xt.format(e):Ms.format(e),R=e=>xt.format(e),Ss=e=>{let t;if("parse"in URL)t=URL.parse(e);else try{t=new URL(e)}catch{}return t&&(t.protocol==="https:"||t.protocol==="http:")?t:null};function Es(e,t){const{embed:s}=t,r=s.external,n=Ss(r.uri)?.host;e.out+=`<a target="_blank"${m("href",n&&r.uri)} rel="noopener noreferrer nofollow" class="external-embed s-au8a8u">`,r.thumb&&(e.out+=`<img loading="lazy"${m("src",r.thumb)} alt="" class="thumbnail s-au8a8u">`),e.out+=` <div class="meta s-au8a8u"><p class="title s-au8a8u">${b(r.title)}</p> <p class="description s-au8a8u">${b(r.description)}</p> `,n&&(e.out+=`<div class="domain s-au8a8u"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m4.172 8.07 3.94 2.957.977-1.941 3.887-.978 1.15-4.6M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-6.078 4.865.973-1.946-2.869-1.928-1.89-.12-1.08 1.075 1.947 2.919h2.919Z"></path></svg> <span class="domain-name">${b(n)}</span></div>`),e.out+="</div></a>"}function qs(e,t){const{embed:s}=t,r=s.creator,n=yt(r.did,q(s.uri).rkey);e.out+=`<a target="_blank"${m("href",n)} class="feed-embed s-1c1phtf"><div class="main s-1c1phtf"><div class="avatar-wrapper s-1c1phtf">`,s.avatar?e.out+=`<img loading="lazy"${m("src",s.avatar)} alt="" class="avatar s-1c1phtf">`:e.out+='<svg viewBox="0 0 32 32" class="avatar s-1c1phtf"><path fill="#0070FF" d="M0 0h32v32H0z"></path><path fill="#fff" d="M22.153 22.354a9.328 9.328 0 0 0 3.837-.491 3.076 3.076 0 0 0-4.802-2.79m.965 3.281a6.128 6.128 0 0 0-.965-3.28Zm-11.342-3.28a3.077 3.077 0 0 0-4.801 2.79 9.21 9.21 0 0 0 3.835.49m.966-3.28a6.127 6.127 0 0 0-.966 3.28Zm8.265-8.997a3.076 3.076 0 1 1-6.153 0 3.076 3.076 0 0 1 6.153 0Zm6.154 3.077a2.307 2.307 0 1 1-4.615 0 2.307 2.307 0 0 1 4.615 0Zm-13.847 0a2.307 2.307 0 1 1-4.614 0 2.307 2.307 0 0 1 4.614 0Z"></path><path fill="#fff" d="M22 22c0 3.314-2.686 3.5-6 3.5s-6-.186-6-3.5a6 6 0 0 1 12 0Z"></path></svg>',e.out+=`</div> <div class="info"><p class="name s-1c1phtf">${b(s.displayName)}</p> <p class="creator s-1c1phtf">Feed by @${b(r.handle)}</p></div></div> <p class="description s-1c1phtf">${b(s.description)}</p></a>`}function ke(e,t){const{embed:s,borderless:r,standalone:n}=t,i=s.images,o=i.length;function l(c,a){c.out+=`<img loading="lazy"${m("src",a.thumb)}${m("alt",a.alt)} class="image s-1d339cy">`}if(e.out+=`<div${m("class",`${I("image-embed"+(r?"":" is-bordered")+(n&&o===1?" is-aligned":""))} s-1d339cy`)}>`,o===4)e.out+='<div class="grid s-1d339cy"><div class="col s-1d339cy"><div class="item wide s-1d339cy">',l(e,i[0]),e.out+='</div> <div class="item wide s-1d339cy">',l(e,i[1]),e.out+='</div></div> <div class="col s-1d339cy"><div class="item wide s-1d339cy">',l(e,i[2]),e.out+='</div> <div class="item wide s-1d339cy">',l(e,i[3]),e.out+="</div></div></div>";else if(o===3)e.out+='<div class="grid s-1d339cy"><div class="col square s-1d339cy"><div class="item s-1d339cy">',l(e,i[0]),e.out+='</div></div> <div class="col square s-1d339cy"><div class="item s-1d339cy">',l(e,i[1]),e.out+='</div> <div class="item s-1d339cy">',l(e,i[2]),e.out+="</div></div></div>";else if(o===2)e.out+='<div class="grid s-1d339cy"><div class="col s-1d339cy"><div class="item square s-1d339cy">',l(e,i[0]),e.out+='</div></div> <div class="col s-1d339cy"><div class="item square s-1d339cy">',l(e,i[1]),e.out+="</div></div></div>";else if(o===1){const c=i[0],a=n&&c.aspectRatio;e.out+=`<div${m("class",`${I("single-item"+(a?" is-standalone":""))} s-1d339cy`)}${m("style",a?`aspect-ratio: ${a.width}/${a.height}`:"")}>`,l(e,c),e.out+=" ",a&&(e.out+='<div class="placeholder s-1d339cy"></div>'),e.out+="</div>"}e.out+="</div>"}const Rs=e=>{switch(e){case"app.bsky.graph.defs#curatelist":return"User list";case"app.bsky.graph.defs#modlist":return"Moderation list"}return"Unknown list"};function Zs(e,t){const{embed:s}=t,r=s.creator,n=yt(r.did,q(s.uri).rkey);e.out+=`<a target="_blank"${m("href",n)} class="list-embed s-1mo1e33"><div class="main s-1mo1e33"><div class="avatar-wrapper s-1mo1e33">`,s.avatar?e.out+=`<img loading="lazy"${m("src",s.avatar)} alt="" class="avatar s-1mo1e33">`:e.out+='<svg viewBox="0 0 32 32" class="avatar s-1mo1e33"><path fill="#0070FF" d="M0 0h32v32H0z"></path><path fill="#fff" d="M22.153 22.354a9.328 9.328 0 0 0 3.837-.491 3.076 3.076 0 0 0-4.802-2.79m.965 3.281a6.128 6.128 0 0 0-.965-3.28Zm-11.342-3.28a3.077 3.077 0 0 0-4.801 2.79 9.21 9.21 0 0 0 3.835.49m.966-3.28a6.127 6.127 0 0 0-.966 3.28Zm8.265-8.997a3.076 3.076 0 1 1-6.153 0 3.076 3.076 0 0 1 6.153 0Zm6.154 3.077a2.307 2.307 0 1 1-4.615 0 2.307 2.307 0 0 1 4.615 0Zm-13.847 0a2.307 2.307 0 1 1-4.614 0 2.307 2.307 0 0 1 4.614 0Z"></path><path fill="#fff" d="M22 22c0 3.314-2.686 3.5-6 3.5s-6-.186-6-3.5a6 6 0 0 1 12 0Z"></path></svg>',e.out+=`</div> <div class="info"><p class="name s-1mo1e33">${b(s.name)}</p> <p class="creator s-1mo1e33">${b(Rs(s.purpose))} by @${b(r.handle)}</p></div></div> <p class="description s-1mo1e33">${b(s.description)}</p></a>`}function ye(e,t){const{post:s,embed:r,borderless:n=!1,standalone:i=!1}=t,o=i&&r.aspectRatio,l=s&&Ne(s.author.did,q(s.uri).rkey);function c(a){a.out+=`<img loading="lazy"${m("src",r.thumbnail)} alt="" class="thumbnail s-1h3cnsw"> `,o&&(a.out+='<div class="placeholder s-1h3cnsw"></div>'),a.out+=' <div class="play s-1h3cnsw"><svg class="icon s-1h3cnsw" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="M22 12 5 2v20l17-10Z"></path></svg></div>'}i?(e.out+=`<a target="_blank"${m("href",l)}${m("class",`${I("video-embed"+(n?"":" is-bordered")+(i?" is-standalone":""))} s-1h3cnsw`)}><div class="constrainer s-1h3cnsw"${m("style",o?`aspect-ratio: ${o.width}/${o.height}`:"")}>`,c(e),e.out+="</div></a>"):(e.out+=`<div${m("class",`${I("video-embed"+(n?"":" is-bordered"))} s-1h3cnsw`)}${m("style",o?`aspect-ratio: ${o.width}/${o.height}`:"")}>`,c(e),e.out+="</div>")}const At=e=>{if(e){if(e.$type==="app.bsky.embed.images#view")return e;if(e.$type==="app.bsky.embed.recordWithMedia#view")return At(e.media)}},Ut=e=>{if(e){if(e.$type==="app.bsky.embed.video#view")return e;if(e.$type==="app.bsky.embed.recordWithMedia#view")return Ut(e.media)}};function Ls(e,t){const{embed:s,large:r=!1}=t,n=s.value,i=n.text.trim(),o=s.author,l=o.displayName?.trim(),c=s.embeds?.[0],a=At(c),u=Ut(c),d=Ne(o.did,q(s.uri).rkey);e.out+=`<a target="_blank"${m("href",d)} class="quote-embed s-vbjlyj"><div class="meta s-vbjlyj"><div class="avatar-wrapper s-vbjlyj">`,o.avatar&&(e.out+=`<img loading="lazy"${m("src",o.avatar)} alt="" class="avatar s-vbjlyj">`),e.out+='</div> <span class="name-wrapper s-vbjlyj">',l&&(e.out+=`<bdi class="display-name-wrapper s-vbjlyj"><span class="display-name s-vbjlyj">${b(l)}</span></bdi>`),e.out+=` <span class="handle s-vbjlyj">@${b(o.handle)}</span></span> <span aria-hidden="true" class="dot s-vbjlyj">·</span> <time${m("datetime",n.createdAt)} class="date s-vbjlyj">${b(wt(n.createdAt))}</time></div> `,i?(e.out+='<div class="body s-vbjlyj">',r||(a?(e.out+='<div class="aside s-vbjlyj">',ke(e,{embed:a}),e.out+="</div>"):u&&(e.out+='<div class="aside s-vbjlyj">',ye(e,{embed:u}),e.out+="</div>")),e.out+=` <p class="text s-vbjlyj">${b(i)}</p></div>`):e.out+='<div class="divide s-vbjlyj"></div>',e.out+=" ",(r||!i)&&(a?ke(e,{embed:a,borderless:!0}):u&&ye(e,{embed:u,borderless:!0})),e.out+="</a>"}function Is(e,t){const{embed:s,large:r=!1}=t,n=s.record,i=s.creator,o=i.did,l=q(s.uri).rkey,c=As(o,l);if(e.out+=`<a target="_blank"${m("href",c)} class="starterpack-embed s-whpa2l">`,r){const a=Us(o,l);e.out+=`<img loading="lazy"${m("src",a)} alt="" class="banner s-whpa2l">`}e.out+=` <div class="meta s-whpa2l"><div class="main s-whpa2l"><svg fill="none" viewBox="0 0 24 24" class="avatar s-whpa2l"><defs><linearGradient id="a" x1="0" x2="100%" y1="0" y2="0" gradientTransform="rotate(45)"><stop offset="0" stop-color="#0A7AFF"></stop><stop offset="1" stop-color="#59B9FF"></stop></linearGradient></defs><path fill="url(#a)" fill-rule="evenodd" d="M11.26 5.227 5.02 6.899c-.734.197-1.17.95-.973 1.685l1.672 6.24c.197.734.951 1.17 1.685.973l6.24-1.672a1.376 1.376 0 0 0 .973-1.685L12.945 6.2a1.375 1.375 0 0 0-1.685-.973Zm-6.566.459a2.632 2.632 0 0 0-1.86 3.223l1.672 6.24a2.632 2.632 0 0 0 3.223 1.861l6.24-1.672a2.631 2.631 0 0 0 1.861-3.223l-1.672-6.24a2.632 2.632 0 0 0-3.223-1.861l-6.24 1.672Z" clip-rule="evenodd"></path><path fill="url(#a)" fill-rule="evenodd" d="M15.138 18.411a4.606 4.606 0 1 0 0-9.211 4.606 4.606 0 0 0 0 9.211Zm0 1.257a5.862 5.862 0 1 0 0-11.724 5.862 5.862 0 0 0 0 11.724Z" clip-rule="evenodd"></path></svg> <div class="info"><p class="name s-whpa2l">${b(n.name)}</p> <p class="creator s-whpa2l">Starter pack by @${b(i.handle)}</p></div></div> <p class="description s-whpa2l">${b(n.description)}</p></div></a>`}const Hs=e=>{switch(e){case"app.bsky.feed.post":return"post";case"app.bsky.feed.generator":return"feed";case"app.bsky.graph.list":return"list";case"app.bsky.graph.starterpack":return"starter pack";case"app.bsky.labeler.service":return"labeler"}return null};function js(e,t){const{post:s,embed:r,large:n=!1}=t;function i(c,a){a.$type==="app.bsky.embed.external#view"?Es(c,{embed:a}):a.$type==="app.bsky.embed.images#view"?ke(c,{embed:a,standalone:!0}):a.$type==="app.bsky.embed.video#view"?ye(c,{post:s,embed:a,standalone:!0}):l(c,"Unsupported media embed")}function o(c,a){const u=a.record;if(u.$type==="app.bsky.embed.record#viewRecord")Ls(c,{embed:u,large:n});else if(u.$type==="app.bsky.feed.defs#generatorView")qs(c,{embed:u});else if(u.$type==="app.bsky.graph.defs#listView")Zs(c,{embed:u});else if(u.$type==="app.bsky.graph.defs#starterPackViewBasic")Is(c,{embed:u,large:n});else{const d=q(u.uri),h=Hs(d.collection),f=h&&(u.$type==="app.bsky.embed.record#viewNotFound"||u.$type==="app.bsky.embed.record#viewBlocked"||u.$type==="app.bsky.embed.record#viewDetached");l(c,f?`This ${h} is unavailable`:"Unsupported record embed")}}function l(c,a){c.out+=`<div class="message s-1nks9gp">${b(a)}</div>`}e.out+='<div class="embeds s-1nks9gp">',r.$type==="app.bsky.embed.recordWithMedia#view"?(i(e,r.media),e.out+=" ",o(e,r.record)):r.$type==="app.bsky.embed.record#view"?o(e,r):i(e,r),e.out+="</div>"}const Ds=e=>e?.find(t=>t.$type==="app.bsky.richtext.facet#link"||t.$type==="app.bsky.richtext.facet#mention"||t.$type==="app.bsky.richtext.facet#tag");function Bs(e,t){const{text:s,facets:r,large:n}=t,i=ft(s,r);e.out+=`<p${m("class",`${I("rich-text"+(n?" is-large":" is-small"))} s-10xqaeb`)}>`;for(let o=0,l=i.length;o<l;o++){let c=i[o];const a=Ds(c.features);a?a.$type==="app.bsky.richtext.facet#link"?e.out+=`<a target="_blank"${m("href",a.uri)} rel="noopener nofollow" class="link s-10xqaeb">${b(c.text)}</a>`:a.$type==="app.bsky.richtext.facet#mention"?e.out+=`<a target="_blank"${m("href",B(a.did))} class="mention s-10xqaeb">${b(c.text)}</a>`:a.$type==="app.bsky.richtext.facet#tag"&&(e.out+=`<a target="_blank"${m("href",xs(a.tag))} class="hashtag s-10xqaeb">${b(c.text)}</a>`):e.out+=b(c.text)}e.out+="</p>"}function Vs(e,t){const{item:s,prev:r=!1,next:n=!1}=t,i=s.reason,o=s.post,l=s.reply?.parent,c=o.author,a=B(c.did),u=c.displayName?.trim(),d=o.record,h=Ne(c.did,q(o.uri).rkey),f=o.replyCount||0,g=o.likeCount||0,z=(o.repostCount||0)+(o.quoteCount||0);if(e.out+=`<div${m("class",`${I("feed-post"+(n?"":" is-leaf"))} s-1c3lek9`)}><div class="contexts s-1c3lek9">`,r&&(e.out+='<div class="ascendant-line-wrapper s-1c3lek9"><div class="line s-1c3lek9"></div></div>'),e.out+=" ",i)if(i.$type==="app.bsky.feed.defs#reasonRepost"){const y=i.by;e.out+=`<div class="context s-1c3lek9"><div class="aside s-1c3lek9"><svg class="icon" viewBox="0 0 24 24" fill="none"><path d="M17 3L20 6L17 9M7 21L4 18L7 15M5 18H20V13M4 11V6H19" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg></div> <a${m("href",B(y.did))} class="main s-1c3lek9"><span dir="auto" class="name s-1c3lek9">${b(y.displayName)}</span> <span class="affix s-1c3lek9"> reposted</span></a></div>`}else i.$type==="app.bsky.feed.defs#reasonPin"&&(e.out+='<div class="context s-1c3lek9"><div class="aside s-1c3lek9"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="square" stroke-width="2" d="M12 15H5v-2.5l.377-.377A7.25 7.25 0 0 0 7.5 6.997V3h9v3.997a7.25 7.25 0 0 0 2.123 5.127L19 12.5V15h-7Zm0 0v6"></path></svg></div> <span class="flex min-w-0">Pinned</span></div>');if(e.out+=`</div> <div class="content s-1c3lek9"><div class="aside s-1c3lek9"><a target="_blank"${m("href",a)} class="avatar-wrapper s-1c3lek9">`,c.avatar&&(e.out+=`<img loading="lazy"${m("src",c.avatar)} alt="" class="avatar s-1c3lek9">`),e.out+="</a> ",n&&(e.out+='<div class="descendant-line s-1c3lek9"></div>'),e.out+=`</div> <div class="main s-1c3lek9"><div class="meta s-1c3lek9"><a${m("href",a)} target="_blank" class="name-wrapper s-1c3lek9">`,u&&(e.out+=`<bdi class="display-name-wrapper s-1c3lek9"><span class="display-name s-1c3lek9">${b(u)}</span></bdi>`),e.out+=` <span class="handle s-1c3lek9">@${b(c.handle)}</span></a> <span aria-hidden="true" class="dot s-1c3lek9">·</span> <a target="_blank"${m("href",h)}${m("title",Fs(d.createdAt))} class="date s-1c3lek9"><time${m("datetime",d.createdAt)}>${b(wt(d.createdAt))}</time></a></div> `,!r&&d.reply){if(e.out+='<p class="reply-context s-1c3lek9">',l&&l.$type==="app.bsky.feed.defs#postView"){const y=l.author;e.out+=`Replying to <a target="_blank"${m("href",B(y.did))} dir="auto" class="s-1c3lek9">${b(y.displayName?.trim()||`@${y.handle}`)}</a>`}else e.out+="Replying to an unknown post";e.out+="</p>"}e.out+=" ",Bs(e,{text:d.text,facets:d.facets}),e.out+=" ",o.embed&&js(e,{post:o,embed:o.embed}),e.out+=` <div class="metrics s-1c3lek9"><div${m("title",f===1?`${R(f)} reply`:`${R(f)} replies`)} class="stat s-1c3lek9"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="square" stroke-width="2" d="M3.002 4h18v14h-9l-5 3v-3h-4V4Z"></path></svg> <span class="count s-1c3lek9">${b(fe(f))}</span></div> <div${m("title",z===1?`${R(z)} repost`:`${R(z)} reposts`)} class="stat s-1c3lek9"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="square" stroke-width="2" d="m17 3 3 3-3 3M7 21l-3-3 3-3m-2 3h15v-5M4 11V6h15"></path></svg> <span class="count s-1c3lek9">${b(fe(z))}</span></div> <div${m("title",g===1?`${R(g)} like`:`${R(g)} likes`)} class="stat s-1c3lek9"><svg class="icon" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="M12 5.768c6.162-6.25 16.725 5.358 0 14.732C-4.725 11.126 5.838-.482 12 5.768Z"></path></svg> <span class="count s-1c3lek9">${b(fe(g))}</span></div></div></div></div></div>`}function Os(e,t){const{profile:s}=t;e.out+=`<div class="profile-feed-header s-1xh30xs"><a target="_blank"${m("href",B(s.did))} class="title s-1xh30xs">Posts from @${b(s.handle)}</a> <svg class="logo s-1xh30xs" fill="none" viewBox="0 0 320 286"><path fill="#0A7AFF" d="M69.364 19.146c36.687 27.806 76.147 84.186 90.636 114.439 14.489-30.253 53.948-86.633 90.636-114.439C277.107-.917 320-16.44 320 32.957c0 9.865-5.603 82.875-8.889 94.729-11.423 41.208-53.045 51.719-90.071 45.357 64.719 11.12 81.182 47.953 45.627 84.785-80 82.874-106.667-44.333-106.667-44.333s-26.667 127.207-106.667 44.333c-35.555-36.832-19.092-73.665 45.627-84.785-37.026 6.362-78.648-4.149-90.071-45.357C5.603 115.832 0 42.822 0 32.957 0-16.44 42.893-.917 69.364 19.147Z"></path></svg></div>`}function Ws(e,t){const{profile:s,feed:r,allowUnauthenticated:n}=t,i=!n&&s?.labels?.some(c=>c.val===We),o=r.filter(c=>{if(!s)return!1;const a=c.reason;if(a){if(a.$type==="app.bsky.feed.defs#reasonPin")return!0;if(a.$type==="app.bsky.feed.defs#reasonRepost"){const u=c.post.author;return u.did!==s.did?n||!u.labels?.some(d=>d.val===We):!0}return!1}return!c.reply});function l(c,a){Ye(c,{children:u=>{u.out+=`<div class="message s-f12rvk">${b(a)}</div>`}})}s===null?l(e,"The profile can't be found, it may have been deleted."):i?l(e,"The user has requested for their posts to not be displayed on external sites."):Ye(e,{children:c=>{if(Os(c,{profile:s}),c.out+=" ",o.length>0){const a=o;c.out+='<div class="feed s-f12rvk">';for(let u=0,d=a.length;u<d;u++){let h=a[u];Vs(c,{item:h})}c.out+=' <div class="end-marker s-f12rvk"><div class="dot s-f12rvk"></div></div></div>'}else c.out+='<div class="message s-f12rvk">This user has not made any posts.</div>'}})}const Ys=async e=>{const t=e.actor,s=e.allowUnauthenticated??!1,r=new ut({handler:dt({service:e.serviceUri??ws})}),[{data:n},{data:i}]=await Promise.all([r.get("app.bsky.actor.getProfile",{signal:e.signal,params:{actor:t}}).catch(o=>o instanceof Z&&o.kind==="InvalidRequest"&&o.description==="Profile not found"?{data:null}:Promise.reject(o)),r.get("app.bsky.feed.getAuthorFeed",{signal:e.signal,params:{actor:t,includePins:e.includePins,limit:30,filter:"posts_and_author_threads"}}).catch(o=>o instanceof Z&&o.kind==="InvalidRequest"&&o.description==="Profile not found"?{data:{feed:[]}}:Promise.reject(o))]);return{profile:n,feed:i.feed,allowUnauthenticated:s}},Gs=e=>ys(Ws,{props:e}).body,Xs=(e,t)=>`https://bsky.app/profile/${e}/post/${t}`,Ks=new Intl.DateTimeFormat("en-US",{dateStyle:"long",timeStyle:"short"}),Js=e=>{const t=new Date(e);return isNaN(t.getTime())?"N/A":Ks.format(t)},Qs=/^at:\/\/((?:did:[a-zA-Z0-9._:%-]+)|(?:[a-zA-Z0-9][a-zA-Z0-9-.]*))(?:\/([a-zA-Z0-9.-]+)(?:\/([a-zA-Z0-9_~.:-]{1,512}))?)?\/?(?:\?([^#\s]*))?(?:#([^\s]*))?$/,$s=e=>{const t=Qs.exec(e);if(!t)throw new er(`invalid at-uri: ${e}`);return{repo:t[1],collection:t[2]??"",rkey:t[3]??"",query:t[4]??"",fragment:t[5]??""}};class er extends Error{}const P=e=>e.replace(/[<"&]/g,t=>"&#"+t.charCodeAt(0)+";"),tr=/^(?!\.{1,2}$)[a-zA-Z0-9_~.:-]{1,512}$/,sr=e=>e.length>=1&&e.length<=512&&tr.test(e),rr=/^did:([a-z]+):([a-zA-Z0-9._:%-]*[a-zA-Z0-9._-])$/,nr=e=>e.length>=7&&e.length<=2048&&rr.test(e),ir=/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/,ar=e=>e.length>=3&&e.length<=253&&ir.test(e),Xe=e=>nr(e)||ar(e),or=({data:e})=>{const t=Fe(()=>bs(e),[e]);return p("bluesky-post",{src:e.thread?.post.uri,dangerouslySetInnerHTML:{__html:t}})},cr=({data:e})=>{const t=Fe(()=>Gs(e),[e]);return p("bluesky-profile-feed",{actor:e.profile?.did,dangerouslySetInnerHTML:{__html:t}})},ne=({code:e})=>p("div",{class:"code-block",children:[p("pre",{children:p("code",{children:e})}),p("div",{class:"actions",children:p("button",{title:"Copy",onClick:()=>{navigator.clipboard.writeText(e).catch(()=>alert("Failed to copy to clipboard"))},class:"copy-button",children:p("svg",{fill:"none",viewBox:"0 0 24 24",children:p("path",{stroke:"currentColor","stroke-linecap":"square","stroke-width":"2",d:"M15 5h4v16H5V5h4m0-2h6v4H9V3Z"})})})})]}),T="https://unpkg.com/bluesky-embed@~0.2.0-alpha.2",Ke="https://bsky.app/profile/did:plc:ragtjsm2j2vknwkz3zp4oxrd/post/3kj2umze7zj2n",lr=()=>{const[e,t]=Ce(""),s=Fe(()=>vr(e||Ke),[e]);return p("div",{class:"app",children:[p("h1",{class:"header",children:p("code",{children:"<bluesky-embed>"})}),p("label",{class:"input-wrapper",children:[p("span",{class:"label",children:"Bluesky post or profile URL"}),p("input",{type:"url",placeholder:Ke,value:e,onInput:r=>t(r.currentTarget.value),class:"text-input"})]}),s?s.type==="post"?p(dr,{matched:s},e):s.type==="profile"?p(pr,{matched:s},e):null:p("main",{class:"main",children:p("div",{class:"alert",children:"Invalid URL, did you type it correctly?"})}),p("footer",{class:"footer",children:[p("span",{children:["made with ❤️ by ",p("a",{href:"https://bsky.app/profile/did:plc:ia76kvnndjutgedggx2ibrem",children:"@mary.my.id"})]}),p("span",{"aria-hidden":"true",children:" · "}),p("span",{children:p("a",{href:"https://github.com/mary-ext/bluesky-embed",children:"source code"})}),p("span",{"aria-hidden":"true",children:" · "}),p("span",{children:"MIT License"})]})]})},zt=()=>p("svg",{viewBox:"0 0 32 32",class:"circular-spinner",children:[p("circle",{cx:"16",cy:"16",fill:"none",r:"14","stroke-width":"4",class:"background"}),p("circle",{cx:"16",cy:"16",fill:"none",r:"14","stroke-width":"4","stroke-dasharray":"80px","stroke-dashoffset":"60px",class:"accented"})]}),dr=({matched:e})=>{const[t,s]=Ce();return ot(()=>{if(t)return;const r=new AbortController,n=r.signal;return vs({uri:`at://${e.author}/app.bsky.feed.post/${e.rkey}`,signal:n,contextless:!1}).then(o=>{n.aborted||s({ok:!0,data:o})},o=>{n.aborted||s({ok:!1,message:""+o})}),()=>r.abort()},[e,t]),p("main",{class:"main",children:t?t.ok?p(E,{children:[p(or,{data:t.data}),t.data.thread?p("div",{class:"guide",children:[p("h4",{class:"guide-header",children:"How do I embed this to my website?"}),p("div",{class:"inform",children:["Doing server-side rendering? Check out examples for"," ",p("a",{href:"https://github.com/mary-ext/bluesky-embed-astro",children:"Astro"})," and"," ",p("a",{href:"https://github.com/mary-ext/bluesky-embed-sveltekit",children:"SvelteKit"}),"."]}),p("ol",{class:"guide-instructions",children:[p("li",{children:[p("p",{children:["Insert the following scripts and stylesheets to the ",p("code",{children:"<head>"})," of your website."]}),p(ne,{code:ur()})]}),p("li",{children:[p("p",{children:"Insert the following markup in wherever you want the post to be."}),p(ne,{code:fr(t.data.thread.post)})]})]})]}):null]}):p("div",{class:"alert",children:t.message}):p(zt,{})})},ur=()=>`<!-- Core web component and styling --> 2 + <script type="module" src="${T}/dist/post-wc.js"><\/script> 3 + <link rel="stylesheet" href="${T}/dist/post-core.css"> 4 + 5 + <!-- Built-in themes --> 6 + <link rel="stylesheet" href="${T}/themes/light.css" media="(prefers-color-scheme: light)"> 7 + <link rel="stylesheet" href="${T}/themes/dim.css" media="(prefers-color-scheme: dark)"> 8 + 9 + <!-- Fallback/placeholder elements if JS script is taking a while to load or is failing --> 10 + <style> 11 + .bluesky-post-fallback { 12 + margin: 16px 0; 13 + border-left: 3px solid var(--divider); 14 + padding: 4px 8px; 15 + white-space: pre-wrap; 16 + overflow-wrap: break-word; 17 + } 18 + .bluesky-post-fallback p { 19 + margin: 0 0 8px 0; 20 + } 21 + </style> 22 + `,fr=e=>{const t=e.author,s=e.record;return`<bluesky-post src="${P(e.uri)}"> 23 + <blockquote class="bluesky-post-fallback"> 24 + <p dir="auto">${P(s.text)}</p> 25 + — ${t.displayName?.trim()?`${P(t.displayName)} (@${P(t.handle)})`:`@${P(t.handle)}`} 26 + <a href="${P(Xs(t.did,$s(e.uri).rkey))}">${Js(e.indexedAt)}</a> 27 + </blockquote> 28 + </bluesky-post> 29 + `},pr=({matched:e})=>{const[t,s]=Ce();return ot(()=>{if(t)return;const r=new AbortController,n=r.signal;return Ys({actor:e.actor,signal:n,includePins:!0}).then(o=>{n.aborted||s({ok:!0,data:o})},o=>{n.aborted||s({ok:!1,message:""+o})}),()=>r.abort()},[e,t]),p("main",{class:"main",children:t?t.ok?p(E,{children:[p(cr,{data:t.data}),t.data.profile?p("div",{class:"guide",children:[p("h4",{class:"guide-header",children:"How do I embed this to my website?"}),p("div",{class:"inform",children:["Doing server-side rendering? Check out examples for"," ",p("a",{href:"https://github.com/mary-ext/bluesky-embed-astro",children:"Astro"})," and"," ",p("a",{href:"https://github.com/mary-ext/bluesky-embed-sveltekit",children:"SvelteKit"}),"."]}),p("ol",{class:"guide-instructions",children:[p("li",{children:[p("p",{children:["Insert the following scripts and stylesheets to the ",p("code",{children:"<head>"})," of your website."]}),p(ne,{code:hr()})]}),p("li",{children:[p("p",{children:"Insert the following markup in wherever you want the profile feed to be."}),p(ne,{code:_r(t.data.profile)})]})]})]}):null]}):p("div",{class:"alert",children:t.message}):p(zt,{})})},hr=()=>`<!-- Core web component and styling --> 30 + <script type="module" src="${T}/dist/profile-feed-wc.js"><\/script> 31 + <link rel="stylesheet" href="${T}/dist/profile-feed-core.css"> 32 + 33 + <!-- Built-in themes --> 34 + <link rel="stylesheet" href="${T}/themes/light.css" media="(prefers-color-scheme: light)"> 35 + <link rel="stylesheet" href="${T}/themes/dim.css" media="(prefers-color-scheme: dark)"> 36 + `,_r=e=>{const t=`https://bsky.app/profile/${e.did}`;return`<bluesky-profile-feed actor="${P(e.did)}" include-pins> 37 + <a target="_blank" href="${P(t)}" class="bluesky-profile-feed-fallback"> 38 + ${e.displayName?.trim()?`Posts by ${P(e.displayName)} (@${P(e.handle)})`:`Posts by @${P(e.handle)}`} 39 + </a> 40 + </bluesky-profile-feed> 41 + `},mr=e=>{let t;if("parse"in URL)t=URL.parse(e);else try{t=new URL(e)}catch{}return t&&(t.protocol==="https:"||t.protocol==="http:")?t:null},vr=e=>{const t=mr(e);if(!t)return null;let s;if(t.host==="bsky.app"||t.host==="staging.bsky.app"||t.host==="main.bsky.dev"){if(s=/^\/profile\/([^/]+)\/post\/([^/]+)\/?$/.exec(t.pathname))return!Xe(s[1])||!sr(s[2])?null:{type:"post",author:s[1],rkey:s[2]};if(s=/^\/profile\/([^/]+)\/?$/.exec(t.pathname))return Xe(s[1])?{type:"profile",actor:s[1]}:null}return null};St(p(lr,{}),document.body);
+1
assets/index-Bqif93zQ.css
··· 1 + .bluesky-embed.s-3olstj{position:relative;box-sizing:border-box;margin:0 auto;border:1px solid var(--divider);border-radius:8px;background:var(--background-primary);min-width:250px;max-width:550px;overflow:hidden;color:var(--text-primary);font-weight:400;font-size:calc(var(--font-size) * .875);line-height:calc(var(--font-size) * 1.25);font-family:var(--font-family);:where(*),:where(*:before),:where(*:after){box-sizing:border-box;margin:0;padding:0}:where(a){color:inherit;text-decoration:none}:where(.icon){flex-shrink:0;width:1em;height:1em}}.external-embed.s-rtbqd8{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.thumbnail.s-rtbqd8{display:block;background:#000;aspect-ratio:1.91;width:100%}.meta.s-rtbqd8{padding:12px}.title.s-rtbqd8{display:-webkit-box;overflow:hidden;font-weight:700;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.description.s-rtbqd8{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.domain.s-rtbqd8{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--text-secondary);font-weight:500;font-size:calc(var(--font-size) * .75)}.feed-embed.s-156tlwp{display:flex;flex-direction:column;gap:12px;border:1px solid var(--divider);border-radius:6px;padding:12px;&:hover{border-color:var(--divider-hover)}}.main.s-156tlwp{display:flex;gap:12px}.avatar-wrapper.s-156tlwp{margin:2px 0 0;border-radius:6px;background:var(--background-secondary);width:36px;height:36px;overflow:hidden}.avatar.s-156tlwp{width:100%;height:100%;object-fit:cover}.name.s-156tlwp{font-weight:700}.creator.s-156tlwp{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-156tlwp{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.is-bordered.s-t3k6fc{border:1px solid var(--divider);border-radius:6px;overflow:hidden}.is-aligned.s-t3k6fc{align-self:baseline;max-width:100%}.grid.s-t3k6fc{display:flex;gap:2px}.col.s-t3k6fc{display:flex;flex:1;flex-direction:column;gap:2px}.square.s-t3k6fc{aspect-ratio:1}.wide.s-t3k6fc{aspect-ratio:1.5}.item.s-t3k6fc{position:relative;flex-grow:1;flex-shrink:0}.single-item.s-t3k6fc{position:relative;aspect-ratio:16 / 9;overflow:hidden;.image:where(.s-t3k6fc){object-fit:contain}}.is-standalone.s-t3k6fc{min-width:64px;max-width:100%;min-height:64px;max-height:320px}.image.s-t3k6fc{position:absolute;inset:0;background:#000;width:100%;height:100%;object-fit:cover;font-size:0px}.placeholder.s-t3k6fc{width:100vw;height:100vh}.list-embed.s-6uize5{display:flex;flex-direction:column;gap:12px;border:1px solid var(--divider);border-radius:6px;padding:12px;&:hover{border-color:var(--divider-hover)}}.main.s-6uize5{display:flex;gap:12px}.avatar-wrapper.s-6uize5{margin:2px 0 0;border-radius:6px;background:var(--background-secondary);width:36px;height:36px;overflow:hidden}.avatar.s-6uize5{width:100%;height:100%;object-fit:cover}.name.s-6uize5{font-weight:700}.creator.s-6uize5{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-6uize5{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.video-embed.s-1azk58e{display:block;position:relative;aspect-ratio:16 / 9;overflow:hidden}.is-bordered.s-1azk58e{border:1px solid var(--divider);border-radius:6px}.is-standalone.s-1azk58e{align-self:baseline;aspect-ratio:auto;max-width:100%}.constrainer.s-1azk58e{min-width:64px;max-width:100%;min-height:64px;max-height:320px}.thumbnail.s-1azk58e{width:100%;height:100%;object-fit:cover}.placeholder.s-1azk58e{width:100vw;height:100vh}.play.s-1azk58e{display:grid;position:absolute;top:50%;left:50%;place-items:center;translate:-50% -50%;border-radius:50%;background:#40404099;aspect-ratio:1 / 1;height:40%;max-height:48px;color:#fff;font-size:20px;.icon:where(.s-1azk58e){width:40%;height:40%}.is-standalone:where(.s-1azk58e) &:hover{background:#404040cc}}.quote-embed.s-za6fip{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.meta.s-za6fip{display:flex;padding:12px 12px 0;color:var(--text-secondary);.avatar-wrapper:where(.s-za6fip){flex-shrink:0;margin:0 8px 0 0;border-radius:9999px;background:var(--background-secondary);width:20px;height:20px;overflow:hidden}.avatar:where(.s-za6fip){width:100%;height:100%}.name-wrapper:where(.s-za6fip){display:flex;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-name-wrapper:where(.s-za6fip){overflow:hidden;text-overflow:ellipsis}.display-name:where(.s-za6fip){color:var(--text-primary);font-weight:700}.handle:where(.s-za6fip){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot:where(.s-za6fip){flex-shrink:0;margin:0 6px}.date:where(.s-za6fip){white-space:nowrap}}.body.s-za6fip{display:flex;align-items:flex-start}.aside.s-za6fip{flex-grow:1;flex-basis:0;margin:8px 0 12px 12px;max-width:20%}.text.s-za6fip{display:-webkit-box;margin:8px 12px 12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;flex-grow:4;flex-basis:0px;min-width:0px;white-space:pre-wrap;overflow-wrap:break-word}.divide.s-za6fip{padding:6px 0}.starterpack-embed.s-15v965v{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.banner.s-15v965v{display:block;aspect-ratio:1.91;width:100%}.meta.s-15v965v{display:flex;flex-direction:column;gap:12px;padding:12px}.main.s-15v965v{display:flex;gap:12px}.avatar.s-15v965v{margin:2px;width:36px;height:36px}.name.s-15v965v{font-weight:700}.creator.s-15v965v{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-15v965v{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.embeds.s-azdpbr{display:flex;flex-direction:column;gap:12px;margin:12px 0 0}.message.s-azdpbr{border:1px solid var(--divider);border-radius:6px;padding:12px;color:var(--text-secondary)}.rich-text.s-1lecfnd{overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;&:empty{display:none}}.is-large.s-1lecfnd{font-size:calc(var(--font-size) * 1);line-height:calc(var(--font-size) * 1.5)}.link.s-1lecfnd,.mention.s-1lecfnd,.hashtag.s-1lecfnd{color:var(--text-link);&:hover{text-decoration:underline}}.highlighted-post.s-hik11q{padding:16px}.meta.s-hik11q{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--text-secondary);.avatar-wrapper:where(.s-hik11q){display:block;flex-shrink:0;border-radius:9999px;background:var(--background-secondary);width:40px;height:40px;overflow:hidden;&:hover{filter:brightness(.85)}}.avatar:where(.s-hik11q){width:100%;height:100%;object-fit:cover}.name-wrapper:where(.s-hik11q){display:block;flex-grow:1;max-width:100%;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.display-name-wrapper:where(.s-hik11q){overflow:hidden;text-overflow:ellipsis;.name-wrapper:where(.s-hik11q):hover &{text-decoration:underline}}.display-name:where(.s-hik11q){color:var(--text-primary);font-weight:700}.handle:where(.s-hik11q){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.logo.s-hik11q{width:32px;height:32px}.context.s-hik11q{overflow:hidden;color:var(--text-secondary);font-size:calc(var(--font-size) * .8125);text-overflow:ellipsis;white-space:nowrap;a:where(.s-hik11q){color:inherit;font-weight:500;&:hover{text-decoration:underline}}}.date.s-hik11q{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;border-bottom:1px solid var(--divider);padding:0 0 12px;color:var(--text-secondary)}.stats.s-hik11q{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 -16px;padding:12px 0;color:var(--text-secondary);.gap:where(.s-hik11q){flex:1 1 auto}.permalink:where(.s-hik11q){display:flex;align-items:center;gap:4px;color:var(--text-link);font-weight:700;&:hover{text-decoration:underline}}}.stat.s-hik11q{display:flex;align-items:center;gap:8px;font-weight:500}.post.s-12mzi62{display:flex;position:relative;gap:12px;padding:12px 16px 0}.logo.s-12mzi62{position:absolute;top:12px;right:12px;width:24px;height:24px}.aside.s-12mzi62{flex-shrink:0}.avatar-wrapper.s-12mzi62{display:block;border-radius:9999px;background:var(--background-secondary);width:40px;height:40px;overflow:hidden;&:hover{filter:brightness(.85)}}.avatar.s-12mzi62{width:100%;height:100%;object-fit:cover}.line.s-12mzi62{position:absolute;top:56px;bottom:-12px;left:35px;border-left:2px solid var(--divider)}.main.s-12mzi62{display:flex;flex-grow:1;flex-direction:column;min-width:0px}.meta.s-12mzi62{display:flex;align-items:center;margin:0 0 2px;color:var(--text-secondary);.name-wrapper:where(.s-12mzi62){display:flex;gap:4px;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.display-name-wrapper:where(.s-12mzi62){overflow:hidden;text-overflow:ellipsis;.name-wrapper:where(.s-12mzi62):hover &{text-decoration:underline}}.display-name:where(.s-12mzi62){color:var(--text-primary);font-weight:700}.handle:where(.s-12mzi62){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot:where(.s-12mzi62){flex-shrink:0;margin:0 6px}.date:where(.s-12mzi62){color:inherit;text-decoration:none;white-space:nowrap;&:hover{text-decoration:underline}}}.context.s-12mzi62{overflow:hidden;color:var(--text-secondary);font-size:calc(var(--font-size) * .8125);text-overflow:ellipsis;white-space:nowrap;a:where(.s-12mzi62){color:inherit;font-weight:500;&:hover{text-decoration:underline}}}.message.s-1q9cbx0{margin:0 auto;padding:32px 16px;max-width:380px;color:var(--text-secondary);text-align:center}.bluesky-embed.s-1pz15a1{position:relative;box-sizing:border-box;margin:0 auto;border:1px solid var(--divider);border-radius:8px;background:var(--background-primary);min-width:250px;max-width:550px;overflow:hidden;color:var(--text-primary);font-weight:400;font-size:calc(var(--font-size) * .875);line-height:calc(var(--font-size) * 1.25);font-family:var(--font-family);:where(*),:where(*:before),:where(*:after){box-sizing:border-box;margin:0;padding:0}:where(a){color:inherit;text-decoration:none}:where(.icon){flex-shrink:0;width:1em;height:1em}}.external-embed.s-au8a8u{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.thumbnail.s-au8a8u{display:block;background:#000;aspect-ratio:1.91;width:100%}.meta.s-au8a8u{padding:12px}.title.s-au8a8u{display:-webkit-box;overflow:hidden;font-weight:700;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.description.s-au8a8u{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.domain.s-au8a8u{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--text-secondary);font-weight:500;font-size:calc(var(--font-size) * .75)}.feed-embed.s-1c1phtf{display:flex;flex-direction:column;gap:12px;border:1px solid var(--divider);border-radius:6px;padding:12px;&:hover{border-color:var(--divider-hover)}}.main.s-1c1phtf{display:flex;gap:12px}.avatar-wrapper.s-1c1phtf{margin:2px 0 0;border-radius:6px;background:var(--background-secondary);width:36px;height:36px;overflow:hidden}.avatar.s-1c1phtf{width:100%;height:100%;object-fit:cover}.name.s-1c1phtf{font-weight:700}.creator.s-1c1phtf{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-1c1phtf{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.is-bordered.s-1d339cy{border:1px solid var(--divider);border-radius:6px;overflow:hidden}.is-aligned.s-1d339cy{align-self:baseline;max-width:100%}.grid.s-1d339cy{display:flex;gap:2px}.col.s-1d339cy{display:flex;flex:1;flex-direction:column;gap:2px}.square.s-1d339cy{aspect-ratio:1}.wide.s-1d339cy{aspect-ratio:1.5}.item.s-1d339cy{position:relative;flex-grow:1;flex-shrink:0}.single-item.s-1d339cy{position:relative;aspect-ratio:16 / 9;overflow:hidden;.image:where(.s-1d339cy){object-fit:contain}}.is-standalone.s-1d339cy{min-width:64px;max-width:100%;min-height:64px;max-height:320px}.image.s-1d339cy{position:absolute;inset:0;background:#000;width:100%;height:100%;object-fit:cover;font-size:0px}.placeholder.s-1d339cy{width:100vw;height:100vh}.list-embed.s-1mo1e33{display:flex;flex-direction:column;gap:12px;border:1px solid var(--divider);border-radius:6px;padding:12px;&:hover{border-color:var(--divider-hover)}}.main.s-1mo1e33{display:flex;gap:12px}.avatar-wrapper.s-1mo1e33{margin:2px 0 0;border-radius:6px;background:var(--background-secondary);width:36px;height:36px;overflow:hidden}.avatar.s-1mo1e33{width:100%;height:100%;object-fit:cover}.name.s-1mo1e33{font-weight:700}.creator.s-1mo1e33{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-1mo1e33{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.video-embed.s-1h3cnsw{display:block;position:relative;aspect-ratio:16 / 9;overflow:hidden}.is-bordered.s-1h3cnsw{border:1px solid var(--divider);border-radius:6px}.is-standalone.s-1h3cnsw{align-self:baseline;aspect-ratio:auto;max-width:100%}.constrainer.s-1h3cnsw{min-width:64px;max-width:100%;min-height:64px;max-height:320px}.thumbnail.s-1h3cnsw{width:100%;height:100%;object-fit:cover}.placeholder.s-1h3cnsw{width:100vw;height:100vh}.play.s-1h3cnsw{display:grid;position:absolute;top:50%;left:50%;place-items:center;translate:-50% -50%;border-radius:50%;background:#40404099;aspect-ratio:1 / 1;height:40%;max-height:48px;color:#fff;font-size:20px;.icon:where(.s-1h3cnsw){width:40%;height:40%}.is-standalone:where(.s-1h3cnsw) &:hover{background:#404040cc}}.quote-embed.s-vbjlyj{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.meta.s-vbjlyj{display:flex;padding:12px 12px 0;color:var(--text-secondary);.avatar-wrapper:where(.s-vbjlyj){flex-shrink:0;margin:0 8px 0 0;border-radius:9999px;background:var(--background-secondary);width:20px;height:20px;overflow:hidden}.avatar:where(.s-vbjlyj){width:100%;height:100%}.name-wrapper:where(.s-vbjlyj){display:flex;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-name-wrapper:where(.s-vbjlyj){overflow:hidden;text-overflow:ellipsis}.display-name:where(.s-vbjlyj){color:var(--text-primary);font-weight:700}.handle:where(.s-vbjlyj){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot:where(.s-vbjlyj){flex-shrink:0;margin:0 6px}.date:where(.s-vbjlyj){white-space:nowrap}}.body.s-vbjlyj{display:flex;align-items:flex-start}.aside.s-vbjlyj{flex-grow:1;flex-basis:0;margin:8px 0 12px 12px;max-width:20%}.text.s-vbjlyj{display:-webkit-box;margin:8px 12px 12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;flex-grow:4;flex-basis:0px;min-width:0px;white-space:pre-wrap;overflow-wrap:break-word}.divide.s-vbjlyj{padding:6px 0}.starterpack-embed.s-whpa2l{display:block;border:1px solid var(--divider);border-radius:6px;overflow:hidden;&:hover{border-color:var(--divider-hover)}}.banner.s-whpa2l{display:block;aspect-ratio:1.91;width:100%}.meta.s-whpa2l{display:flex;flex-direction:column;gap:12px;padding:12px}.main.s-whpa2l{display:flex;gap:12px}.avatar.s-whpa2l{margin:2px;width:36px;height:36px}.name.s-whpa2l{font-weight:700}.creator.s-whpa2l{color:var(--text-secondary);font-size:calc(var(--font-size) * .8125)}.description.s-whpa2l{display:-webkit-box;overflow:hidden;font-size:calc(var(--font-size) * .8125);white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;&:empty{display:none}}.embeds.s-1nks9gp{display:flex;flex-direction:column;gap:12px;margin:12px 0 0}.message.s-1nks9gp{border:1px solid var(--divider);border-radius:6px;padding:12px;color:var(--text-secondary)}.rich-text.s-10xqaeb{overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;&:empty{display:none}}.is-large.s-10xqaeb{font-size:calc(var(--font-size) * 1);line-height:calc(var(--font-size) * 1.5)}.link.s-10xqaeb,.mention.s-10xqaeb,.hashtag.s-10xqaeb{color:var(--text-link);&:hover{text-decoration:underline}}.feed-post.s-1c3lek9{padding:0 16px}.is-leaf.s-1c3lek9{border-bottom:1px solid var(--divider)}.ascendant-line-wrapper.s-1c3lek9{display:flex;flex-direction:column;align-items:center;width:36px;.line:where(.s-1c3lek9){position:absolute;top:0;bottom:4px;flex-grow:1;border-left:2px solid var(--divider)}}.descendant-line.s-1c3lek9{flex-grow:1;margin-top:4px;border-left:2px solid var(--divider)}.contexts.s-1c3lek9{display:flex;position:relative;flex-direction:column;padding:8px 0 4px}.context.s-1c3lek9{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem;.aside:where(.s-1c3lek9){display:flex;flex-shrink:0;justify-content:flex-end;width:36px}.main:where(.s-1c3lek9){display:flex;min-width:0px;&:hover{text-decoration-line:underline}}.name:where(.s-1c3lek9){overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.affix:where(.s-1c3lek9){flex-shrink:0;white-space:pre}}.content.s-1c3lek9{display:flex;gap:12px;.aside:where(.s-1c3lek9){display:flex;flex-shrink:0;flex-direction:column;align-items:center}.main:where(.s-1c3lek9){flex-grow:1;padding-bottom:12px;min-width:0}}.avatar-wrapper.s-1c3lek9{display:block;border-radius:9999px;background:var(--background-secondary);width:36px;height:36px;overflow:hidden;&:hover{filter:brightness(.85)}}.avatar.s-1c3lek9{width:100%;height:100%;object-fit:cover}.meta.s-1c3lek9{display:flex;align-items:center;margin:0 0 2px;color:var(--text-secondary);.name-wrapper:where(.s-1c3lek9){display:flex;gap:4px;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.display-name-wrapper:where(.s-1c3lek9){overflow:hidden;text-overflow:ellipsis;.name-wrapper:where(.s-1c3lek9):hover &{text-decoration:underline}}.display-name:where(.s-1c3lek9){color:var(--text-primary);font-weight:700}.handle:where(.s-1c3lek9){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot:where(.s-1c3lek9){flex-shrink:0;margin:0 6px}.date:where(.s-1c3lek9){color:inherit;text-decoration:none;white-space:nowrap;&:hover{text-decoration:underline}}}.reply-context.s-1c3lek9{overflow:hidden;color:var(--text-secondary);font-size:calc(var(--font-size) * .8125);text-overflow:ellipsis;white-space:nowrap;a:where(.s-1c3lek9){color:inherit;font-weight:500;&:hover{text-decoration:underline}}}.metrics.s-1c3lek9{display:flex;align-items:center;gap:16px;margin-top:12px;color:var(--text-secondary)}.stat.s-1c3lek9{display:flex;align-items:center;gap:8px;min-width:0px;max-width:100%;.count:where(.s-1c3lek9){padding-right:8px;overflow:hidden;font-size:.8125rem;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}}.profile-feed-header.s-1xh30xs{display:flex;justify-content:space-between;align-items:center;gap:16px;container-type:inline-size;border-bottom:1px solid var(--divider);padding:12px 16px}.title.s-1xh30xs{padding:4px 0;min-width:0;overflow:hidden;font-weight:600;font-size:calc(var(--font-size) * 1);line-height:calc(var(--font-size) * 1.5);text-overflow:ellipsis;white-space:nowrap;&:hover{text-decoration:underline}}.logo.s-1xh30xs{width:24px;height:24px}.message.s-f12rvk{margin:0 auto;padding:32px 16px;max-width:380px;color:var(--text-secondary);text-align:center}.feed.s-f12rvk{max-height:var(--max-feed-height);overflow-y:auto}.end-marker.s-f12rvk{display:grid;place-items:center;height:48px;.dot:where(.s-f12rvk){border-radius:50%;background:var(--text-secondary);width:4px;height:4px}}.bluesky-embed{--font-size: 16px;--font-family: system-ui, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--max-feed-height: 600px}.bluesky-embed{--text-primary: #000000;--text-secondary: #455668;--text-link: #1083fe;--background-primary: #ffffff;--background-secondary: #455668;--divider-hover: #a9b7c5;--divider: #d4dbe2;--button: #1083fe;--button-text: #ffffff;--button-hover: #0168d5}/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{line-height:1.15;font-family:Inter,Roboto,ui-sans-serif,sans-serif,"Noto Color Emoji",Twemoji Mozilla;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-size:1em;font-family:JetBrains Mono NL,ui-monospace,monospace}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{margin:0;font-size:100%;line-height:1.15;font-family:inherit}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.app{margin:0 auto;padding:36px 16px;width:100%;max-width:582px}.header{margin:24px 0}.input-wrapper{display:flex;flex-direction:column;gap:8px}.label{color:#4b5563;font-weight:600;font-size:.875rem;line-height:1.25rem}.text-input{outline:2px none #2563eb;outline-offset:-1px;border:1px solid #9ca3af;border-radius:4px;padding:8px 12px;font-size:.875rem;line-height:1.25rem;&::placeholder{color:#9ca3af}&:focus{outline-style:solid}}.alert{border:1px solid #fca5a5;border-radius:4px;background:#fee2e2;padding:10px 12px;color:#991b1b;font-weight:500;font-size:.875rem;line-height:1.25rem}.inform{border:1px solid #bfdbfe;border-radius:4px;background:#dbeafe;padding:10px 12px;color:#1e40af;font-weight:500;font-size:.875rem;line-height:1.25rem;a{color:inherit;font-weight:600}}.circular-spinner{display:block;animation:spin 1s linear infinite;margin:0 auto;width:24px;height:24px;.accented{stroke:#2563eb}.background{stroke:#2563eb;opacity:20%}}@keyframes spin{to{transform:rotate(360deg)}}.main{margin:36px 0 0}.guide{margin:36px 0 0;border-top:1px solid #d1d5db}.guide-header{margin:36px 0 16px}.guide-instructions{margin:24px 0 0;padding:0 0 0 22px;font-size:.875rem;line-height:1.25rem;li+li{margin:24px 0 0}}.code-block{display:flex;gap:12px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;padding:12px;overflow:hidden;overflow-x:auto;pre{flex-grow:1;margin:0;font-size:.75rem;line-height:1.25rem}.actions{position:sticky;top:0;right:0;button{display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;border:1px solid #d1d5db;border-radius:4px;background:#fff;padding:0;width:32px;height:32px;color:#4b5563;@media (pointer: fine){opacity:0;transition:75ms ease-in;.code-block:hover &,.code-block:focus-within &{opacity:1}&:hover{border-color:#9ca3af;background:#e5e7eb;color:#1f2937}}&:active{border-color:#9ca3af;background:#e5e7eb;color:#1f2937}}svg{width:16px;height:16px}}}.footer{display:flex;flex-wrap:wrap;gap:.5rem;margin:36px 0 0;border-top:1px solid #d1d5db;padding:36px 0 0;color:#4b5563;font-size:.875rem;line-height:1.25rem;a{color:#2563eb}}
+12
index.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 + <title>Bluesky embed</title> 7 + <script type="module" crossorigin src="/assets/index-Bf1I0Rrw.js"></script> 8 + <link rel="stylesheet" crossorigin href="/assets/index-Bqif93zQ.css"> 9 + </head> 10 + <body> 11 + </body> 12 + </html>