1"use strict";(globalThis.webpackChunkbsky_docs||=[]).push([[3249],{1319(e,t,n){n.r(t),n.d(t,{default:()=>y});n(6540);var a=n(8215),s=n(7153),i=n(8630),r=n(9101),o=n(6953),l=n(8461),c=n(3230),d=n(3555),m=n(4848);function u(e){const{nextItem:t,prevItem:n}=e;return(0,m.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,m.jsx)(d.A,{...n,subLabel:(0,m.jsx)(c.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,m.jsx)(d.A,{...t,subLabel:(0,m.jsx)(c.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}var h=n(1141);function f(){const{assets:e,metadata:t}=(0,r.e7)(),{title:n,description:a,date:i,tags:o,authors:l,frontMatter:c}=t,{keywords:d}=c,u=e.image??c.image;return(0,m.jsxs)(s.be,{title:c.title_meta??n,description:a,keywords:d,image:u,children:[(0,m.jsx)("meta",{property:"og:type",content:"article"}),(0,m.jsx)("meta",{property:"article:published_time",content:i}),l.some((e=>e.url))&&(0,m.jsx)("meta",{property:"article:author",content:l.map((e=>e.url)).filter(Boolean).join(",")}),o.length>0&&(0,m.jsx)("meta",{property:"article:tag",content:o.map((e=>e.label)).join(",")})]})}const g=["og:","article:","fb:","profile:"],p=e=>g.some((t=>e.startsWith(t)));function x(e){const{metadata:t}=(0,r.e7)(),n=function(e,t){if(null==e)return[];const n=`blog post "${t}"`;if("object"!=typeof e||Array.isArray(e))throw new Error(`${n}: front-matter "head_meta" must be a map of tag name to content, got ${Array.isArray(e)?"a list":typeof e}.`);return Object.entries(e).map((([e,t])=>{if("string"!=typeof t)throw new Error(`${n}: front-matter "head_meta.${e}" must be a string, got ${typeof t}. Quote the value if YAML is parsing it as a number or boolean.`);if(""===e.trim())throw new Error(`${n}: front-matter "head_meta" has an empty tag name.`);return{key:e,content:t,attribute:p(e)?"property":"name"}}))}(t.frontMatter.head_meta,t.id??t.permalink);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(f,{...e}),n.length>0&&(0,m.jsx)(h.A,{children:n.map((({key:e,content:t,attribute:n})=>"property"===n?(0,m.jsx)("meta",{property:e,content:t},e):(0,m.jsx)("meta",{name:e,content:t},e)))})]})}function v(){const e=(0,r.J_)();return(0,m.jsx)(h.A,{children:(0,m.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var b=n(8793),j=n(4692);function A({sidebar:e,children:t}){const{metadata:n,toc:a}=(0,r.e7)(),{nextItem:s,prevItem:i,frontMatter:c}=n,{hide_table_of_contents:d,toc_min_heading_level:h,toc_max_heading_level:f}=c;return(0,m.jsxs)(o.A,{sidebar:e,toc:!d&&a.length>0?(0,m.jsx)(b.A,{toc:a,minHeadingLevel:h,maxHeadingLevel:f}):void 0,children:[(0,m.jsx)(j.A,{metadata:n}),(0,m.jsx)(l.A,{children:t}),(s||i)&&(0,m.jsx)(u,{nextItem:s,prevItem:i})]})}function y(e){const t=e.content;return(0,m.jsx)(r.in,{content:e.content,isBlogPostPage:!0,children:(0,m.jsxs)(s.e3,{className:(0,a.A)(i.G.wrapper.blogPages,i.G.page.blogPostPage),children:[(0,m.jsx)(x,{}),(0,m.jsx)(v,{}),(0,m.jsx)(A,{sidebar:e.sidebar,children:(0,m.jsx)(t,{})})]})})}},4692(e,t,n){n.d(t,{A:()=>x});n(6540);var a=n(8215),s=n(3230),i=n(1141),r=n(4848);function o(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function m(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var u=n(8630),h=n(4182);function f({className:e}){return(0,r.jsx)(h.A,{type:"caution",title:(0,r.jsx)(d,{}),className:(0,a.A)(e,u.G.common.draftBanner),children:(0,r.jsx)(m,{})})}function g({className:e}){return(0,r.jsx)(h.A,{type:"caution",title:(0,r.jsx)(o,{}),className:(0,a.A)(e,u.G.common.unlistedBanner),children:(0,r.jsx)(l,{})})}function p(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(g,{...e})]})}function x({metadata:e}){const{unlisted:t,frontMatter:n}=e;return(0,r.jsxs)(r.Fragment,{children:[(t||n.unlisted)&&(0,r.jsx)(p,{}),n.draft&&(0,r.jsx)(f,{})]})}},8793(e,t,n){n.d(t,{A:()=>
1o});n(6540);var a=n(8215),s=n(1507);const i="tableOfContents_bqdL";var r=n(4848);function o({className:e,...t}){return(0,r.jsx)("div",{className:(0,a.A)(i,"thin-scrollbar",e),children:(0,r.jsx)(s.A,{...t,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},1507(e,t,n){n.d(t,{A:()=>g});var a=n(6540),s=n(6957);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):a.push(s)})),a}function r({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return e.flatMap((e=>{const a=r({toc:e.children,minHeadingLevel:t,maxHeadingLevel:n});return function(e){return e.level>=t&&e.level<=n}(e)?[{...e,children:a}]:a}))}function o(e){const t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}function l(e,{anchorTopOffset:t}){const n=e.find((e=>o(e).top>=t));if(n){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(o(n))?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,s.p)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,a.useRef)(void 0),n=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:s,minHeadingLevel:i,maxHeadingLevel:r}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),o=function({minHeadingLevel:e,maxHeadingLevel:t}){const n=[];for(let a=e;a<=t;a+=1)n.push(`h${a}
1.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:i,maxHeadingLevel:r}),c=l(o,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(s),e.classList.add(s),t.current=e):e.classList.remove(s)}(e,e===d)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}var m=n(4783),u=n(4848);function h({toc:e,className:t,linkClassName:n,isChild:a}){return e.length?(0,u.jsx)("ul",{className:a?void 0:t,children:e.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.A,{to:`#${e.id}`,className:n??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(h,{isChild:!0,toc:e.children,className:t,linkClassName:n})]},e.id)))}):null}const f=a.memo(h);function g({toc:e,className:t="table-of-contents table-of-contents__left-border",linkClassName:n="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:c,...m}){const h=(0,s.p)(),g=l??h.tableOfContents.minHeadingLevel,p=c??h.tableOfContents.maxHeadingLevel,x=function({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return(0,a.useMemo)((()=>r({toc:i(e),minHeadingLevel:t,maxHeadingLevel:n})),[e,t,n])}({toc:e,minHeadingLevel:g,maxHeadingLevel:p});return d((0,a.useMemo)((()=>{if(n&&o)return{linkClassName:n,linkActiveClassName:o,minHeadingLevel:g,maxHeadingLevel:p}}),[n,o,g,p])),(0,u.jsx)(f,{toc:x,className:t,linkClassName:n,...m})}},5506(e,t,n){n.d(t,{A:()=>o});n(6540);var a=n(53),s=n(9101),i=n(8484),r=n(4848);function o(e){const{isBlogPostPage:t,metadata:n}=(0,s.e7)();return t?(0,r.jsx)(i.A,{...e}):(0,r.jsx)("div",{className:(0,a.A)("markdown","bpsBlogSummary",e.className),children:(0,r.jsx)("p",{children:n.description})})}},7561(e,t,n){n.d(t,{A:()=>c});n(6540);var a=n(9101),s=n(3665),i=n(7909),r=n(4783),o=n(4848);function l(){const{metadata:{authors:e}}=(0,a.e7)();return e&&0!==e.length?(0,o.jsx)("div",{className:"bpsBlogByline",children:e.map(((e,t)=>(0,o.jsxs)("div",{className:"bpsBlogBylineAuthor",children:[(0,o.jsx)("span",{className:"bpsBlogBylineName",children:e.url?(0,o.jsx)(r.A,{href:e.url,children:e.name}):e.name}),e.title&&(0,o.jsx)("span",{className:"bpsBlogBylineTitle",children:e.title})]},e.key??t)))}):null}function c(){const{isBlogPostPage:e}=(0,a.e7)();return(0,o.jsxs)("header",{className:"bpsBlogHeader",children:[(0,o.jsx)(s.A,{className:"bpsBlogTitle"}),(0,o.jsx)(i.A,{className:"bpsBlogInfo"}),e&&(0,o.jsx)(l,{})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.