From 2d0d0daaee3f7ee554d10f620849e4e05ecb0a81 Mon Sep 17 00:00:00 2001 From: robertgendler Date: Mon, 5 Jan 2026 18:26:45 +0000 Subject: [PATCH] deploy: 045f7758f99e504593a95abc0b9f13bdae2fe2f7 --- 404.html | 36 +- ...stro_type_script_index_0_lang.CfYcGagN.js} | 2 +- _astro/index.D3YRm-Dj.css | 1 + _astro/index.z4HaydKp.css | 1 - ...i-core.Bc4QPfeb.js => ui-core.CK7w4eC0.js} | 2 +- baselines/baseline-file-layout/index.html | 131 ++++-- .../how-to-generate-baselines/index.html | 152 ++++--- baselines/tailoring-a-baseline/index.html | 162 ++++--- baselines/what-are-baselines/index.html | 272 +++++++----- .../compliance-script-layout/index.html | 201 ++++++--- .../index.html | 172 +++++--- .../what-are-compliance-scripts/index.html | 130 +++++- .../configuration-profile-layout/index.html | 223 +++++++--- .../index.html | 175 +++++--- .../index.html | 128 ++++-- .../ddm-component-layout/index.html | 197 +++++---- .../how-to-generate-ddm-components/index.html | 100 +++-- ddm-components/what-is-ddm/index.html | 168 ++++++-- guidance/guidance-file-example/index.html | 101 ++++- guidance/how-to-generate-guidance/index.html | 227 ++++++---- guidance/what-is-guidance/index.html | 130 +++++- index.html | 100 ++++- .../additional-documents/index.html | 103 +++-- more-information/contributing/index.html | 153 +++++-- more-information/faq/index.html | 42 +- more-information/resources/index.html | 64 ++- .../vendor-attribution/index.html | 163 +++++-- mscp-2/overview/index.html | 282 ++++++++++++ other/generate-mapping/index.html | 139 ++++-- other/generate-scap/index.html | 170 ++++++-- pagefind/fragment/en_056e9e9.pf_fragment | Bin 1220 -> 0 bytes pagefind/fragment/en_0ca8648.pf_fragment | Bin 1708 -> 0 bytes pagefind/fragment/en_17bb328.pf_fragment | Bin 643 -> 0 bytes pagefind/fragment/en_1870e9d.pf_fragment | Bin 441 -> 0 bytes pagefind/fragment/en_1a82eb7.pf_fragment | Bin 1119 -> 0 bytes pagefind/fragment/en_21a72db.pf_fragment | Bin 1467 -> 0 bytes pagefind/fragment/en_2271608.pf_fragment | Bin 810 -> 0 bytes pagefind/fragment/en_295d818.pf_fragment | Bin 1073 -> 0 bytes pagefind/fragment/en_298df4a.pf_fragment | Bin 0 -> 1446 bytes pagefind/fragment/en_2f8b2ed.pf_fragment | Bin 1077 -> 0 bytes pagefind/fragment/en_35e3782.pf_fragment | Bin 1337 -> 0 bytes pagefind/fragment/en_35f40da.pf_fragment | Bin 0 -> 1277 bytes pagefind/fragment/en_3a689e2.pf_fragment | Bin 0 -> 2065 bytes pagefind/fragment/en_3ef45df.pf_fragment | Bin 0 -> 945 bytes pagefind/fragment/en_3fc8778.pf_fragment | Bin 0 -> 2379 bytes pagefind/fragment/en_43ada8f.pf_fragment | Bin 995 -> 0 bytes pagefind/fragment/en_451f92a.pf_fragment | Bin 0 -> 848 bytes pagefind/fragment/en_46ab284.pf_fragment | Bin 0 -> 2095 bytes pagefind/fragment/en_4e55426.pf_fragment | Bin 0 -> 919 bytes pagefind/fragment/en_4ff2902.pf_fragment | Bin 984 -> 0 bytes pagefind/fragment/en_509f847.pf_fragment | Bin 0 -> 878 bytes pagefind/fragment/en_54c397d.pf_fragment | Bin 886 -> 0 bytes pagefind/fragment/en_595377e.pf_fragment | Bin 0 -> 1532 bytes pagefind/fragment/en_5f2a83b.pf_fragment | Bin 0 -> 723 bytes pagefind/fragment/en_68f0754.pf_fragment | Bin 337 -> 0 bytes pagefind/fragment/en_6978570.pf_fragment | Bin 1421 -> 0 bytes pagefind/fragment/en_6bd9528.pf_fragment | Bin 0 -> 1413 bytes pagefind/fragment/en_71ce441.pf_fragment | Bin 926 -> 0 bytes pagefind/fragment/en_776faa7.pf_fragment | Bin 0 -> 1265 bytes pagefind/fragment/en_7ba49c4.pf_fragment | Bin 0 -> 1514 bytes pagefind/fragment/en_8029322.pf_fragment | Bin 576 -> 0 bytes pagefind/fragment/en_805b596.pf_fragment | Bin 896 -> 0 bytes pagefind/fragment/en_8eb66ec.pf_fragment | Bin 0 -> 1411 bytes pagefind/fragment/en_8f7bf57.pf_fragment | Bin 1316 -> 0 bytes pagefind/fragment/en_8f7ce19.pf_fragment | Bin 650 -> 0 bytes pagefind/fragment/en_9767af9.pf_fragment | Bin 425 -> 0 bytes pagefind/fragment/en_976e5a9.pf_fragment | Bin 0 -> 1114 bytes pagefind/fragment/en_a234dcf.pf_fragment | Bin 2463 -> 0 bytes pagefind/fragment/en_a2b6764.pf_fragment | Bin 0 -> 1064 bytes pagefind/fragment/en_a354ce5.pf_fragment | Bin 0 -> 1271 bytes pagefind/fragment/en_a65122e.pf_fragment | Bin 1756 -> 0 bytes pagefind/fragment/en_aa4119f.pf_fragment | Bin 0 -> 1468 bytes pagefind/fragment/en_aad9442.pf_fragment | Bin 0 -> 943 bytes pagefind/fragment/en_acbfe78.pf_fragment | Bin 764 -> 0 bytes pagefind/fragment/en_b228233.pf_fragment | Bin 880 -> 0 bytes pagefind/fragment/en_b7669a8.pf_fragment | Bin 0 -> 865 bytes pagefind/fragment/en_beff183.pf_fragment | Bin 801 -> 0 bytes pagefind/fragment/en_c0b5b34.pf_fragment | Bin 0 -> 1383 bytes pagefind/fragment/en_c133ae8.pf_fragment | Bin 0 -> 1445 bytes pagefind/fragment/en_c242f66.pf_fragment | Bin 0 -> 1098 bytes pagefind/fragment/en_c4a6208.pf_fragment | Bin 1804 -> 0 bytes pagefind/fragment/en_c7572b4.pf_fragment | Bin 0 -> 1552 bytes pagefind/fragment/en_d729b1e.pf_fragment | Bin 0 -> 913 bytes pagefind/fragment/en_d81dd67.pf_fragment | Bin 0 -> 1115 bytes pagefind/fragment/en_d9fb2f1.pf_fragment | Bin 0 -> 1259 bytes pagefind/fragment/en_dd8895d.pf_fragment | Bin 0 -> 1050 bytes pagefind/fragment/en_df65666.pf_fragment | Bin 1594 -> 0 bytes pagefind/fragment/en_e25dd08.pf_fragment | Bin 1920 -> 0 bytes pagefind/fragment/en_e2b9ddf.pf_fragment | Bin 0 -> 2755 bytes pagefind/fragment/en_e5ff4f3.pf_fragment | Bin 1080 -> 0 bytes pagefind/fragment/en_e765a03.pf_fragment | Bin 0 -> 1144 bytes pagefind/fragment/en_e8bf989.pf_fragment | Bin 0 -> 1182 bytes pagefind/fragment/en_e964ca2.pf_fragment | Bin 0 -> 1085 bytes pagefind/fragment/en_eb925a9.pf_fragment | Bin 0 -> 2616 bytes pagefind/fragment/en_f365cbe.pf_fragment | Bin 1629 -> 0 bytes pagefind/fragment/en_f44439a.pf_fragment | Bin 0 -> 1224 bytes pagefind/fragment/en_f6b66ac.pf_fragment | Bin 1481 -> 0 bytes pagefind/fragment/en_fb9af7b.pf_fragment | Bin 1292 -> 0 bytes pagefind/fragment/en_fde3318.pf_fragment | Bin 0 -> 790 bytes pagefind/fragment/en_fe695e7.pf_fragment | Bin 2449 -> 0 bytes pagefind/fragment/en_ffc1f4f.pf_fragment | Bin 657 -> 0 bytes pagefind/index/en_222c145.pf_index | Bin 0 -> 33770 bytes pagefind/index/en_514887c.pf_index | Bin 0 -> 13246 bytes pagefind/index/en_556e131.pf_index | Bin 8014 -> 0 bytes pagefind/index/en_5e15fef.pf_index | Bin 34521 -> 0 bytes pagefind/pagefind-entry.json | 2 +- pagefind/pagefind.en_1b266052c7.pf_meta | Bin 0 -> 396 bytes pagefind/pagefind.en_6314f1b1e4.pf_meta | Bin 381 -> 0 bytes personalization/customize-rules/index.html | 166 ++++++-- personalization/exempting-rules/index.html | 109 +++-- personalization/tailoring-rules/index.html | 161 +++++-- repository/directory-layout/index.html | 228 +++++----- repository/includes-directory/index.html | 107 ++++- repository/rule-file-layout/index.html | 209 +++++++-- repository/script-arguments-list/index.html | 242 ++++++++--- repository/sections-file-layout/index.html | 142 +++++-- scripts/github-branch-table.js | 261 ++++++++++++ scripts/github-latest-release.js | 192 +++++++-- sitemap-0.xml | 2 +- welcome/getting-started/index.html | 138 +++--- welcome/introduction/index.html | 215 +++++++--- welcome/quick-guide/index.html | 402 +++++++++++++++++- 122 files changed, 4923 insertions(+), 1580 deletions(-) rename _astro/{Search.astro_astro_type_script_index_0_lang.Deq9_OSH.js => Search.astro_astro_type_script_index_0_lang.CfYcGagN.js} (86%) create mode 100644 _astro/index.D3YRm-Dj.css delete mode 100644 _astro/index.z4HaydKp.css rename _astro/{ui-core.Bc4QPfeb.js => ui-core.CK7w4eC0.js} (99%) create mode 100644 mscp-2/overview/index.html delete mode 100644 pagefind/fragment/en_056e9e9.pf_fragment delete mode 100644 pagefind/fragment/en_0ca8648.pf_fragment delete mode 100644 pagefind/fragment/en_17bb328.pf_fragment delete mode 100644 pagefind/fragment/en_1870e9d.pf_fragment delete mode 100644 pagefind/fragment/en_1a82eb7.pf_fragment delete mode 100644 pagefind/fragment/en_21a72db.pf_fragment delete mode 100644 pagefind/fragment/en_2271608.pf_fragment delete mode 100644 pagefind/fragment/en_295d818.pf_fragment create mode 100644 pagefind/fragment/en_298df4a.pf_fragment delete mode 100644 pagefind/fragment/en_2f8b2ed.pf_fragment delete mode 100644 pagefind/fragment/en_35e3782.pf_fragment create mode 100644 pagefind/fragment/en_35f40da.pf_fragment create mode 100644 pagefind/fragment/en_3a689e2.pf_fragment create mode 100644 pagefind/fragment/en_3ef45df.pf_fragment create mode 100644 pagefind/fragment/en_3fc8778.pf_fragment delete mode 100644 pagefind/fragment/en_43ada8f.pf_fragment create mode 100644 pagefind/fragment/en_451f92a.pf_fragment create mode 100644 pagefind/fragment/en_46ab284.pf_fragment create mode 100644 pagefind/fragment/en_4e55426.pf_fragment delete mode 100644 pagefind/fragment/en_4ff2902.pf_fragment create mode 100644 pagefind/fragment/en_509f847.pf_fragment delete mode 100644 pagefind/fragment/en_54c397d.pf_fragment create mode 100644 pagefind/fragment/en_595377e.pf_fragment create mode 100644 pagefind/fragment/en_5f2a83b.pf_fragment delete mode 100644 pagefind/fragment/en_68f0754.pf_fragment delete mode 100644 pagefind/fragment/en_6978570.pf_fragment create mode 100644 pagefind/fragment/en_6bd9528.pf_fragment delete mode 100644 pagefind/fragment/en_71ce441.pf_fragment create mode 100644 pagefind/fragment/en_776faa7.pf_fragment create mode 100644 pagefind/fragment/en_7ba49c4.pf_fragment delete mode 100644 pagefind/fragment/en_8029322.pf_fragment delete mode 100644 pagefind/fragment/en_805b596.pf_fragment create mode 100644 pagefind/fragment/en_8eb66ec.pf_fragment delete mode 100644 pagefind/fragment/en_8f7bf57.pf_fragment delete mode 100644 pagefind/fragment/en_8f7ce19.pf_fragment delete mode 100644 pagefind/fragment/en_9767af9.pf_fragment create mode 100644 pagefind/fragment/en_976e5a9.pf_fragment delete mode 100644 pagefind/fragment/en_a234dcf.pf_fragment create mode 100644 pagefind/fragment/en_a2b6764.pf_fragment create mode 100644 pagefind/fragment/en_a354ce5.pf_fragment delete mode 100644 pagefind/fragment/en_a65122e.pf_fragment create mode 100644 pagefind/fragment/en_aa4119f.pf_fragment create mode 100644 pagefind/fragment/en_aad9442.pf_fragment delete mode 100644 pagefind/fragment/en_acbfe78.pf_fragment delete mode 100644 pagefind/fragment/en_b228233.pf_fragment create mode 100644 pagefind/fragment/en_b7669a8.pf_fragment delete mode 100644 pagefind/fragment/en_beff183.pf_fragment create mode 100644 pagefind/fragment/en_c0b5b34.pf_fragment create mode 100644 pagefind/fragment/en_c133ae8.pf_fragment create mode 100644 pagefind/fragment/en_c242f66.pf_fragment delete mode 100644 pagefind/fragment/en_c4a6208.pf_fragment create mode 100644 pagefind/fragment/en_c7572b4.pf_fragment create mode 100644 pagefind/fragment/en_d729b1e.pf_fragment create mode 100644 pagefind/fragment/en_d81dd67.pf_fragment create mode 100644 pagefind/fragment/en_d9fb2f1.pf_fragment create mode 100644 pagefind/fragment/en_dd8895d.pf_fragment delete mode 100644 pagefind/fragment/en_df65666.pf_fragment delete mode 100644 pagefind/fragment/en_e25dd08.pf_fragment create mode 100644 pagefind/fragment/en_e2b9ddf.pf_fragment delete mode 100644 pagefind/fragment/en_e5ff4f3.pf_fragment create mode 100644 pagefind/fragment/en_e765a03.pf_fragment create mode 100644 pagefind/fragment/en_e8bf989.pf_fragment create mode 100644 pagefind/fragment/en_e964ca2.pf_fragment create mode 100644 pagefind/fragment/en_eb925a9.pf_fragment delete mode 100644 pagefind/fragment/en_f365cbe.pf_fragment create mode 100644 pagefind/fragment/en_f44439a.pf_fragment delete mode 100644 pagefind/fragment/en_f6b66ac.pf_fragment delete mode 100644 pagefind/fragment/en_fb9af7b.pf_fragment create mode 100644 pagefind/fragment/en_fde3318.pf_fragment delete mode 100644 pagefind/fragment/en_fe695e7.pf_fragment delete mode 100644 pagefind/fragment/en_ffc1f4f.pf_fragment create mode 100644 pagefind/index/en_222c145.pf_index create mode 100644 pagefind/index/en_514887c.pf_index delete mode 100644 pagefind/index/en_556e131.pf_index delete mode 100644 pagefind/index/en_5e15fef.pf_index create mode 100644 pagefind/pagefind.en_1b266052c7.pf_meta delete mode 100644 pagefind/pagefind.en_6314f1b1e4.pf_meta create mode 100644 scripts/github-branch-table.js diff --git a/404.html b/404.html index 404ab48b..bf8d807d 100644 --- a/404.html +++ b/404.html @@ -1,4 +1,4 @@ - | mSCP - Skip to content
Skip to content

404 – You're Lost!

Looks like you wandered off the path of greatness into a no man's land.
-Find your way back to the best macOS compliance project ever! -
\ No newline at end of file +

404 – You're Lost!

Looks like you wandered off the secure path into uncharted territory.
+Don't worry, even the best sysadmins take a wrong turn sometimes! +
+

$ cd /correct/path
+-bash: /correct/path: No such file or directory

+ +

“In a world of vulnerabilities, a 404 is the least of your worries.”

\ No newline at end of file diff --git a/_astro/Search.astro_astro_type_script_index_0_lang.Deq9_OSH.js b/_astro/Search.astro_astro_type_script_index_0_lang.CfYcGagN.js similarity index 86% rename from _astro/Search.astro_astro_type_script_index_0_lang.Deq9_OSH.js rename to _astro/Search.astro_astro_type_script_index_0_lang.CfYcGagN.js index 9681ca66..7620c0d5 100644 --- a/_astro/Search.astro_astro_type_script_index_0_lang.Deq9_OSH.js +++ b/_astro/Search.astro_astro_type_script_index_0_lang.CfYcGagN.js @@ -1 +1 @@ -const y="modulepreload",w=function(f){return"/macos_security/"+f},g={},S=function(m,c,l){let h=Promise.resolve();if(c&&c.length>0){let o=function(n){return Promise.all(n.map(a=>Promise.resolve(a).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))};document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),u=t?.nonce||t?.getAttribute("nonce");h=o(c.map(n=>{if(n=w(n),n in g)return;g[n]=!0;const a=n.endsWith(".css"),r=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${r}`))return;const e=document.createElement("link");if(e.rel=a?"stylesheet":y,a||(e.as="script"),e.crossOrigin="",e.href=n,u&&e.setAttribute("nonce",u),document.head.appendChild(e),a)return new Promise((i,s)=>{e.addEventListener("load",i),e.addEventListener("error",()=>s(new Error(`Unable to preload CSS for ${n}`)))})}))}function d(o){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=o,window.dispatchEvent(t),!t.defaultPrevented)throw o}return h.then(o=>{for(const t of o||[])t.status==="rejected"&&d(t.reason);return m().catch(d)})},E={ranking:{pageLength:.1,termFrequency:.1,termSaturation:2,termSimilarity:9}};class v extends HTMLElement{constructor(){super();const m=this.querySelector("button[data-open-modal]"),c=this.querySelector("button[data-close-modal]"),l=this.querySelector("dialog"),h=this.querySelector(".dialog-frame"),d=e=>{("href"in(e.target||{})||document.body.contains(e.target)&&!h.contains(e.target))&&t()},o=e=>{l.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),e?.stopPropagation(),window.addEventListener("click",d)},t=()=>l.close();m.addEventListener("click",o),m.disabled=!1,c.addEventListener("click",t),l.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",d)}),window.addEventListener("keydown",e=>{(e.metaKey===!0||e.ctrlKey===!0)&&e.key==="k"&&(l.open?t():o(),e.preventDefault())});let u={};try{u=JSON.parse(this.dataset.translations||"{}")}catch{}const r=this.dataset.stripTrailingSlash!==void 0?e=>e.replace(/(.)\/(#.*)?$/,"$1$2"):e=>e;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(i=>setTimeout(i,1)))(async()=>{const{PagefindUI:i}=await S(async()=>{const{PagefindUI:s}=await import("./ui-core.Bc4QPfeb.js");return{PagefindUI:s}},[]);new i({...E,element:"#starlight__search",baseUrl:"/macos_security",bundlePath:"/macos_security".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:u,showSubResults:!0,processResult:s=>{s.url=r(s.url),s.sub_results=s.sub_results.map(p=>(p.url=r(p.url),p))}})})})}}customElements.define("site-search",v);export{S as _}; +const y="modulepreload",w=function(f){return"/macos_security/"+f},g={},S=function(m,c,l){let h=Promise.resolve();if(c&&c.length>0){let o=function(n){return Promise.all(n.map(a=>Promise.resolve(a).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))};document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),u=t?.nonce||t?.getAttribute("nonce");h=o(c.map(n=>{if(n=w(n),n in g)return;g[n]=!0;const a=n.endsWith(".css"),r=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${r}`))return;const e=document.createElement("link");if(e.rel=a?"stylesheet":y,a||(e.as="script"),e.crossOrigin="",e.href=n,u&&e.setAttribute("nonce",u),document.head.appendChild(e),a)return new Promise((i,s)=>{e.addEventListener("load",i),e.addEventListener("error",()=>s(new Error(`Unable to preload CSS for ${n}`)))})}))}function d(o){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=o,window.dispatchEvent(t),!t.defaultPrevented)throw o}return h.then(o=>{for(const t of o||[])t.status==="rejected"&&d(t.reason);return m().catch(d)})},E={ranking:{pageLength:.1,termFrequency:.1,termSaturation:2,termSimilarity:9}};class v extends HTMLElement{constructor(){super();const m=this.querySelector("button[data-open-modal]"),c=this.querySelector("button[data-close-modal]"),l=this.querySelector("dialog"),h=this.querySelector(".dialog-frame"),d=e=>{("href"in(e.target||{})||document.body.contains(e.target)&&!h.contains(e.target))&&t()},o=e=>{l.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),e?.stopPropagation(),window.addEventListener("click",d)},t=()=>l.close();m.addEventListener("click",o),m.disabled=!1,c.addEventListener("click",t),l.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",d)}),window.addEventListener("keydown",e=>{(e.metaKey===!0||e.ctrlKey===!0)&&e.key==="k"&&(l.open?t():o(),e.preventDefault())});let u={};try{u=JSON.parse(this.dataset.translations||"{}")}catch{}const r=this.dataset.stripTrailingSlash!==void 0?e=>e.replace(/(.)\/(#.*)?$/,"$1$2"):e=>e;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(i=>setTimeout(i,1)))(async()=>{const{PagefindUI:i}=await S(async()=>{const{PagefindUI:s}=await import("./ui-core.CK7w4eC0.js");return{PagefindUI:s}},[]);new i({...E,element:"#starlight__search",baseUrl:"/macos_security/",bundlePath:"/macos_security/".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:u,showSubResults:!0,processResult:s=>{s.url=r(s.url),s.sub_results=s.sub_results.map(p=>(p.url=r(p.url),p))}})})})}}customElements.define("site-search",v);export{S as _}; diff --git a/_astro/index.D3YRm-Dj.css b/_astro/index.D3YRm-Dj.css new file mode 100644 index 00000000..7cc1bceb --- /dev/null +++ b/_astro/index.D3YRm-Dj.css @@ -0,0 +1 @@ +:root{--sl-color-accent: rgb(49, 100, 49)}:root[data-theme=dark]{--sl-color-accent-high: #6ab549 !important}#nistheadergoeshere{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%}#nistfootergoeshere{position:relative;z-index:0;margin-top:50px}.header{#position: fixed;top:40px;left:0;width:100%}.expressive-code .header{position:static!important;top:unset!important;left:unset!important;width:unset!important}.sidebar-content,.right-sidebar-content,.right-sidebar-panel{margin-top:45px}#starlight__on-this-page--mobile{margin-top:40px}body{margin-top:30px}body:has(.sl-banner){margin-top:40px}sl-anchor-link,.sl-heading-wrapper,.sl-heading-wrapper h1,.sl-heading-wrapper h2,.sl-heading-wrapper h3,.sl-heading-wrapper h4,.sl-heading-wrapper h5,.sl-heading-wrapper h6{scroll-margin-top:30px}@media(max-width:50rem){@layer starlight.core{starlight-menu-button>button{position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2 + 40px);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar)}}}.site-title{transition:transform .2s ease,color .2s ease}.site-title:hover{color:#6ab549;cursor:pointer;transform:translateY(-4px)}:root[data-theme=dark] .site-title:hover{color:#316431}.feature-box{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-box:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000026;border-color:var(--sl-color-accent)!important}.hero img,.hero>.hero-html{object-fit:contain;width:min(90%,32rem);height:auto;margin-inline:auto;transform:rotate(12deg) scale(1.05);transition:all .3s}.hero img:hover,.hero>.hero-html:hover{transform:rotate(-5deg) scale(1.12)}:root:not([data-theme=dark]) .hero img{filter:drop-shadow(0 0 16px #7ed957) brightness(1.1)}:root[data-theme=dark] .hero img{filter:drop-shadow(0 0 16px #236c2b) brightness(1.1)}:root:not([data-theme=dark]){--hero-btn-bg: #236c2b;--hero-btn-color: #fff}:root[data-theme=dark]{--hero-btn-bg: #236c2b;--hero-btn-color: #fff}.hero .Button{background:var(--hero-btn-bg, #7ed957);color:var(--hero-btn-color, #222);border:none;padding:.75em 1.5em;border-radius:.5em;font-weight:700;cursor:pointer;transition:background .3s,color .3s}.hero .Button:hover{background:var(--hero-btn-color, #222);color:var(--hero-btn-bg, #7ed957)}.hero .sl-link-button.primary:hover{color:var(--hero-primary-hover)}.hero .sl-link-button.secondary:hover,.hero .sl-link-button.minimal:hover{color:var(--hero-link-color)}:root:not([data-theme=dark]) .hero .sl-link-button.minimal:hover{text-shadow:0 0 8px #fff,0 0 16px #7ed957}.hero .sl-link-button.primary,.hero .sl-link-button.secondary{background:var(--hero-btn-bg);color:var(--hero-btn-color);border:none}.card{background:transparent!important;border:1px solid var(--sl-color-gray-6, #eee)!important;border-radius:8px!important;box-shadow:none!important}[data-theme=dark] .card{background:transparent!important;border-color:var(--sl-color-gray-5, #2a2d35)!important}.card:hover{border-color:var(--sl-color-accent)!important}.howto-link-list{list-style:none;padding:0;margin:0}.howto-link-list li{border-bottom:1px solid var(--sl-color-gray-6);padding:.25rem 0;margin:0}.howto-link-list li:last-child{border-bottom:none}.howto-link-list a{display:flex;justify-content:space-between;align-items:center;text-decoration:none}.howto-link-list .arrow{display:inline-block;width:1rem;height:1rem;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");mask-size:100%;-webkit-mask-size:100%}@media(max-width:600px){.hero img,.hero>.hero-html{width:85vw;max-width:20rem;padding:3rem 1rem 1rem}}@layer starlight.base,starlight.reset,starlight.core,starlight.content,starlight.components,starlight.utils;@layer starlight.base{:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}}@layer starlight.reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.components{.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}}@layer starlight.utils{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media(min-width:50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media(min-width:72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size: .8275em;--sl-anchor-icon-gap: .25em;--sl-anchor-icon-space: calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+:is(.sl-heading-wrapper){margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child{display:inline;padding-inline-end:var(--sl-anchor-icon-space)}.sl-markdown-content .sl-anchor-link{position:relative;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));-webkit-user-select:none;user-select:none;display:inline-flex}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{display:inline;width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2))}@media(hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}}@layer starlight.core{.sl-banner:where(.astro-u6unj3ew){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-u6unj3ew) a{color:var(--__sl-banner-text)}}@layer starlight.core{.content-panel:where(.astro-6sjbqs6w){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-6sjbqs6w)+.content-panel:where(.astro-6sjbqs6w){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-6sjbqs6w){max-width:var(--sl-content-width)}.sl-container:where(.astro-6sjbqs6w)>*+*{margin-top:1.5rem}@media(min-width:72rem){.sl-container:where(.astro-6sjbqs6w){margin-inline:var(--sl-content-margin-inline, auto)}}}@layer starlight.core{p:where(.astro-esar2rij){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}}@layer starlight.core{a:where(.astro-fpqcvnof){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-fpqcvnof):hover{color:var(--sl-color-white)}}@layer starlight.core{.pagination-links:where(.astro-ydbi245g){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-ydbi245g){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-ydbi245g)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-ydbi245g):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-ydbi245g){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-ydbi245g){flex-shrink:0}}@layer starlight.core{footer:where(.astro-zhirzfhv){flex-direction:column;gap:1.5rem}.meta:where(.astro-zhirzfhv){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-zhirzfhv)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-zhirzfhv){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-zhirzfhv):hover{color:var(--sl-color-white)}}@layer starlight.components{.kudos:where(.astro-zhirzfhv) svg{color:var(--sl-color-orange)}}@layer starlight.core{label:where(.astro-454sspmo){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-454sspmo):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-454sspmo){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}select:where(.astro-454sspmo){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-454sspmo){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media(min-width:50rem){select:where(.astro-454sspmo){font-size:var(--sl-text-sm)}}}@layer starlight.components{.label-icon:where(.astro-454sspmo){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-454sspmo){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.core{.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}}@layer starlight.core{[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-of-type:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}#starlight__search .pagefind-ui__filter-value:before{border-color:var(--sl-color-text-invert)}#starlight__search .pagefind-ui__result-tags{background-color:var(--sl-color-black);margin-top:0;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end)}}@layer starlight.core{site-search:where(.astro-rajy6ck4){display:contents}button:where(.astro-rajy6ck4)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media(min-width:50rem){button:where(.astro-rajy6ck4)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-rajy6ck4)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-rajy6ck4)[data-open-modal]>:where(.astro-rajy6ck4):last-child{margin-inline-start:auto}}button:where(.astro-rajy6ck4)>kbd:where(.astro-rajy6ck4){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-rajy6ck4){font-family:var(--__sl-font)}dialog:where(.astro-rajy6ck4){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-rajy6ck4)[open]{display:flex}dialog:where(.astro-rajy6ck4)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-rajy6ck4){position:relative;overflow:auto;flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-rajy6ck4)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-rajy6ck4){--pagefind-ui-primary: var(--sl-color-text);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--pagefind-ui-tag: var(--sl-color-gray-5);--sl-search-cancel-space: 5rem}:root[data-theme=light] #starlight__search:where(.astro-rajy6ck4){--pagefind-ui-tag: var(--sl-color-gray-6)}@media(min-width:50rem){#starlight__search:where(.astro-rajy6ck4){--sl-search-cancel-space: 0px}dialog:where(.astro-rajy6ck4){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-rajy6ck4){padding:1.5rem}}}@layer starlight.core{.site-title:where(.astro-h6wl7yqc){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap;min-width:0}span:where(.astro-h6wl7yqc){overflow:hidden}img:where(.astro-h6wl7yqc){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}}@layer starlight.core{a:where(.astro-nhuv3l6n){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-nhuv3l6n):hover{opacity:.66}}@layer starlight.core{.header:where(.astro-tbpgveg7){display:flex;gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-tbpgveg7){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0}.right-group:where(.astro-tbpgveg7),.social-icons:where(.astro-tbpgveg7){gap:1rem;align-items:center}.social-icons:where(.astro-tbpgveg7):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media(min-width:50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-tbpgveg7){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}}@layer starlight.core{.hero:where(.astro-cz3yetvz){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-cz3yetvz)>img:where(.astro-cz3yetvz),.hero:where(.astro-cz3yetvz)>.hero-html:where(.astro-cz3yetvz){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-cz3yetvz){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-cz3yetvz){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-cz3yetvz)>:where(.astro-cz3yetvz){max-width:50ch}h1:where(.astro-cz3yetvz){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-cz3yetvz){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-cz3yetvz){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media(min-width:50rem){.hero:where(.astro-cz3yetvz){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-cz3yetvz)>img:where(.astro-cz3yetvz),.hero:where(.astro-cz3yetvz)>.hero-html:where(.astro-cz3yetvz){order:2;width:min(100%,25rem)}.stack:where(.astro-cz3yetvz){text-align:start}.copy:where(.astro-cz3yetvz){align-items:flex-start}.actions:where(.astro-cz3yetvz){justify-content:flex-start}}}@layer starlight.content{.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)){margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:is(:last-child:not(li,ul,ol,a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}}@layer starlight.core{[data-mobile-menu-expanded]{overflow:hidden}@media(min-width:50rem){[data-mobile-menu-expanded]{overflow:auto}}}@layer starlight.core{button:where(.astro-mcucnll3){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-mcucnll3)[aria-expanded=true] button:where(.astro-mcucnll3){background-color:var(--sl-color-gray-2);box-shadow:none}:where(.astro-mcucnll3)[aria-expanded=true] button:where(.astro-mcucnll3) .open-menu:where(.astro-mcucnll3){display:none}:where(.astro-mcucnll3):not([aria-expanded=true]) button:where(.astro-mcucnll3) .close-menu:where(.astro-mcucnll3){display:none}[data-theme=light] button:where(.astro-mcucnll3){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-mcucnll3)[aria-expanded=true] button:where(.astro-mcucnll3){background-color:var(--sl-color-gray-5)}}@layer starlight.core{.page:where(.astro-lali7uwj){flex-direction:column;min-height:100vh}.header:where(.astro-lali7uwj){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-lali7uwj){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-lali7uwj){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-lali7uwj){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-lali7uwj){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media(min-width:50rem){.sidebar-content:where(.astro-lali7uwj):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-lali7uwj){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media(min-width:50rem){[data-has-sidebar] .header:where(.astro-lali7uwj){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-lali7uwj){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}}@layer starlight.core{ul:where(.astro-7go6ctqh){padding:0;list-style:none}a:where(.astro-7go6ctqh){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-7go6ctqh)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-7go6ctqh) a:where(.astro-7go6ctqh){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-7go6ctqh):first-child>li:where(.astro-7go6ctqh):first-child>a:where(.astro-7go6ctqh){border-top:0}.isMobile:where(.astro-7go6ctqh) a:where(.astro-7go6ctqh)[aria-current=true],.isMobile:where(.astro-7go6ctqh) a:where(.astro-7go6ctqh)[aria-current=true]:hover,.isMobile:where(.astro-7go6ctqh) a:where(.astro-7go6ctqh)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-7go6ctqh) a:where(.astro-7go6ctqh)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}}@layer starlight.core{nav:where(.astro-jbmuff33){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media(min-width:50rem){nav:where(.astro-jbmuff33){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-jbmuff33){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-jbmuff33)::marker,summary:where(.astro-jbmuff33)::-webkit-details-marker{display:none}.toggle:where(.astro-jbmuff33){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-jbmuff33)[open] .toggle:where(.astro-jbmuff33){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-jbmuff33) .toggle:where(.astro-jbmuff33):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-jbmuff33){transform:rotate(180deg)}details:where(.astro-jbmuff33)[open] .caret:where(.astro-jbmuff33){transform:rotate(90deg)}.display-current:where(.astro-jbmuff33){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-jbmuff33){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}}@layer starlight.core{.right-sidebar-panel:where(.astro-th3hpmvy){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-th3hpmvy){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-th3hpmvy) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-th3hpmvy) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-th3hpmvy) :where(a):hover{color:var(--sl-color-white)}@media(min-width:72rem){.sl-container:where(.astro-th3hpmvy){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}}@layer starlight.core{h1:where(.astro-hdf2p2uo){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}}@layer starlight.core{.social-icons:where(.astro-64fw4t22){display:flex;margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-64fw4t22):empty{display:none}.mobile-preferences:where(.astro-64fw4t22){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}}@layer starlight.core{sl-sidebar-state-persist:where(.astro-ajgtkles){display:contents}}@layer starlight.core{ul:where(.astro-btgen76i){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-btgen76i){overflow-wrap:anywhere}ul:where(.astro-btgen76i) ul:where(.astro-btgen76i) li:where(.astro-btgen76i){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-btgen76i){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-btgen76i)>li:where(.astro-btgen76i)+li:where(.astro-btgen76i){margin-top:.75rem}summary:where(.astro-btgen76i){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;user-select:none}summary:where(.astro-btgen76i)::marker,summary:where(.astro-btgen76i)::-webkit-details-marker{display:none}.caret:where(.astro-btgen76i){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-btgen76i){transform:rotate(180deg)}:where(.astro-btgen76i)[open]>summary:where(.astro-btgen76i) .caret:where(.astro-btgen76i){transform:rotate(90deg)}a:where(.astro-btgen76i){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-btgen76i):hover,a:where(.astro-btgen76i):focus{color:var(--sl-color-white)}:where(.astro-btgen76i)[aria-current=page],:where(.astro-btgen76i)[aria-current=page]:hover,:where(.astro-btgen76i)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-btgen76i)>:where(.astro-btgen76i):not(:last-child),.group-label:where(.astro-btgen76i)>:where(.astro-btgen76i):not(:last-child){margin-inline-end:.25em}@media(min-width:50rem){.top-level:where(.astro-btgen76i)>li:where(.astro-btgen76i)+li:where(.astro-btgen76i){margin-top:.5rem}.large:where(.astro-btgen76i){font-size:var(--sl-text-base)}a:where(.astro-btgen76i){font-size:var(--sl-text-sm)}}}@layer starlight.core{a:where(.astro-hw5omozx){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-hw5omozx):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}}@layer starlight.core{.main-pane:where(.astro-rjdbonso){isolation:isolate}@media(min-width:72rem){.right-sidebar-container:where(.astro-rjdbonso){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-rjdbonso){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-rjdbonso){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-rjdbonso){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-st3ix2q2){padding:var(--sl-main-pad)}@media(min-width:50em){:where(.astro-st3ix2q2)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media(min-width:72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/_astro/index.z4HaydKp.css b/_astro/index.z4HaydKp.css deleted file mode 100644 index d84b7bef..00000000 --- a/_astro/index.z4HaydKp.css +++ /dev/null @@ -1 +0,0 @@ -:root{--sl-color-accent: rgb(49, 100, 49)}:root[data-theme=dark]{--sl-color-accent-high: #6ab549 !important}#nistheadergoeshere{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%}#nistfootergoeshere{position:relative;z-index:0;margin-top:50px}.header{#position: fixed;top:40px;left:0;width:100%}.expressive-code .header{position:static!important;top:unset!important;left:unset!important;width:unset!important}.sidebar-content,.right-sidebar-content,.right-sidebar-panel{margin-top:45px}#starlight__on-this-page--mobile{margin-top:40px}body{margin-top:30px}body:has(.sl-banner){margin-top:40px}sl-anchor-link,.sl-heading-wrapper,.sl-heading-wrapper h1,.sl-heading-wrapper h2,.sl-heading-wrapper h3,.sl-heading-wrapper h4,.sl-heading-wrapper h5,.sl-heading-wrapper h6{scroll-margin-top:30px}@media(max-width:50rem){@layer starlight.core{starlight-menu-button>button{position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2 + 40px);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar)}}}.site-title{transition:transform .2s ease,color .2s ease}.site-title:hover{color:#6ab549;cursor:pointer;transform:translateY(-4px)}:root[data-theme=dark] .site-title:hover{color:#316431}.hero img,.hero>.hero-html{object-fit:contain;width:min(90%,32rem);height:auto;margin-inline:auto;transform:rotate(12deg) scale(1.05);transition:all .3s}.hero img:hover,.hero>.hero-html:hover{transform:rotate(-5deg) scale(1.12)}:root:not([data-theme=dark]) .hero img{filter:drop-shadow(0 0 16px #7ed957) brightness(1.1)}:root[data-theme=dark] .hero img{filter:drop-shadow(0 0 16px #236c2b) brightness(1.1)}:root:not([data-theme=dark]){--hero-btn-bg: #236c2b;--hero-btn-color: #fff}:root[data-theme=dark]{--hero-btn-bg: #236c2b;--hero-btn-color: #fff}.hero .Button{background:var(--hero-btn-bg, #7ed957);color:var(--hero-btn-color, #222);border:none;padding:.75em 1.5em;border-radius:.5em;font-weight:700;cursor:pointer;transition:background .3s,color .3s}.hero .Button:hover{background:var(--hero-btn-color, #222);color:var(--hero-btn-bg, #7ed957)}.hero .sl-link-button.primary:hover{color:var(--hero-primary-hover)}.hero .sl-link-button.secondary:hover,.hero .sl-link-button.minimal:hover{color:var(--hero-link-color)}:root:not([data-theme=dark]) .hero .sl-link-button.minimal:hover{text-shadow:0 0 8px #fff,0 0 16px #7ed957}.hero .sl-link-button.primary,.hero .sl-link-button.secondary{background:var(--hero-btn-bg);color:var(--hero-btn-color);border:none}.howto-link-list{list-style:none;padding:0;margin:0}.howto-link-list li{border-bottom:1px solid var(--sl-color-gray-6);padding:.25rem 0;margin:0}.howto-link-list li:last-child{border-bottom:none}.howto-link-list a{display:flex;justify-content:space-between;align-items:center;text-decoration:none}.howto-link-list .arrow{display:inline-block;width:1rem;height:1rem;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");mask-size:100%;-webkit-mask-size:100%}@media(max-width:600px){.hero img,.hero>.hero-html{width:85vw;max-width:20rem;padding:3rem 1rem 1rem}}@layer starlight.base,starlight.reset,starlight.core,starlight.content,starlight.components,starlight.utils;@layer starlight.base{:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}}@layer starlight.reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)}}@layer starlight.components{.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}}@layer starlight.utils{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media(min-width:50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media(min-width:72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size: .8275em;--sl-anchor-icon-gap: .25em;--sl-anchor-icon-space: calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+:is(.sl-heading-wrapper){margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child{display:inline;padding-inline-end:var(--sl-anchor-icon-space)}.sl-markdown-content .sl-anchor-link{position:relative;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));-webkit-user-select:none;user-select:none;display:inline-flex}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{display:inline;width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2))}@media(hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}}@layer starlight.core{.sl-banner:where(.astro-kjxjujhp){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-kjxjujhp) a{color:var(--__sl-banner-text)}}@layer starlight.core{.content-panel:where(.astro-2k7djlf2){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-2k7djlf2)+.content-panel:where(.astro-2k7djlf2){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-2k7djlf2){max-width:var(--sl-content-width)}.sl-container:where(.astro-2k7djlf2)>*+*{margin-top:1.5rem}@media(min-width:72rem){.sl-container:where(.astro-2k7djlf2){margin-inline:var(--sl-content-margin-inline, auto)}}}@layer starlight.core{p:where(.astro-b4gktj77){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}}@layer starlight.core{a:where(.astro-vkwnwuio){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-vkwnwuio):hover{color:var(--sl-color-white)}}@layer starlight.core{.pagination-links:where(.astro-7k5ypggf){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-7k5ypggf){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-7k5ypggf)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-7k5ypggf):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-7k5ypggf){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-7k5ypggf){flex-shrink:0}}@layer starlight.core{footer:where(.astro-bu7puyol){flex-direction:column;gap:1.5rem}.meta:where(.astro-bu7puyol){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-bu7puyol)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-bu7puyol){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-bu7puyol):hover{color:var(--sl-color-white)}}@layer starlight.components{.kudos:where(.astro-bu7puyol) svg{color:var(--sl-color-orange)}}@layer starlight.core{label:where(.astro-dqhcxxsi){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-dqhcxxsi):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-dqhcxxsi){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}select:where(.astro-dqhcxxsi){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-dqhcxxsi){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media(min-width:50rem){select:where(.astro-dqhcxxsi){font-size:var(--sl-text-sm)}}}@layer starlight.components{.label-icon:where(.astro-dqhcxxsi){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-dqhcxxsi){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.core{.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}}@layer starlight.core{[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-of-type:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}#starlight__search .pagefind-ui__filter-value:before{border-color:var(--sl-color-text-invert)}#starlight__search .pagefind-ui__result-tags{background-color:var(--sl-color-black);margin-top:0;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end)}}@layer starlight.core{site-search:where(.astro-fiow75a5){display:contents}button:where(.astro-fiow75a5)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media(min-width:50rem){button:where(.astro-fiow75a5)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-fiow75a5)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-fiow75a5)[data-open-modal]>:where(.astro-fiow75a5):last-child{margin-inline-start:auto}}button:where(.astro-fiow75a5)>kbd:where(.astro-fiow75a5){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-fiow75a5){font-family:var(--__sl-font)}dialog:where(.astro-fiow75a5){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-fiow75a5)[open]{display:flex}dialog:where(.astro-fiow75a5)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-fiow75a5){position:relative;overflow:auto;flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-fiow75a5)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-fiow75a5){--pagefind-ui-primary: var(--sl-color-text);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--pagefind-ui-tag: var(--sl-color-gray-5);--sl-search-cancel-space: 5rem}:root[data-theme=light] #starlight__search:where(.astro-fiow75a5){--pagefind-ui-tag: var(--sl-color-gray-6)}@media(min-width:50rem){#starlight__search:where(.astro-fiow75a5){--sl-search-cancel-space: 0px}dialog:where(.astro-fiow75a5){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-fiow75a5){padding:1.5rem}}}@layer starlight.core{.site-title:where(.astro-ltsvcsiu){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap;min-width:0}span:where(.astro-ltsvcsiu){overflow:hidden}img:where(.astro-ltsvcsiu){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}}@layer starlight.core{a:where(.astro-pwtbtf5p){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-pwtbtf5p):hover{opacity:.66}}@layer starlight.core{.header:where(.astro-wxcwk73d){display:flex;gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-wxcwk73d){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0}.right-group:where(.astro-wxcwk73d),.social-icons:where(.astro-wxcwk73d){gap:1rem;align-items:center}.social-icons:where(.astro-wxcwk73d):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media(min-width:50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-wxcwk73d){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}}@layer starlight.core{.hero:where(.astro-hjd4rimd){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-hjd4rimd)>img:where(.astro-hjd4rimd),.hero:where(.astro-hjd4rimd)>.hero-html:where(.astro-hjd4rimd){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-hjd4rimd){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-hjd4rimd){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-hjd4rimd)>:where(.astro-hjd4rimd){max-width:50ch}h1:where(.astro-hjd4rimd){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-hjd4rimd){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-hjd4rimd){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media(min-width:50rem){.hero:where(.astro-hjd4rimd){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-hjd4rimd)>img:where(.astro-hjd4rimd),.hero:where(.astro-hjd4rimd)>.hero-html:where(.astro-hjd4rimd){order:2;width:min(100%,25rem)}.stack:where(.astro-hjd4rimd){text-align:start}.copy:where(.astro-hjd4rimd){align-items:flex-start}.actions:where(.astro-hjd4rimd){justify-content:flex-start}}}@layer starlight.content{.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)){margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:is(:last-child:not(li,ul,ol,a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}}@layer starlight.core{[data-mobile-menu-expanded]{overflow:hidden}@media(min-width:50rem){[data-mobile-menu-expanded]{overflow:auto}}}@layer starlight.core{button:where(.astro-dhm62o35){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-dhm62o35)[aria-expanded=true] button:where(.astro-dhm62o35){background-color:var(--sl-color-gray-2);box-shadow:none}:where(.astro-dhm62o35)[aria-expanded=true] button:where(.astro-dhm62o35) .open-menu:where(.astro-dhm62o35){display:none}:where(.astro-dhm62o35):not([aria-expanded=true]) button:where(.astro-dhm62o35) .close-menu:where(.astro-dhm62o35){display:none}[data-theme=light] button:where(.astro-dhm62o35){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-dhm62o35)[aria-expanded=true] button:where(.astro-dhm62o35){background-color:var(--sl-color-gray-5)}}@layer starlight.core{.page:where(.astro-zcqk7bp6){flex-direction:column;min-height:100vh}.header:where(.astro-zcqk7bp6){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-zcqk7bp6){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-zcqk7bp6){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-zcqk7bp6){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-zcqk7bp6){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media(min-width:50rem){.sidebar-content:where(.astro-zcqk7bp6):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-zcqk7bp6){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media(min-width:50rem){[data-has-sidebar] .header:where(.astro-zcqk7bp6){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-zcqk7bp6){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}}@layer starlight.core{ul:where(.astro-i5cijz7l){padding:0;list-style:none}a:where(.astro-i5cijz7l){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-i5cijz7l)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-i5cijz7l) a:where(.astro-i5cijz7l){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-i5cijz7l):first-child>li:where(.astro-i5cijz7l):first-child>a:where(.astro-i5cijz7l){border-top:0}.isMobile:where(.astro-i5cijz7l) a:where(.astro-i5cijz7l)[aria-current=true],.isMobile:where(.astro-i5cijz7l) a:where(.astro-i5cijz7l)[aria-current=true]:hover,.isMobile:where(.astro-i5cijz7l) a:where(.astro-i5cijz7l)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-i5cijz7l) a:where(.astro-i5cijz7l)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}}@layer starlight.core{nav:where(.astro-khf2tsb6){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media(min-width:50rem){nav:where(.astro-khf2tsb6){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-khf2tsb6){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-khf2tsb6)::marker,summary:where(.astro-khf2tsb6)::-webkit-details-marker{display:none}.toggle:where(.astro-khf2tsb6){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-khf2tsb6)[open] .toggle:where(.astro-khf2tsb6){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-khf2tsb6) .toggle:where(.astro-khf2tsb6):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-khf2tsb6){transform:rotate(180deg)}details:where(.astro-khf2tsb6)[open] .caret:where(.astro-khf2tsb6){transform:rotate(90deg)}.display-current:where(.astro-khf2tsb6){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-khf2tsb6){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}}@layer starlight.core{.right-sidebar-panel:where(.astro-2mhlzuva){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-2mhlzuva){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-2mhlzuva) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-2mhlzuva) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-2mhlzuva) :where(a):hover{color:var(--sl-color-white)}@media(min-width:72rem){.sl-container:where(.astro-2mhlzuva){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}}@layer starlight.core{h1:where(.astro-emuweoj6){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}}@layer starlight.core{.social-icons:where(.astro-dwtsaaho){display:flex;margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-dwtsaaho):empty{display:none}.mobile-preferences:where(.astro-dwtsaaho){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}}@layer starlight.core{sl-sidebar-state-persist:where(.astro-lze7y3gz){display:contents}}@layer starlight.core{ul:where(.astro-mxyqbc63){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-mxyqbc63){overflow-wrap:anywhere}ul:where(.astro-mxyqbc63) ul:where(.astro-mxyqbc63) li:where(.astro-mxyqbc63){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-mxyqbc63){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-mxyqbc63)>li:where(.astro-mxyqbc63)+li:where(.astro-mxyqbc63){margin-top:.75rem}summary:where(.astro-mxyqbc63){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;user-select:none}summary:where(.astro-mxyqbc63)::marker,summary:where(.astro-mxyqbc63)::-webkit-details-marker{display:none}.caret:where(.astro-mxyqbc63){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-mxyqbc63){transform:rotate(180deg)}:where(.astro-mxyqbc63)[open]>summary:where(.astro-mxyqbc63) .caret:where(.astro-mxyqbc63){transform:rotate(90deg)}a:where(.astro-mxyqbc63){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-mxyqbc63):hover,a:where(.astro-mxyqbc63):focus{color:var(--sl-color-white)}:where(.astro-mxyqbc63)[aria-current=page],:where(.astro-mxyqbc63)[aria-current=page]:hover,:where(.astro-mxyqbc63)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-mxyqbc63)>:where(.astro-mxyqbc63):not(:last-child),.group-label:where(.astro-mxyqbc63)>:where(.astro-mxyqbc63):not(:last-child){margin-inline-end:.25em}@media(min-width:50rem){.top-level:where(.astro-mxyqbc63)>li:where(.astro-mxyqbc63)+li:where(.astro-mxyqbc63){margin-top:.5rem}.large:where(.astro-mxyqbc63){font-size:var(--sl-text-base)}a:where(.astro-mxyqbc63){font-size:var(--sl-text-sm)}}}@layer starlight.core{a:where(.astro-tjlup7uw){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-tjlup7uw):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}}@layer starlight.core{.main-pane:where(.astro-mdmfzqxa){isolation:isolate}@media(min-width:72rem){.right-sidebar-container:where(.astro-mdmfzqxa){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-mdmfzqxa){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-mdmfzqxa){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-mdmfzqxa){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-mrdytgmm){padding:var(--sl-main-pad)}@media(min-width:50em){:where(.astro-mrdytgmm)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media(min-width:72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/_astro/ui-core.Bc4QPfeb.js b/_astro/ui-core.CK7w4eC0.js similarity index 99% rename from _astro/ui-core.Bc4QPfeb.js rename to _astro/ui-core.CK7w4eC0.js index 29b57306..ae0b96ee 100644 --- a/_astro/ui-core.Bc4QPfeb.js +++ b/_astro/ui-core.CK7w4eC0.js @@ -1,2 +1,2 @@ -import{_ as ys}from"./Search.astro_astro_type_script_index_0_lang.Deq9_OSH.js";var ws=Object.defineProperty,F=(e,u)=>{for(var t in u)ws(e,t,{get:u[t],enumerable:!0})};function P(){}function du(e){return e()}function we(){return Object.create(null)}function W(e){e.forEach(du)}function Cu(e){return typeof e=="function"}function Ee(e,u){return e!=e?u==u:e!==u||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,u){return oe||(oe=document.createElement("a")),oe.href=u,e===oe.href}function zs(e){return Object.keys(e).length===0}function R(e,u){e.appendChild(u)}function k(e,u,t){e.insertBefore(u,t||null)}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,u){for(let t=0;te.removeEventListener(u,t,r)}function C(e,u,t){t==null?e.removeAttribute(u):e.getAttribute(u)!==t&&e.setAttribute(u,t)}function Os(e){return Array.from(e.childNodes)}function j(e,u){u=""+u,e.data!==u&&(e.data=u)}function ze(e,u){e.value=u??""}function K(e,u,t){e.classList[t?"add":"remove"](u)}var Us=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,u,t=null){this.e||(this.is_svg?this.e=js(u.nodeName):this.e=v(u.nodeType===11?"TEMPLATE":u.nodeName),this.t=u.tagName!=="TEMPLATE"?u:u.content,this.c(e)),this.i(t)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let u=0;ue.indexOf(r)===-1?u.push(r):t.push(r)),t.forEach(r=>r()),$=u}var _e=new Set,J;function le(){J={r:0,c:[],p:J}}function ne(){J.r||W(J.c),J=J.p}function z(e,u){e&&e.i&&(_e.delete(e),e.i(u))}function U(e,u,t,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),J.c.push(()=>{_e.delete(e),r&&(t&&e.d(1),r())}),e.o(u)}else r&&r()}function Gs(e,u){U(e,1,1,()=>{u.delete(e.key)})}function Js(e,u,t,r,s,a,l,n,i,E,_,f){let d=e.length,h=a.length,o=d;const c={};for(;o--;)c[e[o].key]=o;const g=[],A=new Map,B=new Map,T=[];for(o=h;o--;){const b=f(s,a,o),H=t(b);let y=l.get(H);y?T.push(()=>y.p(b,u)):(y=E(H,b),y.c()),A.set(H,g[o]=y),H in c&&B.set(H,Math.abs(o-c[H]))}const D=new Set,q=new Set;function L(b){z(b,1),b.m(n,_),l.set(b.key,b),_=b.first,h--}for(;d&&h;){const b=g[h-1],H=e[d-1],y=b.key,x=H.key;b===H?(_=b.first,d--,h--):A.has(x)?!l.has(y)||D.has(y)?L(b):q.has(x)?d--:B.get(y)>B.get(x)?(q.add(y),L(b)):(D.add(x),d--):(i(H,l),d--)}for(;d--;){const b=e[d];A.has(b.key)||i(b,l)}for(;h;)L(g[h-1]);return W(T),g}function Ws(e,u,t){const r=e.$$.props[u];r!==void 0&&(e.$$.bound[r]=t,t(e.$$.ctx[r]))}function Fe(e){e&&e.c()}function fe(e,u,t,r){const{fragment:s,after_update:a}=e.$$;s&&s.m(u,t),r||pe(()=>{const l=e.$$.on_mount.map(du).filter(Cu);e.$$.on_destroy?e.$$.on_destroy.push(...l):W(l),e.$$.on_mount=[]}),a.forEach(pe)}function he(e,u){const t=e.$$;t.fragment!==null&&(Ks(t.after_update),W(t.on_destroy),t.fragment&&t.fragment.d(u),t.on_destroy=t.fragment=null,t.ctx=[])}function Zs(e,u){e.$$.dirty[0]===-1&&(X.push(e),xs(),e.$$.dirty.fill(0)),e.$$.dirty[u/31|0]|=1<{const o=h.length?h[0]:d;return E.ctx&&s(E.ctx[f],E.ctx[f]=o)&&(!E.skip_bound&&E.bound[f]&&E.bound[f](o),_&&Zs(e,f)),d}):[],E.update(),_=!0,W(E.before_update),E.fragment=r?r(E.ctx):!1,u.target){if(u.hydrate){const f=Os(u.target);E.fragment&&E.fragment.l(f),f.forEach(p)}else E.fragment&&E.fragment.c();u.intro&&z(e.$$.fragment),fe(e,u.target,u.anchor,u.customElement),gu()}re(i)}var Ce=class{$destroy(){he(this,1),this.$destroy=P}$on(e,u){if(!Cu(u))return P;const t=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return t.push(u),()=>{const r=t.indexOf(u);r!==-1&&t.splice(r,1)}}$set(e){this.$$set&&!zs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=97&&u<=122||u>=65&&u<=90}function Q(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=48&&u<=57}function V(e){return O(e)||Q(e)}var Ys=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],je={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"},Xs={}.hasOwnProperty;function Au(e,u={}){const t=Oe(),r=String(e),s=r.toLowerCase();let a=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(Xs.call(je,s)){const n=je[s];return(u.normalize===void 0||u.normalize===null||u.normalize)&&typeof n=="string"?Au(n):(t[Ys.includes(s)?"regular":"irregular"]=r,t)}for(;O(s.charCodeAt(a))&&a<9;)a++;if(a>1&&a<9){if(t.language=r.slice(0,a),a<4){let n=0;for(;s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&!O(s.charCodeAt(a+4));){if(n>2)return l(a,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(r.slice(a+1,a+4)),a+=4,n++}}for(s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&O(s.charCodeAt(a+4))&&!O(s.charCodeAt(a+5))&&(t.script=r.slice(a+1,a+5),a+=5),s.charCodeAt(a)===45&&(O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&!O(s.charCodeAt(a+3))?(t.region=r.slice(a+1,a+3),a+=3):Q(s.charCodeAt(a+1))&&Q(s.charCodeAt(a+2))&&Q(s.charCodeAt(a+3))&&!Q(s.charCodeAt(a+4))&&(t.region=r.slice(a+1,a+4),a+=4));s.charCodeAt(a)===45;){const n=a+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return l(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))t.variants.push(r.slice(n,i)),a=i;else break}for(;s.charCodeAt(a)===45&&!(s.charCodeAt(a+1)===120||!V(s.charCodeAt(a+1))||s.charCodeAt(a+2)!==45||!V(s.charCodeAt(a+3)));){let n=a+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const E=n+1;for(n=E+2,i++;V(s.charCodeAt(n));){if(n-E>7)return l(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return l(n,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:r.charAt(a+1),extensions:r.slice(a+3,n).split("-")}),a=n}}else a=0;if(a===0&&s.charCodeAt(a)===120||s.charCodeAt(a)===45&&s.charCodeAt(a+1)===120){a=a?a+2:1;let n=a;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=a+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return l(n,5,"Too long private-use area, expected at most 8 characters");n++}t.privateuse.push(r.slice(a+1,n)),a=n}}if(a!==r.length)return l(a,6,"Found superfluous content after tag");return t;function l(n,i,E){return u.warning&&u.warning(E,i,n),u.forgiving?t:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,u,t){const r=e.slice();return r[8]=u[t][0],r[9]=u[t][1],r}function Qs(e){let u,t,r,s,a,l=e[0]&&Ie();return{c(){l&&l.c(),u=M(),t=v("div"),r=v("p"),r.textContent=`${e[3](30)}`,s=M(),a=v("p"),a.textContent=`${e[3](40)}`,C(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),C(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),C(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){l&&l.m(n,i),k(n,u,i),k(n,t,i),R(t,r),R(t,s),R(t,a)},p(n,i){n[0]?l||(l=Ie(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function $s(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,E,_=e[1].excerpt+"",f,d=e[0]&&Pe(e),h=e[2].length&&xe(e);return{c(){d&&d.c(),u=M(),t=v("div"),r=v("p"),s=v("a"),l=S(a),i=M(),E=v("p"),f=M(),h&&h.c(),C(s,"class","pagefind-ui__result-link svelte-j9e30"),C(s,"href",n=e[1].meta?.url||e[1].url),C(r,"class","pagefind-ui__result-title svelte-j9e30"),C(E,"class","pagefind-ui__result-excerpt svelte-j9e30"),C(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,c){d&&d.m(o,c),k(o,u,c),k(o,t,c),R(t,r),R(r,s),R(s,l),R(t,i),R(t,E),E.innerHTML=_,R(t,f),h&&h.m(t,null)},p(o,c){o[0]?d?d.p(o,c):(d=Pe(o),d.c(),d.m(u.parentNode,u)):d&&(d.d(1),d=null),c&2&&a!==(a=o[1].meta?.title+"")&&j(l,a),c&2&&n!==(n=o[1].meta?.url||o[1].url)&&C(s,"href",n),c&2&&_!==(_=o[1].excerpt+"")&&(E.innerHTML=_),o[2].length?h?h.p(o,c):(h=xe(o),h.c(),h.m(t,null)):h&&(h.d(1),h=null)},d(o){d&&d.d(o),o&&p(u),o&&p(t),h&&h.d()}}}function Ie(e){let u;return{c(){u=v("div"),C(u,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,r){k(t,u,r)},d(t){t&&p(u)}}}function Pe(e){let u,t=e[1].meta.image&&Le(e);return{c(){u=v("div"),t&&t.c(),C(u,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){k(r,u,s),t&&t.m(u,null)},p(r,s){r[1].meta.image?t?t.p(r,s):(t=Le(r),t.c(),t.m(u,null)):t&&(t.d(1),t=null)},d(r){r&&p(u),t&&t.d()}}}function Le(e){let u,t,r;return{c(){u=v("img"),C(u,"class","pagefind-ui__result-image svelte-j9e30"),ce(u.src,t=e[1].meta?.image)||C(u,"src",t),C(u,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,a){k(s,u,a)},p(s,a){a&2&&!ce(u.src,t=s[1].meta?.image)&&C(u,"src",t),a&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&C(u,"alt",r)},d(s){s&&p(u)}}}function xe(e){let u,t=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function ua(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[];const E=async f=>{t(1,n=await f.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([d])=>!l.includes(d)))},_=(f=30)=>". ".repeat(Math.floor(10+Math.random()*f));return e.$$set=f=>{"show_images"in f&&t(0,r=f.show_images),"process_result"in f&&t(4,s=f.process_result),"result"in f&&t(5,a=f.result)},e.$$.update=()=>{e.$$.dirty&32&&E(a)},[r,n,i,_,s,a]}var ta=class extends Ce{constructor(e){super(),de(this,e,ua,ea,Ee,{show_images:0,process_result:4,result:5})}},ra=ta;function Ke(e,u,t){const r=e.slice();return r[11]=u[t][0],r[12]=u[t][1],r}function Ge(e,u,t){const r=e.slice();return r[15]=u[t],r}function sa(e){let u,t,r,s,a,l=e[0]&&Je();return{c(){l&&l.c(),u=M(),t=v("div"),r=v("p"),r.textContent=`${e[5](30)}`,s=M(),a=v("p"),a.textContent=`${e[5](40)}`,C(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),C(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),C(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){l&&l.m(n,i),k(n,u,i),k(n,t,i),R(t,r),R(t,s),R(t,a)},p(n,i){n[0]?l||(l=Je(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function aa(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,E,_,f=e[0]&&We(e),d=e[4]&&Ye(e),h=e[3],o=[];for(let g=0;ge.toLocaleUpperCase();function na(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[],E=[],_=!1;const f=(o,c)=>{if(o.length<=c)return o;const g=[...o].sort((A,B)=>B.locations.length-A.locations.length).slice(0,3).map(A=>A.url);return o.filter(A=>g.includes(A.url))},d=async o=>{t(1,n=await o.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([c])=>!l.includes(c))),Array.isArray(n.sub_results)&&(t(4,_=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),_?t(3,E=f(n.sub_results.slice(1),3)):t(3,E=f([...n.sub_results],3)))},h=(o=30)=>". ".repeat(Math.floor(10+Math.random()*o));return e.$$set=o=>{"show_images"in o&&t(0,r=o.show_images),"process_result"in o&&t(6,s=o.process_result),"result"in o&&t(7,a=o.result)},e.$$.update=()=>{e.$$.dirty&128&&d(a)},[r,n,i,E,_,h,s,a]}var ia=class extends Ce{constructor(e){super(),de(this,e,na,la,Ee,{show_images:0,process_result:6,result:7})}},oa=ia;function uu(e,u,t){const r=e.slice();return r[10]=u[t][0],r[11]=u[t][1],r[12]=u,r[13]=t,r}function tu(e,u,t){const r=e.slice();return r[14]=u[t][0],r[15]=u[t][1],r[16]=u,r[17]=t,r}function ru(e){let u,t,r=e[4]("filters_label",e[5],e[6])+"",s,a,l=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function ca(e,u,t){let{available_filters:r=null}=u,{show_empty_filters:s=!0}=u,{open_filters:a=[]}=u,{translate:l=()=>""}=u,{automatic_translations:n={}}=u,{translations:i={}}=u,{selected_filters:E={}}=u,_=!1,f=!1;function d(h,o){E[`${h}:${o}`]=this.checked,t(0,E)}return e.$$set=h=>{"available_filters"in h&&t(1,r=h.available_filters),"show_empty_filters"in h&&t(2,s=h.show_empty_filters),"open_filters"in h&&t(3,a=h.open_filters),"translate"in h&&t(4,l=h.translate),"automatic_translations"in h&&t(5,n=h.automatic_translations),"translations"in h&&t(6,i=h.translations),"selected_filters"in h&&t(0,E=h.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!_){t(8,_=!0);let h=Object.entries(r||{});h.length===1&&Object.entries(h[0][1])?.length<=6&&t(7,f=!0)}},[E,r,s,a,l,n,i,f,_,d]}var Ea=class extends Ce{constructor(e){super(),de(this,e,ca,_a,Ee,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},fa=Ea,Ru={};F(Ru,{comments:()=>vu,default:()=>ha,direction:()=>Tu,strings:()=>pu,thanks_to:()=>Bu});var Bu="Jan Claasen ",vu="",Tu="ltr",pu={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},ha={thanks_to:Bu,comments:vu,direction:Tu,strings:pu},ku={};F(ku,{comments:()=>Du,default:()=>da,direction:()=>bu,strings:()=>Mu,thanks_to:()=>Fu});var Fu="Jermanuts",Du="",bu="rtl",Mu={placeholder:"بحث",clear_search:"امسح",load_more:"حمِّل المزيد من النتائج",search_label:"ابحث في هذا الموقع",filters_label:"تصفيات",zero_results:"لا توجد نتائج ل [SEARCH_TERM]",many_results:"[COUNT] نتائج ل [SEARCH_TERM]",one_result:"[COUNT] نتيجة ل [SEARCH_TERM]",alt_search:"لا توجد نتائج ل [SEARCH_TERM]. يعرض النتائج ل [DIFFERENT_TERM] بدلاً من ذلك",search_suggestion:"لا توجد نتائج ل [SEARCH_TERM]. جرب أحد عمليات البحث التالية:",searching:"يبحث عن [SEARCH_TERM]..."},da={thanks_to:Fu,comments:Du,direction:bu,strings:Mu},Su={};F(Su,{comments:()=>Nu,default:()=>Ca,direction:()=>yu,strings:()=>wu,thanks_to:()=>Hu});var Hu="Maruf Alom ",Nu="",yu="ltr",wu={placeholder:"অনুসন্ধান করুন",clear_search:"মুছে ফেলুন",load_more:"আরো ফলাফল দেখুন",search_label:"এই ওয়েবসাইটে অনুসন্ধান করুন",filters_label:"ফিল্টার",zero_results:"[SEARCH_TERM] এর জন্য কিছু খুঁজে পাওয়া যায়নি",many_results:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",one_result:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",alt_search:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর জন্য. পরিবর্তে [DIFFERENT_TERM] এর জন্য দেখানো হচ্ছে",search_suggestion:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর বিষয়ে. নিন্মের বিষয়বস্তু খুঁজে দেখুন:",searching:"অনুসন্ধান চলছে [SEARCH_TERM]..."},Ca={thanks_to:Hu,comments:Nu,direction:yu,strings:wu},zu={};F(zu,{comments:()=>Ou,default:()=>ma,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Pablo Villaverde ",Ou="",Uu="ltr",Iu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure més resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]..."},ma={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Pu={};F(Pu,{comments:()=>xu,default:()=>ga,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Lu});var Lu="Dalibor Hon ",xu="",qu="ltr",Vu={placeholder:"Hledat",clear_search:"Smazat",load_more:"Načíst další výsledky",search_label:"Prohledat tuto stránku",filters_label:"Filtry",zero_results:"Žádné výsledky pro [SEARCH_TERM]",many_results:"[COUNT] výsledků pro [SEARCH_TERM]",one_result:"[COUNT] výsledek pro [SEARCH_TERM]",alt_search:"Žádné výsledky pro [SEARCH_TERM]. Zobrazují se výsledky pro [DIFFERENT_TERM]",search_suggestion:"Žádné výsledky pro [SEARCH_TERM]. Související výsledky hledání:",searching:"Hledám [SEARCH_TERM]..."},ga={thanks_to:Lu,comments:xu,direction:qu,strings:Vu},Ku={};F(Ku,{comments:()=>Ju,default:()=>Aa,direction:()=>Wu,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jonas Smedegaard ",Ju="",Wu="ltr",Zu={placeholder:"Søg",clear_search:"Nulstil",load_more:"Indlæs flere resultater",search_label:"Søg på dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv et af disse søgeord i stedet:",searching:"Søger efter [SEARCH_TERM]..."},Aa={thanks_to:Gu,comments:Ju,direction:Wu,strings:Zu},Yu={};F(Yu,{comments:()=>Qu,default:()=>Ra,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Jan Claasen ",Qu="",$u="ltr",et={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche für [SEARCH_TERM]"},Ra={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};F(ut,{comments:()=>rt,default:()=>Ba,direction:()=>st,strings:()=>at,thanks_to:()=>tt});var tt="Liam Bigelow ",rt="",st="ltr",at={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Ba={thanks_to:tt,comments:rt,direction:st,strings:at},lt={};F(lt,{comments:()=>it,default:()=>va,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Pablo Villaverde ",it="",ot="ltr",_t={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]..."},va={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};F(ct,{comments:()=>ft,default:()=>Ta,direction:()=>ht,strings:()=>dt,thanks_to:()=>Et});var Et="Mikel Larreategi ",ft="",ht="ltr",dt={placeholder:"Bilatu",clear_search:"Garbitu",load_more:"Kargatu emaitza gehiagi",search_label:"Bilatu",filters_label:"Iragazkiak",zero_results:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat",many_results:"[COUNT] emaitza [SEARCH_TERM] bilaketarentzat",one_result:"Emaitza bat [COUNT] [SEARCH_TERM] bilaketarentzat",alt_search:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. [DIFFERENT_TERM] bilaketaren emaitzak erakusten",search_suggestion:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. Saiatu hauetako beste bateikin:",searching:"[SEARCH_TERM] bilatzen..."},Ta={thanks_to:Et,comments:ft,direction:ht,strings:dt},Ct={};F(Ct,{comments:()=>gt,default:()=>pa,direction:()=>At,strings:()=>Rt,thanks_to:()=>mt});var mt="Ali Khaleqi Yekta ",gt="",At="rtl",Rt={placeholder:"جستجو",clear_search:"پاکسازی",load_more:"بارگذاری نتایج بیشتر",search_label:"جستجو در سایت",filters_label:"فیلترها",zero_results:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد",many_results:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",one_result:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",alt_search:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. در عوض نتایج برای [DIFFERENT_TERM] نمایش داده می‌شود",search_suggestion:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. یکی از جستجوهای زیر را امتحان کنید:",searching:"در حال جستجوی [SEARCH_TERM]..."},pa={thanks_to:mt,comments:gt,direction:At,strings:Rt},Bt={};F(Bt,{comments:()=>Tt,default:()=>ka,direction:()=>pt,strings:()=>kt,thanks_to:()=>vt});var vt="Valtteri Laitinen ",Tt="",pt="ltr",kt={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},ka={thanks_to:vt,comments:Tt,direction:pt,strings:kt},Ft={};F(Ft,{comments:()=>bt,default:()=>Fa,direction:()=>Mt,strings:()=>St,thanks_to:()=>Dt});var Dt="Nicolas Friedli ",bt="",Mt="ltr",St={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},Fa={thanks_to:Dt,comments:bt,direction:Mt,strings:St},Ht={};F(Ht,{comments:()=>yt,default:()=>Da,direction:()=>wt,strings:()=>zt,thanks_to:()=>Nt});var Nt="Pablo Villaverde ",yt="",wt="ltr",zt={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},Da={thanks_to:Nt,comments:yt,direction:wt,strings:zt},jt={};F(jt,{comments:()=>Ut,default:()=>ba,direction:()=>It,strings:()=>Pt,thanks_to:()=>Ot});var Ot="Nir Tamir ",Ut="",It="rtl",Pt={placeholder:"חיפוש",clear_search:"ניקוי",load_more:"עוד תוצאות",search_label:"חיפוש באתר זה",filters_label:"מסננים",zero_results:"לא נמצאו תוצאות עבור [SEARCH_TERM]",many_results:"נמצאו [COUNT] תוצאות עבור [SEARCH_TERM]",one_result:"נמצאה תוצאה אחת עבור [SEARCH_TERM]",alt_search:"לא נמצאו תוצאות עבור [SEARCH_TERM]. מוצגות תוצאות עבור [DIFFERENT_TERM]",search_suggestion:"לא נמצאו תוצאות עבור [SEARCH_TERM]. נסו אחד מהחיפושים הבאים:",searching:"מחפש את [SEARCH_TERM]..."},ba={thanks_to:Ot,comments:Ut,direction:It,strings:Pt},Lt={};F(Lt,{comments:()=>qt,default:()=>Ma,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Amit Yadav ",qt="",Vt="ltr",Kt={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है..."},Ma={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};F(Gt,{comments:()=>Wt,default:()=>Sa,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Jt});var Jt="Diomed ",Wt="",Zt="ltr",Yt={placeholder:"Traži",clear_search:"Očisti",load_more:"Učitaj više rezultata",search_label:"Pretraži ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokušaj s jednom od ovih pretraga:",searching:"Pretražujem [SEARCH_TERM]..."},Sa={thanks_to:Jt,comments:Wt,direction:Zt,strings:Yt},Xt={};F(Xt,{comments:()=>$t,default:()=>Ha,direction:()=>e0,strings:()=>u0,thanks_to:()=>Qt});var Qt="Adam Laki ",$t="",e0="ltr",u0={placeholder:"Keresés",clear_search:"Törlés",load_more:"További találatok betöltése",search_label:"Keresés az oldalon",filters_label:"Szűrés",zero_results:"Nincs találat a(z) [SEARCH_TERM] kifejezésre",many_results:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",one_result:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",alt_search:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Találatok mutatása inkább a(z) [DIFFERENT_TERM] kifejezésre",search_suggestion:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Próbáld meg a következő keresések egyikét:",searching:"Keresés a(z) [SEARCH_TERM] kifejezésre..."},Ha={thanks_to:Qt,comments:$t,direction:e0,strings:u0},t0={};F(t0,{comments:()=>s0,default:()=>Na,direction:()=>a0,strings:()=>l0,thanks_to:()=>r0});var r0="Nixentric",s0="",a0="ltr",l0={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Na={thanks_to:r0,comments:s0,direction:a0,strings:l0},n0={};F(n0,{comments:()=>o0,default:()=>ya,direction:()=>_0,strings:()=>c0,thanks_to:()=>i0});var i0="Cosette Bruhns Alonso, Andrew Janco ",o0="",_0="ltr",c0={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},ya={thanks_to:i0,comments:o0,direction:_0,strings:c0},E0={};F(E0,{comments:()=>h0,default:()=>wa,direction:()=>d0,strings:()=>C0,thanks_to:()=>f0});var f0="Tate",h0="",d0="ltr",C0={placeholder:"検索",clear_search:"クリア",load_more:"次を読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する情報はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",alt_search:"[SEARCH_TERM]の検索に一致する情報はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する情報はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています"},wa={thanks_to:f0,comments:h0,direction:d0,strings:C0},m0={};F(m0,{comments:()=>A0,default:()=>za,direction:()=>R0,strings:()=>B0,thanks_to:()=>g0});var g0="Seokho Son ",A0="",R0="ltr",B0={placeholder:"검색어",clear_search:"비우기",load_more:"검색 결과 더 보기",search_label:"사이트 검색",filters_label:"필터",zero_results:"[SEARCH_TERM]에 대한 결과 없음",many_results:"[SEARCH_TERM]에 대한 결과 [COUNT]건",one_result:"[SEARCH_TERM]에 대한 결과 [COUNT]건",alt_search:"[SEARCH_TERM]에 대한 결과 없음. [DIFFERENT_TERM]에 대한 결과",search_suggestion:"[SEARCH_TERM]에 대한 결과 없음. 추천 검색어: ",searching:"[SEARCH_TERM] 검색 중..."},za={thanks_to:g0,comments:A0,direction:R0,strings:B0},v0={};F(v0,{comments:()=>p0,default:()=>ja,direction:()=>k0,strings:()=>F0,thanks_to:()=>T0});var T0="",p0="",k0="ltr",F0={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ētahi otinga kē",search_label:"Rapu",filters_label:"Tātari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kē ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamātau ki ngā mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},ja={thanks_to:T0,comments:p0,direction:k0,strings:F0},D0={};F(D0,{comments:()=>M0,default:()=>Oa,direction:()=>S0,strings:()=>H0,thanks_to:()=>b0});var b0="Harry Min Khant ",M0="",S0="ltr",H0={placeholder:"ရှာရန်",clear_search:"ရှာဖွေမှုကို ရှင်းလင်းပါ။",load_more:"နောက်ထပ်ရလဒ်များကို တင်ပါ။",search_label:"ဤဆိုက်တွင်ရှာဖွေပါ။",filters_label:"စစ်ထုတ်မှုများ",zero_results:"[SEARCH_TERM] အတွက် ရလဒ်များ မရှိပါ",many_results:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT] ခု",one_result:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT]",alt_search:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ ၎င်းအစား [DIFFERENT_TERM] အတွက် ရလဒ်များကို ပြသသည်။",search_suggestion:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ အောက်ပါရှာဖွေမှုများထဲမှ တစ်ခုကို စမ်းကြည့်ပါ:",searching:"[SEARCH_TERM] ကို ရှာဖွေနေသည်..."},Oa={thanks_to:b0,comments:M0,direction:S0,strings:H0},N0={};F(N0,{comments:()=>w0,default:()=>Ua,direction:()=>z0,strings:()=>j0,thanks_to:()=>y0});var y0="Eirik Mikkelsen",w0="",z0="ltr",j0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},Ua={thanks_to:y0,comments:w0,direction:z0,strings:j0},O0={};F(O0,{comments:()=>I0,default:()=>Ia,direction:()=>P0,strings:()=>L0,thanks_to:()=>U0});var U0="Paul van Brouwershaven",I0="",P0="ltr",L0={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},Ia={thanks_to:U0,comments:I0,direction:P0,strings:L0},x0={};F(x0,{comments:()=>V0,default:()=>Pa,direction:()=>K0,strings:()=>G0,thanks_to:()=>q0});var q0="Eirik Mikkelsen",V0="",K0="ltr",G0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last fleire resultat",search_label:"Søk på denne sida",filters_label:"Filter",zero_results:"Ingen resultat for [SEARCH_TERM]",many_results:"[COUNT] resultat for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultat for [SEARCH_TERM]. Viser resultat for [DIFFERENT_TERM] i staden",search_suggestion:"Ingen resultat for [SEARCH_TERM]. Prøv eitt av desse søkeorda i staden:",searching:"Søker etter [SEARCH_TERM]"},Pa={thanks_to:q0,comments:V0,direction:K0,strings:G0},J0={};F(J0,{comments:()=>Z0,default:()=>La,direction:()=>Y0,strings:()=>X0,thanks_to:()=>W0});var W0="Christopher Wingate",Z0="",Y0="ltr",X0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},La={thanks_to:W0,comments:Z0,direction:Y0,strings:X0},Q0={};F(Q0,{comments:()=>er,default:()=>xa,direction:()=>ur,strings:()=>tr,thanks_to:()=>$0});var $0="",er="",ur="ltr",tr={placeholder:"Szukaj",clear_search:"Wyczyść",load_more:"Załaduj więcej",search_label:"Przeszukaj tę stronę",filters_label:"Filtry",zero_results:"Brak wyników dla [SEARCH_TERM]",many_results:"[COUNT] wyników dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wyników dla [SEARCH_TERM]. Wyświetlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wyników dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},xa={thanks_to:$0,comments:er,direction:ur,strings:tr},rr={};F(rr,{comments:()=>ar,default:()=>qa,direction:()=>lr,strings:()=>nr,thanks_to:()=>sr});var sr="Jonatah",ar="",lr="ltr",nr={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},qa={thanks_to:sr,comments:ar,direction:lr,strings:nr},ir={};F(ir,{comments:()=>_r,default:()=>Va,direction:()=>cr,strings:()=>Er,thanks_to:()=>or});var or="Bogdan Mateescu ",_r="",cr="ltr",Er={placeholder:"Căutare",clear_search:"Ştergeţi",load_more:"Încărcați mai multe rezultate",search_label:"Căutați în acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afișează în schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. Încercați una dintre următoarele căutări:",searching:"Se caută după: [SEARCH_TERM]..."},Va={thanks_to:or,comments:_r,direction:cr,strings:Er},fr={};F(fr,{comments:()=>dr,default:()=>Ka,direction:()=>Cr,strings:()=>mr,thanks_to:()=>hr});var hr="Aleksandr Gordeev",dr="",Cr="ltr",mr={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]"},Ka={thanks_to:hr,comments:dr,direction:Cr,strings:mr},gr={};F(gr,{comments:()=>Rr,default:()=>Ga,direction:()=>Br,strings:()=>vr,thanks_to:()=>Ar});var Ar="Andrija Sagicc",Rr="",Br="ltr",vr={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]..."},Ga={thanks_to:Ar,comments:Rr,direction:Br,strings:vr},Tr={};F(Tr,{comments:()=>kr,default:()=>Ja,direction:()=>Fr,strings:()=>Dr,thanks_to:()=>pr});var pr="Montazar Al-Jaber ",kr="",Fr="ltr",Dr={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]..."},Ja={thanks_to:pr,comments:kr,direction:Fr,strings:Dr},br={};F(br,{comments:()=>Sr,default:()=>Wa,direction:()=>Hr,strings:()=>Nr,thanks_to:()=>Mr});var Mr="Anonymous",Sr="",Hr="ltr",Nr={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},Wa={thanks_to:Mr,comments:Sr,direction:Hr,strings:Nr},yr={};F(yr,{comments:()=>zr,default:()=>Za,direction:()=>jr,strings:()=>Or,thanks_to:()=>wr});var wr="",zr="",jr="ltr",Or={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது"},Za={thanks_to:wr,comments:zr,direction:jr,strings:Or},Ur={};F(Ur,{comments:()=>Pr,default:()=>Ya,direction:()=>Lr,strings:()=>xr,thanks_to:()=>Ir});var Ir="Patiphon Loetsuthakun ",Pr="",Lr="ltr",xr={placeholder:"ค้นหา",clear_search:"ล้าง",load_more:"โหลดผลลัพธ์เพิ่มเติม",search_label:"ค้นหาบนเว็บไซต์",filters_label:"ตัวกรอง",zero_results:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM]",many_results:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",one_result:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",alt_search:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] แสดงผลลัพธ์จากการค้นหา [DIFFERENT_TERM] แทน",search_suggestion:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] ลองคำค้นหาเหล่านี้แทน:",searching:"กำลังค้นหา [SEARCH_TERM]..."},Ya={thanks_to:Ir,comments:Pr,direction:Lr,strings:xr},qr={};F(qr,{comments:()=>Kr,default:()=>Xa,direction:()=>Gr,strings:()=>Jr,thanks_to:()=>Vr});var Vr="Taylan Özgür Bildik",Kr="",Gr="ltr",Jr={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor..."},Xa={thanks_to:Vr,comments:Kr,direction:Gr,strings:Jr},Wr={};F(Wr,{comments:()=>Yr,default:()=>Qa,direction:()=>Xr,strings:()=>Qr,thanks_to:()=>Zr});var Zr="Vladyslav Lyshenko ",Yr="",Xr="ltr",Qr={placeholder:"Пошук",clear_search:"Очистити поле",load_more:"Завантажити ще",search_label:"Пошук по сайту",filters_label:"Фільтри",zero_results:"Нічого не знайдено за запитом: [SEARCH_TERM]",many_results:"[COUNT] результатів на запит: [SEARCH_TERM]",one_result:"[COUNT] результат за запитом: [SEARCH_TERM]",alt_search:"Нічого не знайдено на запит: [SEARCH_TERM]. Показано результати на запит: [DIFFERENT_TERM]",search_suggestion:"Нічого не знайдено на запит: [SEARCH_TERM]. Спробуйте один із таких варіантів",searching:"Пошук за запитом: [SEARCH_TERM]"},Qa={thanks_to:Zr,comments:Yr,direction:Xr,strings:Qr},$r={};F($r,{comments:()=>us,default:()=>$a,direction:()=>ts,strings:()=>rs,thanks_to:()=>es});var es="Long Nhat Nguyen",us="",ts="ltr",rs={placeholder:"Tìm kiếm",clear_search:"Xóa",load_more:"Nhiều kết quả hơn",search_label:"Tìm kiếm trong trang này",filters_label:"Bộ lọc",zero_results:"Không tìm thấy kết quả cho [SEARCH_TERM]",many_results:"[COUNT] kết quả cho [SEARCH_TERM]",one_result:"[COUNT] kết quả cho [SEARCH_TERM]",alt_search:"Không tìm thấy kết quả cho [SEARCH_TERM]. Kiểm thị kết quả thay thế với [DIFFERENT_TERM]",search_suggestion:"Không tìm thấy kết quả cho [SEARCH_TERM]. Thử một trong các tìm kiếm:",searching:"Đang tìm kiếm cho [SEARCH_TERM]..."},$a={thanks_to:es,comments:us,direction:ts,strings:rs},ss={};F(ss,{comments:()=>ls,default:()=>el,direction:()=>ns,strings:()=>is,thanks_to:()=>as});var as="Amber Song",ls="",ns="ltr",is={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},el={thanks_to:as,comments:ls,direction:ns,strings:is},os={};F(os,{comments:()=>cs,default:()=>ul,direction:()=>Es,strings:()=>fs,thanks_to:()=>_s});var _s="Amber Song",cs="",Es="ltr",fs={placeholder:"搜索",clear_search:"清除",load_more:"加載更多結果",search_label:"站內搜索",filters_label:"篩選",zero_results:"未找到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"未找到 [SEARCH_TERM] 的相關結果。請嘗試以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},ul={thanks_to:_s,comments:cs,direction:Es,strings:fs},hs={};F(hs,{comments:()=>Cs,default:()=>tl,direction:()=>ms,strings:()=>gs,thanks_to:()=>ds});var ds="Amber Song",Cs="",ms="ltr",gs={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},tl={thanks_to:ds,comments:Cs,direction:ms,strings:gs},rl=[Ru,ku,Su,zu,Pu,Ku,Yu,ut,lt,ct,Ct,Bt,Ft,Ht,jt,Lt,Gt,Xt,t0,n0,E0,m0,v0,D0,N0,O0,x0,J0,Q0,rr,ir,fr,gr,Tr,br,yr,Ur,qr,Wr,$r,ss,os,hs],sl=rl,al=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/eu.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/my.json","../../translations/nb.json","../../translations/nl.json","../../translations/nn.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/th.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,u,t){const r=e.slice();return r[51]=u[t],r}function _u(e){let u,t,r;function s(l){e[37](l)}let a={show_empty_filters:e[5],open_filters:e[6],available_filters:e[18],translate:e[20],automatic_translations:e[19],translations:e[7]};return e[0]!==void 0&&(a.selected_filters=e[0]),u=new fa({props:a}),ae.push(()=>Ws(u,"selected_filters",s)),{c(){Fe(u.$$.fragment)},m(l,n){fe(u,l,n),r=!0},p(l,n){const i={};n[0]&32&&(i.show_empty_filters=l[5]),n[0]&64&&(i.open_filters=l[6]),n[0]&262144&&(i.available_filters=l[18]),n[0]&524288&&(i.automatic_translations=l[19]),n[0]&128&&(i.translations=l[7]),!t&&n[0]&1&&(t=!0,i.selected_filters=l[0],qs(()=>t=!1)),u.$set(i)},i(l){r||(z(u.$$.fragment,l),r=!0)},o(l){U(u.$$.fragment,l),r=!1},d(l){he(u,l)}}}function cu(e){let u,t,r,s;const a=[nl,ll],l=[];function n(i,E){return i[14]?0:1}return t=n(e),r=l[t]=a[t](e),{c(){u=v("div"),r.c(),C(u,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,E){k(i,u,E),l[t].m(u,null),s=!0},p(i,E){let _=t;t=n(i),t===_?l[t].p(i,E):(le(),U(l[_],1,1,()=>{l[_]=null}),ne(),r=l[t],r?r.p(i,E):(r=l[t]=a[t](i),r.c()),z(r,1),r.m(u,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&p(u),l[t].d()}}}function ll(e){let u,t,r,s=[],a=new Map,l,n,i;function E(c,g){return c[13].results.length===0?_l:c[13].results.length===1?ol:il}let _=E(e),f=_(e),d=e[13].results.slice(0,e[17]);const h=c=>c[51].id;for(let c=0;ce[17]&&fu(e);return{c(){u=v("p"),f.c(),t=M(),r=v("ol");for(let c=0;cc[17]?o?o.p(c,g):(o=fu(c),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},i(c){if(!i){for(let g=0;g{i[d]=null}),ne(),s=i[r],s?s.p(u,f):(s=i[r]=n[r](u),s.c()),z(s,1),s.m(a.parentNode,a))},i(_){l||(z(s),l=!0)},o(_){U(s),l=!1},d(_){_&&p(t),i[r].d(_),_&&p(a)}}}function fu(e){let u,t=e[20]("load_more",e[19],e[7])+"",r,s,a;return{c(){u=v("button"),r=S(t),C(u,"type","button"),C(u,"class","pagefind-ui__button svelte-e9gkc3")},m(l,n){k(l,u,n),R(u,r),s||(a=G(u,"click",e[22]),s=!0)},p(l,n){n[0]&524416&&t!==(t=l[20]("load_more",l[19],l[7])+"")&&j(r,t)},d(l){l&&p(u),s=!1,a()}}}function hu(e){let u,t=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){u=v("p"),r=S(t),C(u,"class","pagefind-ui__message svelte-e9gkc3")},m(s,a){k(s,u,a),R(u,r)},p(s,a){a[0]&589952&&t!==(t=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,t)},d(s){s&&p(u)}}}function fl(e){let u,t,r,s,a,l,n,i=e[20]("clear_search",e[19],e[7])+"",E,_,f,d,h,o,c,g,A=e[12]&&_u(e),B=e[15]&&cu(e);return{c(){u=v("div"),t=v("form"),r=v("input"),l=M(),n=v("button"),E=S(i),_=M(),f=v("div"),A&&A.c(),d=M(),B&&B.c(),C(r,"class","pagefind-ui__search-input svelte-e9gkc3"),C(r,"type","text"),C(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),C(r,"title",a=e[20]("placeholder",e[19],e[7])),C(r,"autocapitalize","none"),C(r,"enterkeyhint","search"),r.autofocus=e[8],C(n,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(n,"pagefind-ui__suppressed",!e[9]),C(f,"class","pagefind-ui__drawer svelte-e9gkc3"),K(f,"pagefind-ui__hidden",!e[15]),C(t,"class","pagefind-ui__form svelte-e9gkc3"),C(t,"role","search"),C(t,"aria-label",h=e[20]("search_label",e[19],e[7])),C(t,"action","javascript:void(0);"),C(u,"class","pagefind-ui svelte-e9gkc3"),K(u,"pagefind-ui--reset",e[1])},m(T,D){k(T,u,D),R(u,t),R(t,r),ze(r,e[9]),e[34](r),R(t,l),R(t,n),R(n,E),e[35](n),R(t,_),R(t,f),A&&A.m(f,null),R(f,d),B&&B.m(f,null),o=!0,e[8]&&r.focus(),c||(g=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(n,"click",e[36]),G(t,"submit",hl)],c=!0)},p(T,D){(!o||D[0]&524416&&s!==(s=T[20]("placeholder",T[19],T[7])))&&C(r,"placeholder",s),(!o||D[0]&524416&&a!==(a=T[20]("placeholder",T[19],T[7])))&&C(r,"title",a),(!o||D[0]&256)&&(r.autofocus=T[8]),D[0]&512&&r.value!==T[9]&&ze(r,T[9]),(!o||D[0]&524416)&&i!==(i=T[20]("clear_search",T[19],T[7])+"")&&j(E,i),(!o||D[0]&512)&&K(n,"pagefind-ui__suppressed",!T[9]),T[12]?A?(A.p(T,D),D[0]&4096&&z(A,1)):(A=_u(T),A.c(),z(A,1),A.m(f,d)):A&&(le(),U(A,1,1,()=>{A=null}),ne()),T[15]?B?(B.p(T,D),D[0]&32768&&z(B,1)):(B=cu(T),B.c(),z(B,1),B.m(f,null)):B&&(le(),U(B,1,1,()=>{B=null}),ne()),(!o||D[0]&32768)&&K(f,"pagefind-ui__hidden",!T[15]),(!o||D[0]&524416&&h!==(h=T[20]("search_label",T[19],T[7])))&&C(t,"aria-label",h),(!o||D[0]&2)&&K(u,"pagefind-ui--reset",T[1])},i(T){o||(z(A),z(B),o=!0)},o(T){U(A),U(B),o=!1},d(T){T&&p(u),e[34](null),e[35](null),A&&A.d(),B&&B.d(),c=!1,W(g)}}}var hl=e=>e.preventDefault();function dl(e,u,t){const r={},s=al.map(m=>m.match(/([^\/]+)\.json$/)[1]);for(let m=0;mw[m]??N[m]??"";Is(()=>{let m=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",N=Au(m.toLocaleLowerCase());t(19,He=r[`${N.language}-${N.script}-${N.region}`]||r[`${N.language}-${N.region}`]||r[`${N.language}`]||r.en)}),Ps(()=>{H?.destroy?.(),H=null});const Ne=async()=>{if(!me&&(t(12,me=!0),!H)){let m;try{m=await ys(()=>import(`${a}pagefind.js`),[])}catch(w){console.error(w),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +import{_ as ys}from"./Search.astro_astro_type_script_index_0_lang.CfYcGagN.js";var ws=Object.defineProperty,F=(e,u)=>{for(var t in u)ws(e,t,{get:u[t],enumerable:!0})};function P(){}function du(e){return e()}function we(){return Object.create(null)}function W(e){e.forEach(du)}function Cu(e){return typeof e=="function"}function Ee(e,u){return e!=e?u==u:e!==u||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,u){return oe||(oe=document.createElement("a")),oe.href=u,e===oe.href}function zs(e){return Object.keys(e).length===0}function R(e,u){e.appendChild(u)}function k(e,u,t){e.insertBefore(u,t||null)}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,u){for(let t=0;te.removeEventListener(u,t,r)}function C(e,u,t){t==null?e.removeAttribute(u):e.getAttribute(u)!==t&&e.setAttribute(u,t)}function Os(e){return Array.from(e.childNodes)}function j(e,u){u=""+u,e.data!==u&&(e.data=u)}function ze(e,u){e.value=u??""}function K(e,u,t){e.classList[t?"add":"remove"](u)}var Us=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,u,t=null){this.e||(this.is_svg?this.e=js(u.nodeName):this.e=v(u.nodeType===11?"TEMPLATE":u.nodeName),this.t=u.tagName!=="TEMPLATE"?u:u.content,this.c(e)),this.i(t)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let u=0;ue.indexOf(r)===-1?u.push(r):t.push(r)),t.forEach(r=>r()),$=u}var _e=new Set,J;function le(){J={r:0,c:[],p:J}}function ne(){J.r||W(J.c),J=J.p}function z(e,u){e&&e.i&&(_e.delete(e),e.i(u))}function U(e,u,t,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),J.c.push(()=>{_e.delete(e),r&&(t&&e.d(1),r())}),e.o(u)}else r&&r()}function Gs(e,u){U(e,1,1,()=>{u.delete(e.key)})}function Js(e,u,t,r,s,a,l,n,i,E,_,f){let d=e.length,h=a.length,o=d;const c={};for(;o--;)c[e[o].key]=o;const g=[],A=new Map,B=new Map,T=[];for(o=h;o--;){const b=f(s,a,o),H=t(b);let y=l.get(H);y?T.push(()=>y.p(b,u)):(y=E(H,b),y.c()),A.set(H,g[o]=y),H in c&&B.set(H,Math.abs(o-c[H]))}const D=new Set,q=new Set;function L(b){z(b,1),b.m(n,_),l.set(b.key,b),_=b.first,h--}for(;d&&h;){const b=g[h-1],H=e[d-1],y=b.key,x=H.key;b===H?(_=b.first,d--,h--):A.has(x)?!l.has(y)||D.has(y)?L(b):q.has(x)?d--:B.get(y)>B.get(x)?(q.add(y),L(b)):(D.add(x),d--):(i(H,l),d--)}for(;d--;){const b=e[d];A.has(b.key)||i(b,l)}for(;h;)L(g[h-1]);return W(T),g}function Ws(e,u,t){const r=e.$$.props[u];r!==void 0&&(e.$$.bound[r]=t,t(e.$$.ctx[r]))}function Fe(e){e&&e.c()}function fe(e,u,t,r){const{fragment:s,after_update:a}=e.$$;s&&s.m(u,t),r||pe(()=>{const l=e.$$.on_mount.map(du).filter(Cu);e.$$.on_destroy?e.$$.on_destroy.push(...l):W(l),e.$$.on_mount=[]}),a.forEach(pe)}function he(e,u){const t=e.$$;t.fragment!==null&&(Ks(t.after_update),W(t.on_destroy),t.fragment&&t.fragment.d(u),t.on_destroy=t.fragment=null,t.ctx=[])}function Zs(e,u){e.$$.dirty[0]===-1&&(X.push(e),xs(),e.$$.dirty.fill(0)),e.$$.dirty[u/31|0]|=1<{const o=h.length?h[0]:d;return E.ctx&&s(E.ctx[f],E.ctx[f]=o)&&(!E.skip_bound&&E.bound[f]&&E.bound[f](o),_&&Zs(e,f)),d}):[],E.update(),_=!0,W(E.before_update),E.fragment=r?r(E.ctx):!1,u.target){if(u.hydrate){const f=Os(u.target);E.fragment&&E.fragment.l(f),f.forEach(p)}else E.fragment&&E.fragment.c();u.intro&&z(e.$$.fragment),fe(e,u.target,u.anchor,u.customElement),gu()}re(i)}var Ce=class{$destroy(){he(this,1),this.$destroy=P}$on(e,u){if(!Cu(u))return P;const t=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return t.push(u),()=>{const r=t.indexOf(u);r!==-1&&t.splice(r,1)}}$set(e){this.$$set&&!zs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=97&&u<=122||u>=65&&u<=90}function Q(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=48&&u<=57}function V(e){return O(e)||Q(e)}var Ys=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],je={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"},Xs={}.hasOwnProperty;function Au(e,u={}){const t=Oe(),r=String(e),s=r.toLowerCase();let a=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(Xs.call(je,s)){const n=je[s];return(u.normalize===void 0||u.normalize===null||u.normalize)&&typeof n=="string"?Au(n):(t[Ys.includes(s)?"regular":"irregular"]=r,t)}for(;O(s.charCodeAt(a))&&a<9;)a++;if(a>1&&a<9){if(t.language=r.slice(0,a),a<4){let n=0;for(;s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&!O(s.charCodeAt(a+4));){if(n>2)return l(a,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(r.slice(a+1,a+4)),a+=4,n++}}for(s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&O(s.charCodeAt(a+4))&&!O(s.charCodeAt(a+5))&&(t.script=r.slice(a+1,a+5),a+=5),s.charCodeAt(a)===45&&(O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&!O(s.charCodeAt(a+3))?(t.region=r.slice(a+1,a+3),a+=3):Q(s.charCodeAt(a+1))&&Q(s.charCodeAt(a+2))&&Q(s.charCodeAt(a+3))&&!Q(s.charCodeAt(a+4))&&(t.region=r.slice(a+1,a+4),a+=4));s.charCodeAt(a)===45;){const n=a+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return l(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))t.variants.push(r.slice(n,i)),a=i;else break}for(;s.charCodeAt(a)===45&&!(s.charCodeAt(a+1)===120||!V(s.charCodeAt(a+1))||s.charCodeAt(a+2)!==45||!V(s.charCodeAt(a+3)));){let n=a+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const E=n+1;for(n=E+2,i++;V(s.charCodeAt(n));){if(n-E>7)return l(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return l(n,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:r.charAt(a+1),extensions:r.slice(a+3,n).split("-")}),a=n}}else a=0;if(a===0&&s.charCodeAt(a)===120||s.charCodeAt(a)===45&&s.charCodeAt(a+1)===120){a=a?a+2:1;let n=a;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=a+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return l(n,5,"Too long private-use area, expected at most 8 characters");n++}t.privateuse.push(r.slice(a+1,n)),a=n}}if(a!==r.length)return l(a,6,"Found superfluous content after tag");return t;function l(n,i,E){return u.warning&&u.warning(E,i,n),u.forgiving?t:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,u,t){const r=e.slice();return r[8]=u[t][0],r[9]=u[t][1],r}function Qs(e){let u,t,r,s,a,l=e[0]&&Ie();return{c(){l&&l.c(),u=M(),t=v("div"),r=v("p"),r.textContent=`${e[3](30)}`,s=M(),a=v("p"),a.textContent=`${e[3](40)}`,C(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),C(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),C(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){l&&l.m(n,i),k(n,u,i),k(n,t,i),R(t,r),R(t,s),R(t,a)},p(n,i){n[0]?l||(l=Ie(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function $s(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,E,_=e[1].excerpt+"",f,d=e[0]&&Pe(e),h=e[2].length&&xe(e);return{c(){d&&d.c(),u=M(),t=v("div"),r=v("p"),s=v("a"),l=S(a),i=M(),E=v("p"),f=M(),h&&h.c(),C(s,"class","pagefind-ui__result-link svelte-j9e30"),C(s,"href",n=e[1].meta?.url||e[1].url),C(r,"class","pagefind-ui__result-title svelte-j9e30"),C(E,"class","pagefind-ui__result-excerpt svelte-j9e30"),C(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(o,c){d&&d.m(o,c),k(o,u,c),k(o,t,c),R(t,r),R(r,s),R(s,l),R(t,i),R(t,E),E.innerHTML=_,R(t,f),h&&h.m(t,null)},p(o,c){o[0]?d?d.p(o,c):(d=Pe(o),d.c(),d.m(u.parentNode,u)):d&&(d.d(1),d=null),c&2&&a!==(a=o[1].meta?.title+"")&&j(l,a),c&2&&n!==(n=o[1].meta?.url||o[1].url)&&C(s,"href",n),c&2&&_!==(_=o[1].excerpt+"")&&(E.innerHTML=_),o[2].length?h?h.p(o,c):(h=xe(o),h.c(),h.m(t,null)):h&&(h.d(1),h=null)},d(o){d&&d.d(o),o&&p(u),o&&p(t),h&&h.d()}}}function Ie(e){let u;return{c(){u=v("div"),C(u,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,r){k(t,u,r)},d(t){t&&p(u)}}}function Pe(e){let u,t=e[1].meta.image&&Le(e);return{c(){u=v("div"),t&&t.c(),C(u,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){k(r,u,s),t&&t.m(u,null)},p(r,s){r[1].meta.image?t?t.p(r,s):(t=Le(r),t.c(),t.m(u,null)):t&&(t.d(1),t=null)},d(r){r&&p(u),t&&t.d()}}}function Le(e){let u,t,r;return{c(){u=v("img"),C(u,"class","pagefind-ui__result-image svelte-j9e30"),ce(u.src,t=e[1].meta?.image)||C(u,"src",t),C(u,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,a){k(s,u,a)},p(s,a){a&2&&!ce(u.src,t=s[1].meta?.image)&&C(u,"src",t),a&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&C(u,"alt",r)},d(s){s&&p(u)}}}function xe(e){let u,t=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function ua(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[];const E=async f=>{t(1,n=await f.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([d])=>!l.includes(d)))},_=(f=30)=>". ".repeat(Math.floor(10+Math.random()*f));return e.$$set=f=>{"show_images"in f&&t(0,r=f.show_images),"process_result"in f&&t(4,s=f.process_result),"result"in f&&t(5,a=f.result)},e.$$.update=()=>{e.$$.dirty&32&&E(a)},[r,n,i,_,s,a]}var ta=class extends Ce{constructor(e){super(),de(this,e,ua,ea,Ee,{show_images:0,process_result:4,result:5})}},ra=ta;function Ke(e,u,t){const r=e.slice();return r[11]=u[t][0],r[12]=u[t][1],r}function Ge(e,u,t){const r=e.slice();return r[15]=u[t],r}function sa(e){let u,t,r,s,a,l=e[0]&&Je();return{c(){l&&l.c(),u=M(),t=v("div"),r=v("p"),r.textContent=`${e[5](30)}`,s=M(),a=v("p"),a.textContent=`${e[5](40)}`,C(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),C(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),C(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){l&&l.m(n,i),k(n,u,i),k(n,t,i),R(t,r),R(t,s),R(t,a)},p(n,i){n[0]?l||(l=Je(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function aa(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,E,_,f=e[0]&&We(e),d=e[4]&&Ye(e),h=e[3],o=[];for(let g=0;ge.toLocaleUpperCase();function na(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[],E=[],_=!1;const f=(o,c)=>{if(o.length<=c)return o;const g=[...o].sort((A,B)=>B.locations.length-A.locations.length).slice(0,3).map(A=>A.url);return o.filter(A=>g.includes(A.url))},d=async o=>{t(1,n=await o.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([c])=>!l.includes(c))),Array.isArray(n.sub_results)&&(t(4,_=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),_?t(3,E=f(n.sub_results.slice(1),3)):t(3,E=f([...n.sub_results],3)))},h=(o=30)=>". ".repeat(Math.floor(10+Math.random()*o));return e.$$set=o=>{"show_images"in o&&t(0,r=o.show_images),"process_result"in o&&t(6,s=o.process_result),"result"in o&&t(7,a=o.result)},e.$$.update=()=>{e.$$.dirty&128&&d(a)},[r,n,i,E,_,h,s,a]}var ia=class extends Ce{constructor(e){super(),de(this,e,na,la,Ee,{show_images:0,process_result:6,result:7})}},oa=ia;function uu(e,u,t){const r=e.slice();return r[10]=u[t][0],r[11]=u[t][1],r[12]=u,r[13]=t,r}function tu(e,u,t){const r=e.slice();return r[14]=u[t][0],r[15]=u[t][1],r[16]=u,r[17]=t,r}function ru(e){let u,t,r=e[4]("filters_label",e[5],e[6])+"",s,a,l=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function ca(e,u,t){let{available_filters:r=null}=u,{show_empty_filters:s=!0}=u,{open_filters:a=[]}=u,{translate:l=()=>""}=u,{automatic_translations:n={}}=u,{translations:i={}}=u,{selected_filters:E={}}=u,_=!1,f=!1;function d(h,o){E[`${h}:${o}`]=this.checked,t(0,E)}return e.$$set=h=>{"available_filters"in h&&t(1,r=h.available_filters),"show_empty_filters"in h&&t(2,s=h.show_empty_filters),"open_filters"in h&&t(3,a=h.open_filters),"translate"in h&&t(4,l=h.translate),"automatic_translations"in h&&t(5,n=h.automatic_translations),"translations"in h&&t(6,i=h.translations),"selected_filters"in h&&t(0,E=h.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!_){t(8,_=!0);let h=Object.entries(r||{});h.length===1&&Object.entries(h[0][1])?.length<=6&&t(7,f=!0)}},[E,r,s,a,l,n,i,f,_,d]}var Ea=class extends Ce{constructor(e){super(),de(this,e,ca,_a,Ee,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},fa=Ea,Ru={};F(Ru,{comments:()=>vu,default:()=>ha,direction:()=>Tu,strings:()=>pu,thanks_to:()=>Bu});var Bu="Jan Claasen ",vu="",Tu="ltr",pu={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},ha={thanks_to:Bu,comments:vu,direction:Tu,strings:pu},ku={};F(ku,{comments:()=>Du,default:()=>da,direction:()=>bu,strings:()=>Mu,thanks_to:()=>Fu});var Fu="Jermanuts",Du="",bu="rtl",Mu={placeholder:"بحث",clear_search:"امسح",load_more:"حمِّل المزيد من النتائج",search_label:"ابحث في هذا الموقع",filters_label:"تصفيات",zero_results:"لا توجد نتائج ل [SEARCH_TERM]",many_results:"[COUNT] نتائج ل [SEARCH_TERM]",one_result:"[COUNT] نتيجة ل [SEARCH_TERM]",alt_search:"لا توجد نتائج ل [SEARCH_TERM]. يعرض النتائج ل [DIFFERENT_TERM] بدلاً من ذلك",search_suggestion:"لا توجد نتائج ل [SEARCH_TERM]. جرب أحد عمليات البحث التالية:",searching:"يبحث عن [SEARCH_TERM]..."},da={thanks_to:Fu,comments:Du,direction:bu,strings:Mu},Su={};F(Su,{comments:()=>Nu,default:()=>Ca,direction:()=>yu,strings:()=>wu,thanks_to:()=>Hu});var Hu="Maruf Alom ",Nu="",yu="ltr",wu={placeholder:"অনুসন্ধান করুন",clear_search:"মুছে ফেলুন",load_more:"আরো ফলাফল দেখুন",search_label:"এই ওয়েবসাইটে অনুসন্ধান করুন",filters_label:"ফিল্টার",zero_results:"[SEARCH_TERM] এর জন্য কিছু খুঁজে পাওয়া যায়নি",many_results:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",one_result:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",alt_search:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর জন্য. পরিবর্তে [DIFFERENT_TERM] এর জন্য দেখানো হচ্ছে",search_suggestion:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর বিষয়ে. নিন্মের বিষয়বস্তু খুঁজে দেখুন:",searching:"অনুসন্ধান চলছে [SEARCH_TERM]..."},Ca={thanks_to:Hu,comments:Nu,direction:yu,strings:wu},zu={};F(zu,{comments:()=>Ou,default:()=>ma,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Pablo Villaverde ",Ou="",Uu="ltr",Iu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure més resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]..."},ma={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Pu={};F(Pu,{comments:()=>xu,default:()=>ga,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Lu});var Lu="Dalibor Hon ",xu="",qu="ltr",Vu={placeholder:"Hledat",clear_search:"Smazat",load_more:"Načíst další výsledky",search_label:"Prohledat tuto stránku",filters_label:"Filtry",zero_results:"Žádné výsledky pro [SEARCH_TERM]",many_results:"[COUNT] výsledků pro [SEARCH_TERM]",one_result:"[COUNT] výsledek pro [SEARCH_TERM]",alt_search:"Žádné výsledky pro [SEARCH_TERM]. Zobrazují se výsledky pro [DIFFERENT_TERM]",search_suggestion:"Žádné výsledky pro [SEARCH_TERM]. Související výsledky hledání:",searching:"Hledám [SEARCH_TERM]..."},ga={thanks_to:Lu,comments:xu,direction:qu,strings:Vu},Ku={};F(Ku,{comments:()=>Ju,default:()=>Aa,direction:()=>Wu,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jonas Smedegaard ",Ju="",Wu="ltr",Zu={placeholder:"Søg",clear_search:"Nulstil",load_more:"Indlæs flere resultater",search_label:"Søg på dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv et af disse søgeord i stedet:",searching:"Søger efter [SEARCH_TERM]..."},Aa={thanks_to:Gu,comments:Ju,direction:Wu,strings:Zu},Yu={};F(Yu,{comments:()=>Qu,default:()=>Ra,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Jan Claasen ",Qu="",$u="ltr",et={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche für [SEARCH_TERM]"},Ra={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};F(ut,{comments:()=>rt,default:()=>Ba,direction:()=>st,strings:()=>at,thanks_to:()=>tt});var tt="Liam Bigelow ",rt="",st="ltr",at={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Ba={thanks_to:tt,comments:rt,direction:st,strings:at},lt={};F(lt,{comments:()=>it,default:()=>va,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Pablo Villaverde ",it="",ot="ltr",_t={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]..."},va={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};F(ct,{comments:()=>ft,default:()=>Ta,direction:()=>ht,strings:()=>dt,thanks_to:()=>Et});var Et="Mikel Larreategi ",ft="",ht="ltr",dt={placeholder:"Bilatu",clear_search:"Garbitu",load_more:"Kargatu emaitza gehiagi",search_label:"Bilatu",filters_label:"Iragazkiak",zero_results:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat",many_results:"[COUNT] emaitza [SEARCH_TERM] bilaketarentzat",one_result:"Emaitza bat [COUNT] [SEARCH_TERM] bilaketarentzat",alt_search:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. [DIFFERENT_TERM] bilaketaren emaitzak erakusten",search_suggestion:"Ez dago emaitzarik [SEARCH_TERM] bilaketarentzat. Saiatu hauetako beste bateikin:",searching:"[SEARCH_TERM] bilatzen..."},Ta={thanks_to:Et,comments:ft,direction:ht,strings:dt},Ct={};F(Ct,{comments:()=>gt,default:()=>pa,direction:()=>At,strings:()=>Rt,thanks_to:()=>mt});var mt="Ali Khaleqi Yekta ",gt="",At="rtl",Rt={placeholder:"جستجو",clear_search:"پاکسازی",load_more:"بارگذاری نتایج بیشتر",search_label:"جستجو در سایت",filters_label:"فیلترها",zero_results:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد",many_results:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",one_result:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",alt_search:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. در عوض نتایج برای [DIFFERENT_TERM] نمایش داده می‌شود",search_suggestion:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. یکی از جستجوهای زیر را امتحان کنید:",searching:"در حال جستجوی [SEARCH_TERM]..."},pa={thanks_to:mt,comments:gt,direction:At,strings:Rt},Bt={};F(Bt,{comments:()=>Tt,default:()=>ka,direction:()=>pt,strings:()=>kt,thanks_to:()=>vt});var vt="Valtteri Laitinen ",Tt="",pt="ltr",kt={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},ka={thanks_to:vt,comments:Tt,direction:pt,strings:kt},Ft={};F(Ft,{comments:()=>bt,default:()=>Fa,direction:()=>Mt,strings:()=>St,thanks_to:()=>Dt});var Dt="Nicolas Friedli ",bt="",Mt="ltr",St={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},Fa={thanks_to:Dt,comments:bt,direction:Mt,strings:St},Ht={};F(Ht,{comments:()=>yt,default:()=>Da,direction:()=>wt,strings:()=>zt,thanks_to:()=>Nt});var Nt="Pablo Villaverde ",yt="",wt="ltr",zt={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},Da={thanks_to:Nt,comments:yt,direction:wt,strings:zt},jt={};F(jt,{comments:()=>Ut,default:()=>ba,direction:()=>It,strings:()=>Pt,thanks_to:()=>Ot});var Ot="Nir Tamir ",Ut="",It="rtl",Pt={placeholder:"חיפוש",clear_search:"ניקוי",load_more:"עוד תוצאות",search_label:"חיפוש באתר זה",filters_label:"מסננים",zero_results:"לא נמצאו תוצאות עבור [SEARCH_TERM]",many_results:"נמצאו [COUNT] תוצאות עבור [SEARCH_TERM]",one_result:"נמצאה תוצאה אחת עבור [SEARCH_TERM]",alt_search:"לא נמצאו תוצאות עבור [SEARCH_TERM]. מוצגות תוצאות עבור [DIFFERENT_TERM]",search_suggestion:"לא נמצאו תוצאות עבור [SEARCH_TERM]. נסו אחד מהחיפושים הבאים:",searching:"מחפש את [SEARCH_TERM]..."},ba={thanks_to:Ot,comments:Ut,direction:It,strings:Pt},Lt={};F(Lt,{comments:()=>qt,default:()=>Ma,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Amit Yadav ",qt="",Vt="ltr",Kt={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है..."},Ma={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};F(Gt,{comments:()=>Wt,default:()=>Sa,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Jt});var Jt="Diomed ",Wt="",Zt="ltr",Yt={placeholder:"Traži",clear_search:"Očisti",load_more:"Učitaj više rezultata",search_label:"Pretraži ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokušaj s jednom od ovih pretraga:",searching:"Pretražujem [SEARCH_TERM]..."},Sa={thanks_to:Jt,comments:Wt,direction:Zt,strings:Yt},Xt={};F(Xt,{comments:()=>$t,default:()=>Ha,direction:()=>e0,strings:()=>u0,thanks_to:()=>Qt});var Qt="Adam Laki ",$t="",e0="ltr",u0={placeholder:"Keresés",clear_search:"Törlés",load_more:"További találatok betöltése",search_label:"Keresés az oldalon",filters_label:"Szűrés",zero_results:"Nincs találat a(z) [SEARCH_TERM] kifejezésre",many_results:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",one_result:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",alt_search:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Találatok mutatása inkább a(z) [DIFFERENT_TERM] kifejezésre",search_suggestion:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Próbáld meg a következő keresések egyikét:",searching:"Keresés a(z) [SEARCH_TERM] kifejezésre..."},Ha={thanks_to:Qt,comments:$t,direction:e0,strings:u0},t0={};F(t0,{comments:()=>s0,default:()=>Na,direction:()=>a0,strings:()=>l0,thanks_to:()=>r0});var r0="Nixentric",s0="",a0="ltr",l0={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Na={thanks_to:r0,comments:s0,direction:a0,strings:l0},n0={};F(n0,{comments:()=>o0,default:()=>ya,direction:()=>_0,strings:()=>c0,thanks_to:()=>i0});var i0="Cosette Bruhns Alonso, Andrew Janco ",o0="",_0="ltr",c0={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},ya={thanks_to:i0,comments:o0,direction:_0,strings:c0},E0={};F(E0,{comments:()=>h0,default:()=>wa,direction:()=>d0,strings:()=>C0,thanks_to:()=>f0});var f0="Tate",h0="",d0="ltr",C0={placeholder:"検索",clear_search:"クリア",load_more:"次を読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する情報はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",alt_search:"[SEARCH_TERM]の検索に一致する情報はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する情報はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています"},wa={thanks_to:f0,comments:h0,direction:d0,strings:C0},m0={};F(m0,{comments:()=>A0,default:()=>za,direction:()=>R0,strings:()=>B0,thanks_to:()=>g0});var g0="Seokho Son ",A0="",R0="ltr",B0={placeholder:"검색어",clear_search:"비우기",load_more:"검색 결과 더 보기",search_label:"사이트 검색",filters_label:"필터",zero_results:"[SEARCH_TERM]에 대한 결과 없음",many_results:"[SEARCH_TERM]에 대한 결과 [COUNT]건",one_result:"[SEARCH_TERM]에 대한 결과 [COUNT]건",alt_search:"[SEARCH_TERM]에 대한 결과 없음. [DIFFERENT_TERM]에 대한 결과",search_suggestion:"[SEARCH_TERM]에 대한 결과 없음. 추천 검색어: ",searching:"[SEARCH_TERM] 검색 중..."},za={thanks_to:g0,comments:A0,direction:R0,strings:B0},v0={};F(v0,{comments:()=>p0,default:()=>ja,direction:()=>k0,strings:()=>F0,thanks_to:()=>T0});var T0="",p0="",k0="ltr",F0={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ētahi otinga kē",search_label:"Rapu",filters_label:"Tātari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kē ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamātau ki ngā mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},ja={thanks_to:T0,comments:p0,direction:k0,strings:F0},D0={};F(D0,{comments:()=>M0,default:()=>Oa,direction:()=>S0,strings:()=>H0,thanks_to:()=>b0});var b0="Harry Min Khant ",M0="",S0="ltr",H0={placeholder:"ရှာရန်",clear_search:"ရှာဖွေမှုကို ရှင်းလင်းပါ။",load_more:"နောက်ထပ်ရလဒ်များကို တင်ပါ။",search_label:"ဤဆိုက်တွင်ရှာဖွေပါ။",filters_label:"စစ်ထုတ်မှုများ",zero_results:"[SEARCH_TERM] အတွက် ရလဒ်များ မရှိပါ",many_results:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT] ခု",one_result:"[SEARCH_TERM] အတွက် ရလဒ် [COUNT]",alt_search:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ ၎င်းအစား [DIFFERENT_TERM] အတွက် ရလဒ်များကို ပြသသည်။",search_suggestion:"[SEARCH_TERM] အတွက် ရလဒ်မရှိပါ။ အောက်ပါရှာဖွေမှုများထဲမှ တစ်ခုကို စမ်းကြည့်ပါ:",searching:"[SEARCH_TERM] ကို ရှာဖွေနေသည်..."},Oa={thanks_to:b0,comments:M0,direction:S0,strings:H0},N0={};F(N0,{comments:()=>w0,default:()=>Ua,direction:()=>z0,strings:()=>j0,thanks_to:()=>y0});var y0="Eirik Mikkelsen",w0="",z0="ltr",j0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},Ua={thanks_to:y0,comments:w0,direction:z0,strings:j0},O0={};F(O0,{comments:()=>I0,default:()=>Ia,direction:()=>P0,strings:()=>L0,thanks_to:()=>U0});var U0="Paul van Brouwershaven",I0="",P0="ltr",L0={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},Ia={thanks_to:U0,comments:I0,direction:P0,strings:L0},x0={};F(x0,{comments:()=>V0,default:()=>Pa,direction:()=>K0,strings:()=>G0,thanks_to:()=>q0});var q0="Eirik Mikkelsen",V0="",K0="ltr",G0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last fleire resultat",search_label:"Søk på denne sida",filters_label:"Filter",zero_results:"Ingen resultat for [SEARCH_TERM]",many_results:"[COUNT] resultat for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultat for [SEARCH_TERM]. Viser resultat for [DIFFERENT_TERM] i staden",search_suggestion:"Ingen resultat for [SEARCH_TERM]. Prøv eitt av desse søkeorda i staden:",searching:"Søker etter [SEARCH_TERM]"},Pa={thanks_to:q0,comments:V0,direction:K0,strings:G0},J0={};F(J0,{comments:()=>Z0,default:()=>La,direction:()=>Y0,strings:()=>X0,thanks_to:()=>W0});var W0="Christopher Wingate",Z0="",Y0="ltr",X0={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},La={thanks_to:W0,comments:Z0,direction:Y0,strings:X0},Q0={};F(Q0,{comments:()=>er,default:()=>xa,direction:()=>ur,strings:()=>tr,thanks_to:()=>$0});var $0="",er="",ur="ltr",tr={placeholder:"Szukaj",clear_search:"Wyczyść",load_more:"Załaduj więcej",search_label:"Przeszukaj tę stronę",filters_label:"Filtry",zero_results:"Brak wyników dla [SEARCH_TERM]",many_results:"[COUNT] wyników dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wyników dla [SEARCH_TERM]. Wyświetlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wyników dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},xa={thanks_to:$0,comments:er,direction:ur,strings:tr},rr={};F(rr,{comments:()=>ar,default:()=>qa,direction:()=>lr,strings:()=>nr,thanks_to:()=>sr});var sr="Jonatah",ar="",lr="ltr",nr={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},qa={thanks_to:sr,comments:ar,direction:lr,strings:nr},ir={};F(ir,{comments:()=>_r,default:()=>Va,direction:()=>cr,strings:()=>Er,thanks_to:()=>or});var or="Bogdan Mateescu ",_r="",cr="ltr",Er={placeholder:"Căutare",clear_search:"Ştergeţi",load_more:"Încărcați mai multe rezultate",search_label:"Căutați în acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afișează în schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. Încercați una dintre următoarele căutări:",searching:"Se caută după: [SEARCH_TERM]..."},Va={thanks_to:or,comments:_r,direction:cr,strings:Er},fr={};F(fr,{comments:()=>dr,default:()=>Ka,direction:()=>Cr,strings:()=>mr,thanks_to:()=>hr});var hr="Aleksandr Gordeev",dr="",Cr="ltr",mr={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]"},Ka={thanks_to:hr,comments:dr,direction:Cr,strings:mr},gr={};F(gr,{comments:()=>Rr,default:()=>Ga,direction:()=>Br,strings:()=>vr,thanks_to:()=>Ar});var Ar="Andrija Sagicc",Rr="",Br="ltr",vr={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]..."},Ga={thanks_to:Ar,comments:Rr,direction:Br,strings:vr},Tr={};F(Tr,{comments:()=>kr,default:()=>Ja,direction:()=>Fr,strings:()=>Dr,thanks_to:()=>pr});var pr="Montazar Al-Jaber ",kr="",Fr="ltr",Dr={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]..."},Ja={thanks_to:pr,comments:kr,direction:Fr,strings:Dr},br={};F(br,{comments:()=>Sr,default:()=>Wa,direction:()=>Hr,strings:()=>Nr,thanks_to:()=>Mr});var Mr="Anonymous",Sr="",Hr="ltr",Nr={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},Wa={thanks_to:Mr,comments:Sr,direction:Hr,strings:Nr},yr={};F(yr,{comments:()=>zr,default:()=>Za,direction:()=>jr,strings:()=>Or,thanks_to:()=>wr});var wr="",zr="",jr="ltr",Or={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது"},Za={thanks_to:wr,comments:zr,direction:jr,strings:Or},Ur={};F(Ur,{comments:()=>Pr,default:()=>Ya,direction:()=>Lr,strings:()=>xr,thanks_to:()=>Ir});var Ir="Patiphon Loetsuthakun ",Pr="",Lr="ltr",xr={placeholder:"ค้นหา",clear_search:"ล้าง",load_more:"โหลดผลลัพธ์เพิ่มเติม",search_label:"ค้นหาบนเว็บไซต์",filters_label:"ตัวกรอง",zero_results:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM]",many_results:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",one_result:"พบ [COUNT] ผลการค้นหาสำหรับ [SEARCH_TERM]",alt_search:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] แสดงผลลัพธ์จากการค้นหา [DIFFERENT_TERM] แทน",search_suggestion:"ไม่พบผลลัพธ์สำหรับ [SEARCH_TERM] ลองคำค้นหาเหล่านี้แทน:",searching:"กำลังค้นหา [SEARCH_TERM]..."},Ya={thanks_to:Ir,comments:Pr,direction:Lr,strings:xr},qr={};F(qr,{comments:()=>Kr,default:()=>Xa,direction:()=>Gr,strings:()=>Jr,thanks_to:()=>Vr});var Vr="Taylan Özgür Bildik",Kr="",Gr="ltr",Jr={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor..."},Xa={thanks_to:Vr,comments:Kr,direction:Gr,strings:Jr},Wr={};F(Wr,{comments:()=>Yr,default:()=>Qa,direction:()=>Xr,strings:()=>Qr,thanks_to:()=>Zr});var Zr="Vladyslav Lyshenko ",Yr="",Xr="ltr",Qr={placeholder:"Пошук",clear_search:"Очистити поле",load_more:"Завантажити ще",search_label:"Пошук по сайту",filters_label:"Фільтри",zero_results:"Нічого не знайдено за запитом: [SEARCH_TERM]",many_results:"[COUNT] результатів на запит: [SEARCH_TERM]",one_result:"[COUNT] результат за запитом: [SEARCH_TERM]",alt_search:"Нічого не знайдено на запит: [SEARCH_TERM]. Показано результати на запит: [DIFFERENT_TERM]",search_suggestion:"Нічого не знайдено на запит: [SEARCH_TERM]. Спробуйте один із таких варіантів",searching:"Пошук за запитом: [SEARCH_TERM]"},Qa={thanks_to:Zr,comments:Yr,direction:Xr,strings:Qr},$r={};F($r,{comments:()=>us,default:()=>$a,direction:()=>ts,strings:()=>rs,thanks_to:()=>es});var es="Long Nhat Nguyen",us="",ts="ltr",rs={placeholder:"Tìm kiếm",clear_search:"Xóa",load_more:"Nhiều kết quả hơn",search_label:"Tìm kiếm trong trang này",filters_label:"Bộ lọc",zero_results:"Không tìm thấy kết quả cho [SEARCH_TERM]",many_results:"[COUNT] kết quả cho [SEARCH_TERM]",one_result:"[COUNT] kết quả cho [SEARCH_TERM]",alt_search:"Không tìm thấy kết quả cho [SEARCH_TERM]. Kiểm thị kết quả thay thế với [DIFFERENT_TERM]",search_suggestion:"Không tìm thấy kết quả cho [SEARCH_TERM]. Thử một trong các tìm kiếm:",searching:"Đang tìm kiếm cho [SEARCH_TERM]..."},$a={thanks_to:es,comments:us,direction:ts,strings:rs},ss={};F(ss,{comments:()=>ls,default:()=>el,direction:()=>ns,strings:()=>is,thanks_to:()=>as});var as="Amber Song",ls="",ns="ltr",is={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},el={thanks_to:as,comments:ls,direction:ns,strings:is},os={};F(os,{comments:()=>cs,default:()=>ul,direction:()=>Es,strings:()=>fs,thanks_to:()=>_s});var _s="Amber Song",cs="",Es="ltr",fs={placeholder:"搜索",clear_search:"清除",load_more:"加載更多結果",search_label:"站內搜索",filters_label:"篩選",zero_results:"未找到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"未找到 [SEARCH_TERM] 的相關結果。請嘗試以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},ul={thanks_to:_s,comments:cs,direction:Es,strings:fs},hs={};F(hs,{comments:()=>Cs,default:()=>tl,direction:()=>ms,strings:()=>gs,thanks_to:()=>ds});var ds="Amber Song",Cs="",ms="ltr",gs={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},tl={thanks_to:ds,comments:Cs,direction:ms,strings:gs},rl=[Ru,ku,Su,zu,Pu,Ku,Yu,ut,lt,ct,Ct,Bt,Ft,Ht,jt,Lt,Gt,Xt,t0,n0,E0,m0,v0,D0,N0,O0,x0,J0,Q0,rr,ir,fr,gr,Tr,br,yr,Ur,qr,Wr,$r,ss,os,hs],sl=rl,al=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/eu.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/my.json","../../translations/nb.json","../../translations/nl.json","../../translations/nn.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/th.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,u,t){const r=e.slice();return r[51]=u[t],r}function _u(e){let u,t,r;function s(l){e[37](l)}let a={show_empty_filters:e[5],open_filters:e[6],available_filters:e[18],translate:e[20],automatic_translations:e[19],translations:e[7]};return e[0]!==void 0&&(a.selected_filters=e[0]),u=new fa({props:a}),ae.push(()=>Ws(u,"selected_filters",s)),{c(){Fe(u.$$.fragment)},m(l,n){fe(u,l,n),r=!0},p(l,n){const i={};n[0]&32&&(i.show_empty_filters=l[5]),n[0]&64&&(i.open_filters=l[6]),n[0]&262144&&(i.available_filters=l[18]),n[0]&524288&&(i.automatic_translations=l[19]),n[0]&128&&(i.translations=l[7]),!t&&n[0]&1&&(t=!0,i.selected_filters=l[0],qs(()=>t=!1)),u.$set(i)},i(l){r||(z(u.$$.fragment,l),r=!0)},o(l){U(u.$$.fragment,l),r=!1},d(l){he(u,l)}}}function cu(e){let u,t,r,s;const a=[nl,ll],l=[];function n(i,E){return i[14]?0:1}return t=n(e),r=l[t]=a[t](e),{c(){u=v("div"),r.c(),C(u,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,E){k(i,u,E),l[t].m(u,null),s=!0},p(i,E){let _=t;t=n(i),t===_?l[t].p(i,E):(le(),U(l[_],1,1,()=>{l[_]=null}),ne(),r=l[t],r?r.p(i,E):(r=l[t]=a[t](i),r.c()),z(r,1),r.m(u,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&p(u),l[t].d()}}}function ll(e){let u,t,r,s=[],a=new Map,l,n,i;function E(c,g){return c[13].results.length===0?_l:c[13].results.length===1?ol:il}let _=E(e),f=_(e),d=e[13].results.slice(0,e[17]);const h=c=>c[51].id;for(let c=0;ce[17]&&fu(e);return{c(){u=v("p"),f.c(),t=M(),r=v("ol");for(let c=0;cc[17]?o?o.p(c,g):(o=fu(c),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},i(c){if(!i){for(let g=0;g{i[d]=null}),ne(),s=i[r],s?s.p(u,f):(s=i[r]=n[r](u),s.c()),z(s,1),s.m(a.parentNode,a))},i(_){l||(z(s),l=!0)},o(_){U(s),l=!1},d(_){_&&p(t),i[r].d(_),_&&p(a)}}}function fu(e){let u,t=e[20]("load_more",e[19],e[7])+"",r,s,a;return{c(){u=v("button"),r=S(t),C(u,"type","button"),C(u,"class","pagefind-ui__button svelte-e9gkc3")},m(l,n){k(l,u,n),R(u,r),s||(a=G(u,"click",e[22]),s=!0)},p(l,n){n[0]&524416&&t!==(t=l[20]("load_more",l[19],l[7])+"")&&j(r,t)},d(l){l&&p(u),s=!1,a()}}}function hu(e){let u,t=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){u=v("p"),r=S(t),C(u,"class","pagefind-ui__message svelte-e9gkc3")},m(s,a){k(s,u,a),R(u,r)},p(s,a){a[0]&589952&&t!==(t=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,t)},d(s){s&&p(u)}}}function fl(e){let u,t,r,s,a,l,n,i=e[20]("clear_search",e[19],e[7])+"",E,_,f,d,h,o,c,g,A=e[12]&&_u(e),B=e[15]&&cu(e);return{c(){u=v("div"),t=v("form"),r=v("input"),l=M(),n=v("button"),E=S(i),_=M(),f=v("div"),A&&A.c(),d=M(),B&&B.c(),C(r,"class","pagefind-ui__search-input svelte-e9gkc3"),C(r,"type","text"),C(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),C(r,"title",a=e[20]("placeholder",e[19],e[7])),C(r,"autocapitalize","none"),C(r,"enterkeyhint","search"),r.autofocus=e[8],C(n,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(n,"pagefind-ui__suppressed",!e[9]),C(f,"class","pagefind-ui__drawer svelte-e9gkc3"),K(f,"pagefind-ui__hidden",!e[15]),C(t,"class","pagefind-ui__form svelte-e9gkc3"),C(t,"role","search"),C(t,"aria-label",h=e[20]("search_label",e[19],e[7])),C(t,"action","javascript:void(0);"),C(u,"class","pagefind-ui svelte-e9gkc3"),K(u,"pagefind-ui--reset",e[1])},m(T,D){k(T,u,D),R(u,t),R(t,r),ze(r,e[9]),e[34](r),R(t,l),R(t,n),R(n,E),e[35](n),R(t,_),R(t,f),A&&A.m(f,null),R(f,d),B&&B.m(f,null),o=!0,e[8]&&r.focus(),c||(g=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(n,"click",e[36]),G(t,"submit",hl)],c=!0)},p(T,D){(!o||D[0]&524416&&s!==(s=T[20]("placeholder",T[19],T[7])))&&C(r,"placeholder",s),(!o||D[0]&524416&&a!==(a=T[20]("placeholder",T[19],T[7])))&&C(r,"title",a),(!o||D[0]&256)&&(r.autofocus=T[8]),D[0]&512&&r.value!==T[9]&&ze(r,T[9]),(!o||D[0]&524416)&&i!==(i=T[20]("clear_search",T[19],T[7])+"")&&j(E,i),(!o||D[0]&512)&&K(n,"pagefind-ui__suppressed",!T[9]),T[12]?A?(A.p(T,D),D[0]&4096&&z(A,1)):(A=_u(T),A.c(),z(A,1),A.m(f,d)):A&&(le(),U(A,1,1,()=>{A=null}),ne()),T[15]?B?(B.p(T,D),D[0]&32768&&z(B,1)):(B=cu(T),B.c(),z(B,1),B.m(f,null)):B&&(le(),U(B,1,1,()=>{B=null}),ne()),(!o||D[0]&32768)&&K(f,"pagefind-ui__hidden",!T[15]),(!o||D[0]&524416&&h!==(h=T[20]("search_label",T[19],T[7])))&&C(t,"aria-label",h),(!o||D[0]&2)&&K(u,"pagefind-ui--reset",T[1])},i(T){o||(z(A),z(B),o=!0)},o(T){U(A),U(B),o=!1},d(T){T&&p(u),e[34](null),e[35](null),A&&A.d(),B&&B.d(),c=!1,W(g)}}}var hl=e=>e.preventDefault();function dl(e,u,t){const r={},s=al.map(m=>m.match(/([^\/]+)\.json$/)[1]);for(let m=0;mw[m]??N[m]??"";Is(()=>{let m=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",N=Au(m.toLocaleLowerCase());t(19,He=r[`${N.language}-${N.script}-${N.region}`]||r[`${N.language}-${N.region}`]||r[`${N.language}`]||r.en)}),Ps(()=>{H?.destroy?.(),H=null});const Ne=async()=>{if(!me&&(t(12,me=!0),!H)){let m;try{m=await ys(()=>import(`${a}pagefind.js`),[])}catch(w){console.error(w),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` `)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}_||t(24,_=E?12:30);let N={...g||{},excerptLength:_};await m.options(N);for(const w of A){if(!w.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=w.bundlePath;delete w.bundlePath,await m.mergeIndex(I,w)}H=m,Bs()}},Bs=async()=>{H&&(Se=await H.filters(),(!ue||!Object.keys(ue).length)&&t(18,ue=Se))},vs=m=>{let N={};return Object.entries(m).filter(([,w])=>w).forEach(([w])=>{let[I,Z]=w.split(/:(.*)$/);N[I]=N[I]||[],N[I].push(Z)}),N};let te;const Ts=async(m,N)=>{if(!m){t(15,Ae=!1),te&&clearTimeout(te);return}const w=vs(N),I=()=>ps(m,w);c>0&&m?(te&&clearTimeout(te),te=setTimeout(I,c),await ye(),H.preload(m,{filters:w})):I(),ks()},ye=async()=>{for(;!H;)Ne(),await new Promise(m=>setTimeout(m,50))},ps=async(m,N)=>{t(16,Me=m||""),typeof d=="function"&&(m=d(m)),t(14,ge=!0),t(15,Ae=!0),await ye();const w=++be,I={filters:N};q&&typeof q=="object"&&(I.sort=q);const Z=await H.search(m,I);be===w&&(Z.filters&&Object.keys(Z.filters)?.length&&t(18,ue=Z.filters),t(13,De=Z),t(14,ge=!1),t(17,Re=l))},ks=()=>{const m=x.offsetWidth;m!=As&&t(10,y.style.paddingRight=`${m+2}px`,y)},Fs=m=>{m?.preventDefault(),t(17,Re+=l)},Ds=m=>{m.key==="Escape"&&(t(9,b=""),y.blur()),m.key==="Enter"&&m.preventDefault()};function bs(){b=this.value,t(9,b),t(23,B)}function Ms(m){ae[m?"unshift":"push"](()=>{y=m,t(10,y)})}function Ss(m){ae[m?"unshift":"push"](()=>{x=m,t(11,x)})}const Hs=()=>{t(9,b=""),y.blur()};function Ns(m){L=m,t(0,L)}return e.$$set=m=>{"base_path"in m&&t(25,a=m.base_path),"page_size"in m&&t(26,l=m.page_size),"reset_styles"in m&&t(1,n=m.reset_styles),"show_images"in m&&t(2,i=m.show_images),"show_sub_results"in m&&t(3,E=m.show_sub_results),"excerpt_length"in m&&t(24,_=m.excerpt_length),"process_result"in m&&t(4,f=m.process_result),"process_term"in m&&t(27,d=m.process_term),"show_empty_filters"in m&&t(5,h=m.show_empty_filters),"open_filters"in m&&t(6,o=m.open_filters),"debounce_timeout_ms"in m&&t(28,c=m.debounce_timeout_ms),"pagefind_options"in m&&t(29,g=m.pagefind_options),"merge_index"in m&&t(30,A=m.merge_index),"trigger_search_term"in m&&t(23,B=m.trigger_search_term),"translations"in m&&t(7,T=m.translations),"autofocus"in m&&t(8,D=m.autofocus),"sort"in m&&t(31,q=m.sort),"selected_filters"in m&&t(0,L=m.selected_filters)},e.$$.update=()=>{e.$$.dirty[0]&8388608&&B&&(t(9,b=B),t(23,B="")),e.$$.dirty[0]&513&&Ts(b,L)},[L,n,i,E,f,h,o,T,D,b,y,x,me,De,ge,Ae,Me,Re,ue,He,Rs,Ne,Fs,B,_,a,l,d,c,g,A,q,Ds,bs,Ms,Ss,Hs,Ns]}var Cl=class extends Ce{constructor(e){super(),de(this,e,dl,fl,Ee,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},ml=Cl,ke;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(ke=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{ke="/pagefind/"}var Al=class{constructor(e){this._pfs=null;let u=e.element??"[data-pagefind-ui]",t=e.bundlePath??ke,r=e.pageSize??5,s=e.resetStyles??!0,a=e.showImages??!0,l=e.showSubResults??!1,n=e.excerptLength??0,i=e.processResult??null,E=e.processTerm??null,_=e.showEmptyFilters??!0,f=e.openFilters??[],d=e.debounceTimeoutMs??300,h=e.mergeIndex??[],o=e.translations??[],c=e.autofocus??!1,g=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;const A=u instanceof HTMLElement?u:document.querySelector(u);A?this._pfs=new ml({target:A,props:{base_path:t,page_size:r,reset_styles:s,show_images:a,show_sub_results:l,excerpt_length:n,process_result:i,process_term:E,show_empty_filters:_,open_filters:f,debounce_timeout_ms:d,merge_index:h,translations:o,autofocus:c,sort:g,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${u}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let u={};for(let[t,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)u[`${t}:${s}`]=!0;else u[`${t}:${r}`]=!0;this._pfs.$$set({selected_filters:u})}destroy(){this._pfs.$destroy()}};export{Al as PagefindUI}; diff --git a/baselines/baseline-file-layout/index.html b/baselines/baseline-file-layout/index.html index de9abc6d..419996cc 100644 --- a/baselines/baseline-file-layout/index.html +++ b/baselines/baseline-file-layout/index.html @@ -1,4 +1,4 @@ - Baseline File Layout | mSCP - Skip to content
Skip to content

Baseline File Layout

Baseline files define the controls and rules that make up a security profile. They are used to generate guides, scripts, and mobileconfig files for macOS security.

- -

A baseline file typically includes the following fields:

- -

A human-readable name for the baseline.
-Example:

-
title: "Apple macOS 13 (Ventura) Test Baseline"
- -

A brief summary describing the purpose and scope of the baseline.
-Example:

-
description: |
This guide describes the prudent actions to take when securing a macOS 13 system against the Test Baseline.
- -

A list of authors and their organizations.
-Example:

-
authors: |
|===
|John Smith|NIST
|Jack Doe|NIST
|===
- -

Defines the structure of the baseline, mapping sections to their associated rules:

-
    -
  • section: The name of the section (as defined in the sections directory) to be included in the guide.
  • -
  • rules: A list of rule IDs that are part of this section. Each rule ID should match the filename and ID of a corresponding rule in the rules directory.
  • -
-

Example:

-
profile:
- section: "Authentication"
rules:
- auth_pam_login_smartcard_enforce
- auth_pam_su_smartcard_enforce
- auth_pam_sudo_smartcard_enforce
- auth_smartcard_allow
- section: "Auditing"
rules:
- audit_acls_files_configure
- audit_acls_files_mode_configure
- audit_acls_folder_wheel_configure
+

Baseline File Layout

A baseline file is a YAML document that defines which security rules apply to a specific compliance framework. Understanding the structure helps you customize baselines or create your own.

+
- -
title: "Apple macOS 13 (Ventura) Test Baseline"
description: |
This guide describes the prudent actions to take when securing a macOS 13 system against the Test Baseline.
authors: |
|===
|John Smith|NIST
|Jack Doe|NIST
|===
profile:
- section: "Authentication"
rules:
- auth_pam_login_smartcard_enforce
- auth_pam_su_smartcard_enforce
- auth_pam_sudo_smartcard_enforce
- auth_smartcard_allow
- section: "Auditing"
rules:
- audit_acls_files_configure
- audit_acls_files_mode_configure
- audit_acls_folder_wheel_configure
\ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldPurpose
titleHuman-readable name for the baseline
descriptionBrief summary of the baseline’s purpose
authorsList of contributors and their organizations
parent_valuesDefault configuration level for organization-defined values
profileSections and rules that make up the baseline
+
+ + +

The display name shown in generated documentation.

+
title: "macOS 15 (Sequoia): NIST 800-53r5 Moderate"
+ +

A summary that appears at the top of generated guides. Use the | character for multi-line text.

+
description: |
This guide describes the actions to take when
securing a macOS 15 system against the NIST
800-53 Rev 5 Moderate baseline.
+ +

Contributors listed in AsciiDoc table format. This appears in generated documentation.

+
authors: |
|===
|Name|Organization
|John Smith|NIST
|Jane Doe|NASA
|===
+ +

Sets the default configuration level for organization-defined values (ODVs). Common values include recommended, cis_lvl1, or cis_lvl2.

+
parent_values: "recommended"
+ + +

The core of the baseline. Organizes rules into sections for the generated documentation.

+
    +
  • section - Category name (matches files in the sections/ folder)
  • +
  • rules - List of rule IDs (matches files in the rules/ folder)
  • +
+
profile:
- section: "Authentication"
rules:
- auth_pam_login_smartcard_enforce
- auth_pam_su_smartcard_enforce
- auth_smartcard_allow
- section: "Auditing"
rules:
- audit_acls_files_configure
- audit_acls_files_mode_configure
+
+ +
title: "macOS 15 (Sequoia): NIST 800-53r5 Moderate"
description: |
This guide describes the actions to take when securing
a macOS 15 system against the NIST 800-53 Rev 5 Moderate baseline.
authors: |
|===
|Name|Organization
|John Smith|NIST
|Jane Doe|NASA
|===
parent_values: "recommended"
profile:
- section: "Authentication"
rules:
- auth_pam_login_smartcard_enforce
- auth_pam_su_smartcard_enforce
- auth_smartcard_allow
- section: "Auditing"
rules:
- audit_acls_files_configure
- audit_acls_files_mode_configure
- section: "System Settings"
rules:
- system_settings_firewall_enable
- system_settings_gatekeeper_enable
+
+ + +
\ No newline at end of file diff --git a/baselines/how-to-generate-baselines/index.html b/baselines/how-to-generate-baselines/index.html index 593f61d2..1a08b53a 100644 --- a/baselines/how-to-generate-baselines/index.html +++ b/baselines/how-to-generate-baselines/index.html @@ -1,4 +1,4 @@ - How To Generate Baselines | mSCP - Skip to content
Skip to content

How To Generate Baselines

The primary script for generating baselines is located here in the macos_security repository:

-
  • Directorymacos_security/ -
    • Directoryscripts/ ---> Project scripts -
      • generate_baseline.py ---> Script to generate baselines
- -

Follow these steps to generate a baseline:

+

How to Generate Baselines

Generating a baseline creates the YAML file that defines which security rules apply to your environment. This file is required before you can generate guidance documents, configuration profiles, or compliance scripts.

+ + +
+
  1. -

    Select or Download the Correct Branch

    -
      -
    • Make sure you are on the branch you want to work from.
    • -
    • If using git, run git checkout <branch-name> to switch branches if needed.
    • -
    +

    List available baselines

    +
    Terminal window
    ./scripts/generate_baseline.py -l
  2. -

    Choose the Baseline to Generate

    -
      -
    • Identify the baseline you want to generate (e.g., CIS_lvl1, STIG, etc.).
    • -
    • Use the -l flag to list available baseline options for the selected branch: -
      Terminal window
      ./macos_security-sequoia/scripts/generate_baseline.sh -l
      -
    • -
    +

    Generate your baseline

    +
    Terminal window
    ./scripts/generate_baseline.py -k BASELINE_NAME
    +

    Example:

    +
    Terminal window
    ./scripts/generate_baseline.py -k 800-53r5_moderate
  3. -

    Generate the Selected Baseline

    -
      -
    • -

      Use the -k flag with the selected tag to generate the baseline:

      -
      Terminal window
      ./macos_security-sequoia/scripts/generate_baseline.sh -k 800-53r5_moderate
      -

      This example generates a baseline for 800-53r5_moderate.

      -
    • -
    • -

      Use the -t flag to customize the baseline for your organization:

      -
      Terminal window
      ./macos_security-sequoia/scripts/generate_baseline.sh -k 800-53r5_moderate -t
      -

      If you use -t, you will be prompted with questions to tailor the baseline. See How to Tailor a Baseline for more details.

      -
    • -
    -
  4. -
  5. -

    Locate the Generated Files

    -
      -
    • After running the generation command, the baseline files are created in the following directories:
    • -
    +

    Find your file

    +

    The baseline is saved to:

    +
    build/baselines/BASELINE_NAME.yaml
-
  • Directorymacos_security/ +
    + +

    Add the -t flag to customize the baseline for your organization:

    +
    Terminal window
    ./scripts/generate_baseline.py -k 800-53r5_moderate -t
    +

    This starts an interactive process where you can:

    +
      +
    • Include or exclude specific rules
    • +
    • Set organization-specific values (like password length or timeout periods)
    • +
    +

    Custom values are saved to custom/rules/ for reuse.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagDescription
    -hShow help message
    -lList all available baselines
    -k NAMEGenerate baseline for the specified framework
    -tEnable interactive tailoring
    -cShow NIST 800-53 controls covered by the baseline
    +
    + +
    • Directorymacos_security/
      • Directorybuild/
        • Directorybaselines/ -
          • BASELINENAME.yaml ---> The generated baseline file (name depends on your selection or customization)
      • Directorycustom/ +
        • BASELINE_NAME.yaml - The generated baseline file
    • Directorycustom/
      • Directoryrules/ -
        • *.yaml ---> Custom values you set if you used -t
-

These files are required to generate the guidance files.
-For more information, see How to Tailor a Baseline or review the baseline file layout.

\ No newline at end of file +
  • *.yaml - Custom values (if you used -t)
+
+ + +
\ No newline at end of file diff --git a/baselines/tailoring-a-baseline/index.html b/baselines/tailoring-a-baseline/index.html index 0fc4d0c3..22aacfbf 100644 --- a/baselines/tailoring-a-baseline/index.html +++ b/baselines/tailoring-a-baseline/index.html @@ -1,4 +1,4 @@ - Tailoring a baseline | mSCP - Skip to content
Skip to content

Tailoring a baseline

Tailoring allows you to create a custom security baseline that fits your organization’s needs. The tailoring process lets you select which rules to include and set organization-defined values (ODVs) for controls that require them.

-
  • Directorymacos_security/ -
    • Directoryscripts/ -
      • generate_baseline.py ---> Script to generate and tailor baselines
-

Follow these steps to tailor a baseline:

+

Tailoring a Baseline

Tailoring lets you customize a baseline to fit your organization’s specific needs. You can include or exclude rules and set organization-defined values like password length or screen lock timeout.

+ +
+ +

Consider tailoring when you need to:

+
    +
  • Exclude rules that don’t apply to your environment
  • +
  • Set custom values for settings like password requirements or timeout periods
  • +
  • Document exceptions for rules your organization can’t implement
  • +
  • Create a named baseline specific to your organization
  • +
+
+
  1. -

    Start the Tailoring Script

    -
      -
    • Run the script with the -t flag to begin tailoring: -
      Terminal window
      ./macos_security/scripts/generate_baseline.py -k 800-53r5_moderate -t
      -Replace 800-53r5_moderate with your desired baseline tag.
    • -
    +

    Run the tailoring command

    +
    Terminal window
    ./scripts/generate_baseline.py -k BASELINE_NAME -t
    +

    Example:

    +
    Terminal window
    ./scripts/generate_baseline.py -k 800-53r5_moderate -t
  2. -

    Enter Basic Information

    +

    Enter baseline information

    +

    You’ll be prompted for:

      -
    • You will be prompted for: -
        -
      • Benchmark Name
      • -
      • Author’s Name
      • +
      • Baseline name
      • +
      • Author name
      • Organization
    • -
    +
  3. +

    Select rules to include

    +

    For each rule, choose whether to include it:

    +
    Include "audit_acls_files_configure"? [Y/n/all/?]:
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    OptionAction
    YInclude this rule (default)
    nExclude this rule
    allInclude all remaining rules
    ?Show rule details
    +
  4. -

    Select Rules to Include

    -
      -
    • For each rule, you will be asked whether to include it in your tailored baseline: -
      Would you like to include the rule for "audit_acls_files_configure" in your benchmark? [Y/n/all/?]:
      -
    • -
    • Enter ? to see more details about a rule.
    • -
    +

    Set organization-defined values

    +

    For rules that need custom values, enter your setting or press Enter for the default:

    +
    Enter value for "pwpolicy_account_lockout_enforce"
    or press Enter for recommended (3):
  5. -

    Set Organization Defined Values (ODVs)

    -
      -
    • If a rule requires an ODV, you will be prompted to enter a value or accept the recommended default: -
      Number of failed attempts.
      Enter the ODV for "pwpolicy_account_lockout_enforce" or press Enter for the recommended value (3):
      -
    • -
    -
  6. -
  7. -

    Review Output Files

    -
      -
    • After completing the prompts, the following files are created:
    • -
    -
  8. -
-
  • Directorymacos_security/ +

    Find your files

    +

    Your tailored baseline and custom values are saved:

    +
    • Directorymacos_security/
      • Directorybuild/
        • Directorybaselines/ -
          • YOUR_BENCHMARK.yaml ---> The tailored baseline file
      • Directorycustom/ +
        • YOUR_BASELINE.yaml - Tailored baseline
    • Directorycustom/
      • Directoryrules/ -
        • *.yaml ---> Custom ODV values for tailored rules
-

Each tailored rule with a custom ODV will have a YAML file like:

-
odv:
custom: 11
+
  • *.yaml - Custom ODV values
+ + +
+ +

When you set a custom value, a YAML file is created in custom/rules/:

+
---
odv:
custom: 5
+

This file overrides the default value for that rule. Your custom values are preserved and reused when you regenerate the baseline.

+
+ +
Terminal window
# Generate a tailored NIST 800-53 Moderate baseline
./scripts/generate_baseline.py -k 800-53r5_moderate -t
+
# Generate outputs from your tailored baseline
./scripts/generate_guidance.py -s -p build/baselines/my_org_baseline.yaml
+
+ -

Use these tailored files to generate guidance or further customize your security posture. For more details, see Customization.

\ No newline at end of file +
\ No newline at end of file diff --git a/baselines/what-are-baselines/index.html b/baselines/what-are-baselines/index.html index dc68122c..da1fab29 100644 --- a/baselines/what-are-baselines/index.html +++ b/baselines/what-are-baselines/index.html @@ -1,4 +1,4 @@ - What Are Baselines? | mSCP - Skip to content
Skip to content

What Are Baselines?

A baseline is a collection of security rules and configuration settings that define a minimum standard for compliance with a specific security framework or policy. Baselines help organizations ensure their systems meet required security controls and best practices. In this project, a baseline is represented as a YAML file that lists all the rules relevant to a particular compliance target, such as NIST 800-53, DISA-STIG, CIS, or CMMC.

-

Each baseline is tailored to a specific operating system (macOS, iOS/iPadOS, or visionOS) and compliance level (such as High, Moderate, or Low). This ensures that the security guidance and automation generated from a baseline are appropriate for the OS and the compliance requirements you are targeting. Selecting the correct baseline for your OS and compliance needs is essential for generating accurate guidance and scripts.

-

The baselines provided in this project are derived from widely recognized security standards and frameworks, including:

- +

What Are Baselines?

A baseline is a YAML file that defines which security rules apply to your environment. Each baseline maps to a compliance framework (NIST 800-53, CIS Benchmarks, DISA STIG, etc.) and includes all the rules needed to meet that framework’s requirements.

+

Once you have a baseline, the project scripts use it to generate everything you need: guidance documents, configuration profiles, compliance scripts, and more.

+
- -

The project provides a variety of baselines, each designed for a specific OS and compliance framework. These files are located in the /baselines/ folder of the repository. Below is a summary of the available baselines:

-
    -
  • NIST 800-53 (macOS, iOS/iPadOS, visionOS) -
      -
    • High: 800-53r5_high.yaml
    • -
    • Moderate: 800-53r5_moderate.yaml
    • -
    • Low: 800-53r5_low.yaml
    • -
    -
  • -
  • DISA-STIG -
      -
    • macOS: DISA-STIG.yaml
    • -
    • iOS/iPadOS: -
        -
      • iOS STIG: ios_stig.yaml
      • -
      • iOS STIG BYOAD: ios_stig_byoad.yaml
      • -
      -
    • -
    -
  • -
  • NIST 800-171 -
      -
    • 800-171.yaml
    • -
    -
  • -
  • CIS Benchmarks -
      -
    • macOS: -
        -
      • Level 1: cis_lvl1.yaml
      • -
      • Level 2: cis_lvl2.yaml (includes Level 1)
      • -
      -
    • -
    • iOS/iPadOS: -
        -
      • Level 1 BYOD: cis_lvl1_byod.yaml
      • -
      • Level 2 BYOD: cis_lvl2_byod.yaml
      • -
      • Level 1 Enterprise: cis_lvl1_enterprise.yaml
      • -
      • Level 2 Enterprise: cis_lvl2_enterprise.yaml
      • -
      -
    • -
    -
  • -
  • CIS Controls V8 -
      -
    • cisv8.yaml
    • -
    -
  • -
  • CMMC -
      -
    • Level 1: cmmc_lvl1.yaml
    • -
    • Level 2: cmmc_lvl2.yaml
    • -
    -
  • -
  • CNSSI 1254 -
      -
    • High: cnssi-1254_high.yaml
    • -
    • Moderate: cnssi-1254_moderate.yaml
    • -
    • Low: cnssi-1254_low.yaml
    • -
    -
  • -
  • Indigo (iOS Only) -
      -
    • Base: indigo_base.yaml
    • -
    • High: indigo_high.yaml
    • -
    -
  • -
- + +
    +
  1. Choose a framework - Pick the compliance standard you need (NIST, CIS, STIG, etc.)
  2. +
  3. Generate the baseline - Run generate_baseline.py to create the YAML file
  4. +
  5. Customize if needed - Tailor the baseline to your organization’s requirements
  6. +
  7. Generate outputs - Use the baseline to create profiles, scripts, and documentation
  8. +
+

Each baseline is specific to an operating system (macOS, iOS/iPadOS, or visionOS) and compliance level (High, Moderate, Low, or Level 1/2 depending on the framework).


-

Checking Available Baselines for the Selected Branch

Section titled “Checking Available Baselines for the Selected Branch”
-

To see all available baseline tags for the currently checked-out branch, run:

+ +

Baselines are located in the /baselines/ folder. Here’s what’s available:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FrameworkBaseline Files
NIST 800-53 Rev 5800-53r5_high.yaml, 800-53r5_moderate.yaml, 800-53r5_low.yaml
NIST 800-171800-171.yaml
DISA STIGmacOS: DISA-STIG.yaml
iOS: ios_stig.yaml, ios_stig_byoad.yaml
CMMC 2.0cmmc_lvl1.yaml, cmmc_lvl2.yaml
CNSSI 1253cnssi-1253_high.yaml, cnssi-1253_moderate.yaml, cnssi-1253_low.yaml
+ + + + + + + + + + + + + + + + + + + + +
FrameworkBaseline Files
CIS Benchmarks (macOS)cis_lvl1.yaml, cis_lvl2.yaml
CIS Benchmarks (iOS)cis_lvl1_byod.yaml, cis_lvl2_byod.yaml
cis_lvl1_enterprise.yaml, cis_lvl2_enterprise.yaml
CIS Controls v8cisv8.yaml
+ + + + + + + + + + + + +
FrameworkBaseline Files
Indigo (iOS only)indigo_base.yaml, indigo_high.yaml
+ +
+ +

To see all baselines available for your current branch:

Terminal window
./scripts/generate_baseline.py -l
-

This will list all baseline tags available for your current branch.

Example output:

-
Terminal window
800-171
800-53r4_high
800-53r4_low
800-53r4_moderate
800-53r5_high
800-53r5_low
800-53r5_moderate
800-53r5_privacy
all_rules
arm64
cis_lvl1
cis_lvl2
cisv8
cmmc_lvl1
cmmc_lvl2
cnssi-1253_high
cnssi-1253_low
cnssi-1253_moderate
i386
inherent
manual
n_a
none
permanent
srg
stig
supplemental
+
800-53r5_high
800-53r5_moderate
800-53r5_low
cis_lvl1
cis_lvl2
DISA-STIG
cmmc_lvl1
cmmc_lvl2
...

- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConceptDescription
PurposeDefine what security settings your systems should have
CustomizationTailor baselines to fit your organization’s specific needs
AuditingProvide evidence that systems meet compliance standards
AutomationScripts can check and fix settings automatically
MaintenanceUpdated with each macOS release and when frameworks change
+
+
    -
  • Purpose: Baselines provide a clear, measurable standard for system configuration and security, serving as a benchmark for compliance efforts.
  • -
  • Maintenance: Baselines are periodically reviewed and updated to reflect changes in security standards, best practices, and emerging threats.
  • -
  • Customization: Organizations can adapt baselines to fit their specific operational requirements or risk tolerance.
  • -
  • Auditing: Baselines are essential during audits, providing evidence that systems are configured according to recognized standards.
  • -
  • Automation: Baselines enable automated tools to assess, enforce, and remediate system configurations.
  • -
  • Versioning: Each baseline may have versions to track updates and changes over time.
  • -
  • Community Contributions: Contributions from the community help keep baselines current and relevant.
  • -
\ No newline at end of file +
  • How to Generate Baselines - Create your first baseline
  • +
  • Tailoring a Baseline - Customize for your organization
  • +
  • Baseline File Layout - Understand the YAML structure
  • + +
    \ No newline at end of file diff --git a/compliance-scripts/compliance-script-layout/index.html b/compliance-scripts/compliance-script-layout/index.html index 1075bb93..9a51ccc1 100644 --- a/compliance-scripts/compliance-script-layout/index.html +++ b/compliance-scripts/compliance-script-layout/index.html @@ -1,4 +1,4 @@ - Compliance Script Layout | mSCP - Skip to content
    Skip to content

    Compliance Script Layout

    Below are the main parameters and interactive options available in the compliance script.
    -Due to the script’s complexity and flexibility, we provide an overview of its usage and interface rather than the full layout.

    - -

    You can run the script either interactively or by using command-line flags:

    -
    Terminal window
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh
    - -

    When run interactively, you’ll see a menu like this:

    -
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    M A I N - M E N U
    macOS Security Compliance Tool
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Last compliance scan: No scans have been run
    -
    1. View Last Compliance Report
    2. Run New Compliance Scan
    3. Run Commands to remediate non-compliant settings
    4. Exit
    Enter choice [ 1 - 4 ]
    - -

    You can also use command-line flags for automated or non-interactive use:

    -
    Terminal window
    ./mscp_compliance.sh Usage
    ./mscp_compliance.sh [--check] [--fix] [--cfc] [--stats] [--compliant] [--non_compliant] [--reset] [--reset-all] [--quiet=<value>]
    -

    Optional parameters:

    +

    Compliance Script Layout

    The compliance script is a zsh script with functions for checking settings, applying fixes, and reporting results. Understanding the structure helps you troubleshoot or customize the script.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    SectionDescription
    HeaderShebang, variables, paths to audit plist and log file
    Utility functionsLogging, prompts, menu display
    Rule checksIndividual check function for each rule
    Rule fixesIndividual fix function for each rule
    Main logicMenu system and command-line argument handling
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FunctionPurpose
    run_scanExecute all rule checks and write results to plist
    run_fixApply remediation commands for non-compliant settings
    generate_statsDisplay pass/fail counts and compliance percentage
    show_menusDisplay interactive menu
    logmessageWrite results to log file
    +
    + +

    Each rule in your baseline becomes a check block in the script:

    +
      +
    1. Extract current value - Run a command to get the current system setting
    2. +
    3. Compare to expected - Check if the value matches the baseline requirement
    4. +
    5. Log result - Record pass, fail, or exempt status to the audit plist
    6. +
    +
    + +

    Each rule with a fix becomes a fix block in the script:

    +
      +
    1. Check exemption - Skip if the rule is marked exempt
    2. +
    3. Check compliance - Skip if the rule already passed
    4. +
    5. Prompt user - Ask for confirmation (unless running with --fix)
    6. +
    7. Apply fix - Run the remediation command
    8. +
    +
    + + + + + + + + + + + + + + + + + + +
    FilePurpose
    /Library/Preferences/org.BASELINE_NAME.audit.plistStores check results and exemptions
    /Library/Logs/BASELINE_NAME_baseline.logTimestamped log of all actions
    +
    +
      -
    • -

      --check
      -Run the compliance checks without interaction.

      -
    • -
    • -

      --fix
      -Run the remediation commands without interaction.

      -
    • -
    • -

      --cfc
      -Runs a check, fix, and check cycle without interaction.

      -
    • -
    • -

      --stats
      -Display statistics from the last compliance check.

      -
    • -
    • -

      --compliant
      -Report the number of compliant checks.

      -
    • -
    • -

      --non_compliant
      -Report the number of non-compliant checks.

      -
    • -
    • -

      --reset
      -Clear all results for the current baseline.

      -
    • -
    • -

      --reset-all
      -Clear all results for all MSCP baselines.

      -
    • -
    • -

      --quiet=<value>
      -Control output verbosity:
      -  1 – Show only failed and exempted checks
      -  2 – Show minimal output

      -
    • -
    \ No newline at end of file +
  • How to Generate Compliance Scripts - Create a script from your baseline
  • +
  • What Are Compliance Scripts? - Learn more about compliance scripts
  • + +
    \ No newline at end of file diff --git a/compliance-scripts/how-to-generate-compliance-scripts/index.html b/compliance-scripts/how-to-generate-compliance-scripts/index.html index dda7c385..d7bc0f67 100644 --- a/compliance-scripts/how-to-generate-compliance-scripts/index.html +++ b/compliance-scripts/how-to-generate-compliance-scripts/index.html @@ -1,4 +1,4 @@ - How To Generate Compliance Scripts | mSCP - Skip to content
    Skip to content

    How To Generate Compliance Scripts

    The primary script for generating compliance scripts is located here in the macos_security repository:

    -
    • Directorymacos_security/ -
      • Directoryscripts/ -
        • generate_guidance.py
    - - +

    How to Generate Compliance Scripts

    Compliance scripts are generated using the generate_guidance.py script with the -s flag. The script reads your baseline and creates a zsh script ready for deployment.

    + + +
    +
    1. -

      Run the Compliance Script Generator

      -

      Use the -s flag with generate_guidance.py to generate a compliance script for your baseline YAML file:

      -
      Terminal window
      ./scripts/generate_guidance.py -s baselines/800-53r5_moderate.yaml
      +

      Run the generation script

      +
      Terminal window
      ./scripts/generate_guidance.py -s baselines/BASELINE_NAME.yaml
      +

      Example:

      +
      Terminal window
      ./scripts/generate_guidance.py -s baselines/800-53r5_moderate.yaml
    2. -

      Review the Output

      -

      The script will generate several files in the build/BASELINE/ directory:

      -
      • Directorybuild/ +

        Find your files

        +

        The -s flag generates the compliance script and audit plist. Guidance documents are also created by default.

        +
        • Directorybuild/
          • Directory800-53r5_moderate/ -
            • 800-53r5_moderate.adoc
            • 800-53r5_moderate.html
            • 800-53r5_moderate.pdf
            • 800-53r5_moderate_compliance.sh
            • Directorypreferences/ +
              • 800-53r5_moderate_compliance.sh - Compliance script
              • 800-53r5_moderate.adoc - AsciiDoc guidance
              • 800-53r5_moderate.html - HTML guidance
              • 800-53r5_moderate.pdf - PDF guidance
              • Directorypreferences/
                • org.800-53r5_moderate.audit.plist
    - +
    + +

    Run with sudo for full access to system settings:

    +
    Terminal window
    sudo ./build/BASELINE_NAME/BASELINE_NAME_compliance.sh
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagDescription
    (no flags)Interactive menu mode
    --checkRun compliance checks without interaction
    --fixRun remediation commands without interaction
    --cfcRun check, fix, check sequence
    --statsDisplay statistics from last scan
    --compliantReport number of compliant checks
    --non_compliantReport number of non-compliant checks
    --resetClear results for current baseline
    --reset-allClear results for all mSCP baselines
    + +
    + +

    When executed, the script creates:

    + + + + + + + + + + + + + + + + + +
    FileLocation
    Audit plist/Library/Preferences/org.BASELINE_NAME.audit.plist
    Log file/Library/Logs/BASELINE_NAME_baseline.log
    +
    +
      -
    • Compliance Script: {baseline}_compliance.sh
      -The main script to check/fix compliance.
    • -
    • Audit Plist: org.{baseline}.audit.plist
      -Used for exemptions and compliance tracking.
    • -
    • Reports: .adoc, .html, .pdf
      -Documentation and reports for the baseline.
    • +
    • Compliance Script Layout - Understand the script structure
    • +
    • What Are Compliance Scripts? - Learn more about compliance scripts
    - - -

    You can run the script interactively or with command-line flags:

    -
    Terminal window
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh
    -

    This will present an interactive menu:

    -
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    M A I N - M E N U
    macOS Security Compliance Tool
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Last compliance scan: No scans have been run
    -
    1. View Last Compliance Report
    2. Run New Compliance Scan
    3. Run Commands to remediate non-compliant settings
    4. Exit
    Enter choice [ 1 - 4 ]
    -

    Note:
    -The --cfc flag will trigger a check/fix/check when running the compliance script.

    -

    After running, results are written to:

    -
      -
    • /Library/Preferences/org.{baseline}.audit.plist
    • -
    • /Library/Logs/{baseline}_baseline.log
    • -
    -

    Example log output:

    -
    Thu Jan 21 15:09:41 UTC 2021 auth_pam_login_smartcard_enforce passed (Result: 2, Expected: {integer: 2})
    Thu Jan 21 15:09:41 UTC 2021 auth_smartcard_allow passed (Result: 1, Expected: {integer: 1})
    Thu Jan 21 15:09:41 UTC 2021 auth_pam_sudo_smartcard_enforce passed (Result: 2, Expected: {integer: 2})
    Thu Jan 21 15:09:41 UTC 2021 auth_smartcard_certificate_trust_enforce_moderate passed (Result: 2, Expected: {integer: 2})
    Thu Jan 21 15:09:41 UTC 2021 auth_smartcard_enforce has an exemption (Reason: Broken Reader)
    - - -

    Note:
    -The compliance script expects to be run in a Z Shell (zsh). Running with sh or bash will result in errors.

    -
    Terminal window
    ./mscp_compliance.sh Usage
    ./mscp_compliance.sh [--check] [--fix] [--cfc] [--stats] [--compliant] [--non_compliant] [--reset] [--reset-all] [--quiet=<value>]
    -
    Optional parameters:
    --check : run the compliance checks without interaction
    --fix : run the remediation commands without interaction
    --cfc : runs a check, fix, check without interaction
    --stats : display the statistics from last compliance check
    --compliant : reports the number of compliant checks
    --non_compliant : reports the number of non_compliant checks
    --reset : clear out all results for current baseline
    --reset-all : clear out all results for ALL MSCP baselines
    --quiet=<value> : 1 - show only failed and exempted checks in output
    2 - show minimal output
    \ No newline at end of file +
    \ No newline at end of file diff --git a/compliance-scripts/what-are-compliance-scripts/index.html b/compliance-scripts/what-are-compliance-scripts/index.html index d19fab1d..da593d02 100644 --- a/compliance-scripts/what-are-compliance-scripts/index.html +++ b/compliance-scripts/what-are-compliance-scripts/index.html @@ -1,4 +1,4 @@ - What Are Compliance Scripts? | mSCP - Skip to content
    Skip to content

    What Are Compliance Scripts?

    Compliance scripts in the NIST macOS Security Compliance Project (mSCP) are automated scripts designed to check and enforce security settings on macOS systems. These scripts are generated from the project’s baselines, which define recommended security controls and configurations.

    -

    The compliance scripts allow organizations to:

    +

    What Are Compliance Scripts?

    Compliance scripts are zsh scripts that check macOS security settings against your baseline and optionally fix non-compliant settings. They handle settings that can’t be enforced through configuration profiles or DDM.

    +

    The mSCP project generates a compliance script from your baseline, designed to be deployed via MDM or run locally.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FeatureDescription
    CheckScan current settings against the baseline and report status
    FixRemediate non-compliant settings to match the baseline
    ExemptionsRespect rules marked as exempt (configured via MDM)
    InteractiveMenu-driven mode for running scans and viewing reports
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Use CaseDescription
    Settings not supported by profilesSome security settings can only be configured via script
    AuditingGenerate compliance reports for review
    RemediationFix settings that drift from the baseline
    Standalone MacsDevices not managed by MDM
    + +
    + + + + + + + + + + + + + + + + + + +
    OutputLocation
    BASELINE_NAME_compliance.shbuild/BASELINE_NAME/
    org.BASELINE_NAME.audit.plistbuild/BASELINE_NAME/preferences/
    +
    +
      -
    • Assess: Automatically check a system’s current configuration against the selected baseline.
    • -
    • Remediate: Apply changes to bring the system into compliance with the baseline.
    • -
    • Report: Generate output showing which settings are compliant or non-compliant.
    • +
    • How to Generate Compliance Scripts - Create a script from your baseline
    • +
    • Compliance Script Layout - Understand the script structure
    -

    These scripts are typically generated using the project’s tooling and can be run locally or integrated into enterprise management workflows. They help ensure that macOS devices meet NIST and organizational security requirements efficiently and consistently.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/configuration-profiles/configuration-profile-layout/index.html b/configuration-profiles/configuration-profile-layout/index.html index 77158382..5670ea84 100644 --- a/configuration-profiles/configuration-profile-layout/index.html +++ b/configuration-profiles/configuration-profile-layout/index.html @@ -1,4 +1,4 @@ - Configuration Profile Layout | mSCP - Skip to content
    Skip to content

    Configuration Profile Layout

    This page provides a detailed breakdown of a macOS configuration profile in XML (plist) format. Each element is explained to help you understand how to configure and interpret configuration profiles.

    - -
      -
    • ConsentText: Text displayed to users to inform them about terms, conditions, or warnings before applying the profile. -
        -
      • default: The default consent message shown to users.
      • -
      -
    • -
    +

    Configuration Profile Layout

    Configuration profiles are XML files in Apple’s property list (plist) format. Understanding the structure helps you troubleshoot profiles or make manual adjustments.

    + +
    + +

    A configuration profile has two main parts:

    + + + + + + + + + + + + + + + + + +
    SectionDescription
    Profile-level keysMetadata about the profile itself (name, organization, UUID)
    PayloadContentArray of payloads containing the actual settings
    +
    + +

    These keys describe the profile:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyDescription
    PayloadDisplayNameName shown in System Settings
    PayloadDescriptionDescription of the profile’s purpose
    PayloadIdentifierUnique identifier for the profile
    PayloadOrganizationOrganization that created the profile
    PayloadUUIDUnique UUID for this profile
    PayloadVersionVersion number (usually 1)
    PayloadTypeAlways Configuration for profiles
    PayloadScopeSystem or User
    ConsentTextTerms displayed before installation
    +
    -
      -
    • PayloadContent: An array of dictionaries, each representing a payload (setting or policy) included in the profile.
    • -
    - -
      -
    • PayloadIdentifier: A unique identifier for this payload.
    • -
    • PayloadType: The type of payload, specifying the domain or feature being configured.
    • -
    • PayloadUUID: A unique UUID for this payload.
    • -
    • PayloadVersion: The version number of this payload.
    • -
    • askForPassword: If true, requires a password to unlock the screensaver.
    • -
    • askForPasswordDelay: The delay (in seconds) before requiring a password after the screensaver starts.
    • -
    • idleTime: Time (in seconds) of inactivity before the screensaver activates.
    • -
    • loginWindowIdleTime: Time (in seconds) of inactivity at the login window before the screensaver activates.
    • -
    • moduleName: The name of the screensaver module to use.
    • -
    - -
      -
    • PayloadDescription: A description of the profile and its purpose.
    • -
    • PayloadDisplayName: The display name for the profile.
    • -
    • PayloadIdentifier: A unique identifier for the entire profile.
    • -
    • PayloadOrganization: The organization responsible for the profile.
    • -
    • PayloadScope: The scope of the profile (e.g., System).
    • -
    • PayloadType: The type of the profile (should be Configuration).
    • -
    • PayloadUUID: A unique UUID for the profile.
    • -
    • PayloadVersion: The version number of the profile.
    • -
    +

    The PayloadContent array contains one or more payloads. Each payload configures a specific feature or preference domain.

    +

    Each payload includes:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyDescription
    PayloadTypeThe preference domain (e.g., com.apple.screensaver)
    PayloadIdentifierUnique identifier for this payload
    PayloadUUIDUnique UUID for this payload
    PayloadVersionVersion number
    (settings)Domain-specific keys and values
    +
    + +

    This payload configures screensaver settings:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyValueDescription
    PayloadTypecom.apple.screensaverThe preference domain
    askForPasswordtrueRequire password to unlock
    askForPasswordDelay5Seconds before password required
    idleTime1200Seconds before screensaver starts

    -
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>ConsentText</key>
    <dict>
    <key>default</key>
    <string>THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NIST BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER.</string>
    </dict>
    <key>PayloadContent</key>
    <array>
    <dict>
    <key>PayloadIdentifier</key>
    <string>alacarte.macOS.all_rules.4413990e-a57b-4e0e-8902-59f780718b1c</string>
    <key>PayloadType</key>
    <string>com.apple.screensaver</string>
    <key>PayloadUUID</key>
    <string>4413990e-a57b-4e0e-8902-59f780718b1c</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>askForPassword</key>
    <true/>
    <key>askForPasswordDelay</key>
    <integer>5</integer>
    <key>idleTime</key>
    <integer>1200</integer>
    <key>loginWindowIdleTime</key>
    <integer>1200</integer>
    <key>moduleName</key>
    <string>Sequoia</string>
    </dict>
    </array>
    <key>PayloadDescription</key>
    <string>Created: 2025-07-23
    Configuration settings for the com.apple.screensaver preference domain.</string>
    <key>PayloadDisplayName</key>
    <string>[all_rules] com.apple.screensaver settings</string>
    <key>PayloadIdentifier</key>
    <string>com.apple.screensaver.all_rules</string>
    <key>PayloadOrganization</key>
    <string>macOS Security Compliance Project</string>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>8e4caf27-a378-4fca-b753-a87d8123636b</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    </dict>
    </plist>
    \ No newline at end of file +
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>ConsentText</key>
    <dict>
    <key>default</key>
    <string>THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NIST BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER.</string>
    </dict>
    <key>PayloadContent</key>
    <array>
    <dict>
    <key>PayloadIdentifier</key>
    <string>alacarte.macOS.all_rules.4413990e-a57b-4e0e-8902-59f780718b1c</string>
    <key>PayloadType</key>
    <string>com.apple.screensaver</string>
    <key>PayloadUUID</key>
    <string>4413990e-a57b-4e0e-8902-59f780718b1c</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>askForPassword</key>
    <true/>
    <key>askForPasswordDelay</key>
    <integer>5</integer>
    <key>idleTime</key>
    <integer>1200</integer>
    <key>loginWindowIdleTime</key>
    <integer>1200</integer>
    <key>moduleName</key>
    <string>Sequoia</string>
    </dict>
    </array>
    <key>PayloadDescription</key>
    <string>Created: 2025-07-23
    Configuration settings for the com.apple.screensaver preference domain.</string>
    <key>PayloadDisplayName</key>
    <string>[all_rules] com.apple.screensaver settings</string>
    <key>PayloadIdentifier</key>
    <string>com.apple.screensaver.all_rules</string>
    <key>PayloadOrganization</key>
    <string>macOS Security Compliance Project</string>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>8e4caf27-a378-4fca-b753-a87d8123636b</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    </dict>
    </plist>
    +
    + + +
    \ No newline at end of file diff --git a/configuration-profiles/how-to-generate-configuration-profiles/index.html b/configuration-profiles/how-to-generate-configuration-profiles/index.html index 77be3663..bcb98462 100644 --- a/configuration-profiles/how-to-generate-configuration-profiles/index.html +++ b/configuration-profiles/how-to-generate-configuration-profiles/index.html @@ -1,4 +1,4 @@ - How To Generate Configuration Profiles | mSCP - Skip to content
    Skip to content

    How To Generate Configuration Profiles

    The primary script for generating configuration profiles is located here in the macos_security repository:

    -
    • Directorymacos_security/ -
      • Directoryscripts/ ---> Project scripts -
        • generate_guidance.py ---> Script to generate configuration profiles
    - -

    Follow these steps to generate configuration profiles:

    +

    How to Generate Configuration Profiles

    Configuration profiles are generated using the generate_guidance.py script with the -p flag. The script reads your baseline and creates .mobileconfig files ready for MDM deployment.

    + + +
    +
    1. -

      Prepare Your Rules YAML

      -
        -
      • Ensure your rules YAML file contains rules with mobileconfig: true and the appropriate mobileconfig_info section.
        -Example: -
        mobileconfig: true
        mobileconfig_info:
        com.apple.security.smartcard:
        enforceSmartCard: true
        -
      • -
      +

      Generate unsigned profiles

      +
      Terminal window
      ./scripts/generate_guidance.py -p baselines/BASELINE_NAME.yaml
      +

      Example:

      +
      Terminal window
      ./scripts/generate_guidance.py -p baselines/800-53r5_moderate.yaml
    2. -

      Generate Unsigned Configuration Profiles

      -
        -
      • Run the following command to generate unsigned configuration profiles and corresponding plists: -
        Terminal window
        ./scripts/generate_guidance.py -p build/baselines/800-53r5_moderate.yaml
        -
      • -
      -
    3. -
    4. -

      (Optional) Generate Signed Configuration Profiles

      -
        -
      • If you want to generate signed configuration profiles, you need the certificate Subject Key ID (not the SHA-1 hash).
      • -
      • Retrieve the Subject Key ID with: -
        Terminal window
        skid=$(security find-certificate -c "CodeSigning Certificate Name" -p | openssl asn1parse | awk -F: '/X509v3 Subject Key Identifier/ {getline; print $1}')
        security find-certificate -c "CodeSigning Certificate Name" -p | openssl asn1parse -strparse $skid | awk -F: '/HEX DUMP/{print $4}'
        -
      • -
      • Then use the -H flag with the Subject Key ID to generate signed profiles: -
        Terminal window
        ./scripts/generate_guidance.py -p -H <HASHVALUE> build/baselines/800-53r5_moderate.yaml
        -
      • -
      -
    5. -
    6. -

      Locate the Generated Files

      -
        -
      • After running the script, the configuration profiles and plists will be created in the appropriate output directories.
      • -
      +

      Find your files

      +

      Profiles are saved to build/BASELINE_NAME/mobileconfigs/:

      +
      • Directorybuild/ +
        • Directory800-53r5_moderate/ +
          • Directorymobileconfigs/ +
            • Directoryunsigned/ - Unsigned profiles (.mobileconfig)
            • Directorypreferences/ - Preference plists (.plist)
    -

    For more information, see How to Generate Baselines or review the baseline file layout.

    \ No newline at end of file +
    + +

    Signed profiles verify authenticity and prevent tampering. You need a signing certificate installed in your keychain.

    +
      +
    1. +

      Get your certificate’s Subject Key ID

      +

      First, find the offset:

      +
      Terminal window
      security find-certificate -c "Your Certificate Name" -p | \
      openssl asn1parse | \
      awk -F: '/X509v3 Subject Key Identifier/ {getline; print $1}'
      +

      Then extract the hash using that offset (replace OFFSET with the number from above):

      +
      Terminal window
      security find-certificate -c "Your Certificate Name" -p | \
      openssl asn1parse -strparse OFFSET | \
      awk -F: '/HEX DUMP/{print $4}'
      +

      Replace "Your Certificate Name" with your signing certificate’s common name.

      +
    2. +
    3. +

      Generate signed profiles

      +
      Terminal window
      ./scripts/generate_guidance.py -p -H SUBJECT_KEY_ID baselines/BASELINE_NAME.yaml
      +

      Example:

      +
      Terminal window
      ./scripts/generate_guidance.py -p -H ABC123DEF456 baselines/800-53r5_moderate.yaml
      +
    4. +
    5. +

      Find your signed files

      +
      • Directorybuild/ +
        • Directory800-53r5_moderate/ +
          • Directorymobileconfigs/ +
            • Directoryunsigned/ - Unsigned profiles
            • Directorysigned/ - Signed profiles
            • Directorypreferences/ - Preference plists
      +
    6. +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    FlagDescription
    -pGenerate individual profiles (one per payload type)
    -PGenerate a single consolidated profile
    -H HASHSign profiles with your certificate’s Subject Key ID
    +
    + + + + + + + + + + + + + + + + + + + + + +
    TypeFlagBest For
    Individual-pFlexibility - deploy only the profiles you need
    Consolidated-PSimplicity - one profile with all settings
    +

    Most organizations prefer individual profiles (-p) for easier management and troubleshooting.

    +
    + + +
    \ No newline at end of file diff --git a/configuration-profiles/what-are-configuration-profiles/index.html b/configuration-profiles/what-are-configuration-profiles/index.html index 0375be89..8b12d97d 100644 --- a/configuration-profiles/what-are-configuration-profiles/index.html +++ b/configuration-profiles/what-are-configuration-profiles/index.html @@ -1,4 +1,4 @@ - What Are Configuration Profiles? | mSCP - Skip to content
    Skip to content

    What Are Configuration Profiles?

    Apple Configuration Profiles are XML files (.mobileconfig) used to define settings, restrictions, and policies for macOS, iOS, iPadOS, and tvOS devices. They allow administrators to manage and enforce configurations such as Wi-Fi settings, VPN, certificates, security restrictions, and more across Apple devices.

    - -

    Configuration profiles are created by IT administrators and can be distributed to devices via Mobile Device Management (MDM) solutions, Apple Configurator, email, or direct download. Once installed, the profile automatically applies the specified settings to the device. Profiles can be signed to ensure authenticity and integrity.

    - -

    For end-users, configuration profiles are typically deployed silently and automatically through the organization’s MDM solution. Once the profile is pushed to the device, most restrictions and settings are enforced immediately—users may notice changes right away, or in some cases, a reboot may be required before all settings take full effect.

    -

    Profiles can be viewed or removed in System Settings > Privacy & Security > Profiles (macOS) or Settings > General > VPN & Device Management (iOS/iPadOS).

    - - +

    What Are Configuration Profiles?

    Configuration profiles are XML files (.mobileconfig) that define settings and restrictions for Apple devices. They allow administrators to enforce security configurations across macOS, iOS, iPadOS, and tvOS devices.

    +

    The mSCP project generates configuration profiles from your baseline, ready to deploy via MDM.

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    StepDescription
    GenerateRun generate_guidance.py -p to create profiles from your baseline
    DeployUpload profiles to your MDM solution
    EnforceSettings are applied automatically to managed devices
    +

    Profiles can also be signed with a certificate (-H flag) to ensure authenticity and prevent tampering.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeFlagDescription
    Individual profiles-pOne profile per payload type (recommended for flexibility)
    Consolidated profile-PAll settings in a single profile
    Signed profiles-H HASHProfiles signed with your certificate
    +

    Output location: build/BASELINE_NAME/mobileconfigs/

    +
    + +
      +
    • Profiles are deployed silently through MDM
    • +
    • Settings take effect immediately (some may require reboot)
    • +
    • Users can view profiles in System Settings > Privacy & Security > Profiles
    • +
    + +
    +
    \ No newline at end of file +
  • Apple Developer: Device Management Profile
  • +
  • Configuration profiles on Mac
  • + +
    + + +
    \ No newline at end of file diff --git a/ddm-components/ddm-component-layout/index.html b/ddm-components/ddm-component-layout/index.html index b3e5d09d..2c707c6c 100644 --- a/ddm-components/ddm-component-layout/index.html +++ b/ddm-components/ddm-component-layout/index.html @@ -1,4 +1,4 @@ - DDM Component Layout | mSCP - Skip to content
    Skip to content

    DDM Component Layout

    This page provides a detailed breakdown of a DDM payload for com.apple.configuration.passcode.settings. Each setting is explained to help you understand how to configure passcode requirements effectively.

    - -
      -
    • Identifier: A unique string that identifies this configuration profile.
      -Example: "org.mscp.all_rules.config.passcode.settings"
    • -
    - -
      -
    • Type: Specifies the type of configuration.
      -Example: "com.apple.configuration.passcode.settings"
    • -
    - -
      -
    • Payload: Contains the actual settings for the passcode policy.
    • -
    - -
      -
    • MaximumFailedAttempts: The number of failed passcode attempts allowed before the device is locked or wiped.
      -Example: 3
    • -
    - -
      -
    • MaximumGracePeriodInMinutes: The maximum time (in minutes) allowed after unlocking before the passcode is required again.
      -Example: 15
    • -
    - -
      -
    • RequireAlphanumericPasscode: If true, the passcode must include both letters and numbers.
      -Example: true
    • -
    - -
      -
    • CustomRegex: A custom regular expression that the passcode must match.
      -Example: ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$
      -This requires at least one uppercase letter, one lowercase letter, and one digit.
    • -
    - -
      -
    • PasscodeReuseLimit: The number of previous passcodes that cannot be reused.
      -Example: 5
    • -
    - -
      -
    • MaximumPasscodeAgeInDays: The maximum number of days a passcode can be used before it must be changed.
      -Example: 60
    • -
    - -
      -
    • MinimumLength: The minimum number of characters required for the passcode.
      -Example: 15
    • -
    - -
      -
    • RequireComplexPasscode: If true, the passcode must meet complexity requirements (such as including special characters).
      -Example: true
    • -
    - -
      -
    • MinimumComplexCharacters: The minimum number of complex (non-alphanumeric) characters required in the passcode.
      -Example: 1
    • -
    +

    DDM Component Layout

    DDM declarations are JSON files that define device configurations. Understanding the structure helps you troubleshoot deployments or customize declarations.

    +
    - -
    {
    "Identifier": "org.mscp.all_rules.config.passcode.settings",
    "Type": "com.apple.configuration.passcode.settings",
    "Payload": {
    "MaximumFailedAttempts": 3,
    "MaximumGracePeriodInMinutes": 15,
    "RequireAlphanumericPasscode": true,
    "CustomRegex": "^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$",
    "PasscodeReuseLimit": 5,
    "MaximumPasscodeAgeInDays": 60,
    "MinimumLength": 15,
    "RequireComplexPasscode": true,
    "MinimumComplexCharacters": 1
    }
    }
    \ No newline at end of file + +

    The project generates DDM declarations that work together:

    + + + + + + + + + + + + + + + + + +
    TypePurpose
    ActivationEnables a configuration on the device
    ConfigurationDefines what settings to apply
    +
    + +

    All DDM declarations share these keys:

    + + + + + + + + + + + + + + + + + + + + + +
    KeyDescription
    IdentifierUnique identifier for this declaration
    TypeThe Apple declaration type
    PayloadThe declaration-specific settings
    +
    + +

    Activations enable configurations on the device.

    +
    {
    "Identifier": "org.mscp.baseline_name.activation.service",
    "Type": "com.apple.activation.simple",
    "Payload": {
    "StandardConfigurations": ["org.mscp.baseline_name.config.service"]
    }
    }
    + + + + + + + + + + + + + +
    KeyDescription
    StandardConfigurationsArray of configuration identifiers to activate
    +
    + +

    Configurations define the settings to apply. For service configurations:

    +
    {
    "Identifier": "org.mscp.baseline_name.config.service",
    "Type": "com.apple.configuration.services.configuration-files",
    "Payload": {
    "ServiceType": "com.apple.service",
    "DataAssetReference": "org.mscp.baseline_name.asset.service"
    }
    }
    + + + + + + + + + + + + + + + + + +
    KeyDescription
    ServiceTypeThe Apple service being configured
    DataAssetReferenceIdentifier of the asset containing the config files
    +
    + + +
    \ No newline at end of file diff --git a/ddm-components/how-to-generate-ddm-components/index.html b/ddm-components/how-to-generate-ddm-components/index.html index 791e6bf4..39588180 100644 --- a/ddm-components/how-to-generate-ddm-components/index.html +++ b/ddm-components/how-to-generate-ddm-components/index.html @@ -1,4 +1,4 @@ - How To Generate DDM Components | mSCP - Skip to content
    Skip to content

    How To Generate DDM Components

    The primary script for generating DDM components is located here in the macos_security repository:

    -
    • Directorymacos_security/ -
      • Directoryscripts/ -
        • generate_guidance.py
    - -

    To generate all DDM components, run:

    -
    Terminal window
    ./scripts/generate_guidance.py -D baselines/all_rules.yaml -p -s
    -

    This will create DDM components in the following directories:

    -
    • DirectoryBuild/ -
      • DirectoryBASELINENAME/ -
        • Directoryactivations/ -
          • org.mscp.all_rules.activation.diskmanagement.settings.json
          • org.mscp.all_rules.activation.pam.json
          • org.mscp.all_rules.activation.passcode.settings.json
          • org.mscp.all_rules.activation.sshd.json
          • org.mscp.all_rules.activation.sudo.json
        • Directoryassets/ -
          • com.apple.pam.zip
          • com.apple.sshd.zip
          • com.apple.sudo.zip
          • org.mscp.all_rules.asset.pam.json
          • org.mscp.all_rules.asset.sshd.json
          • org.mscp.all_rules.asset.sudo.json
        • Directoryconfigurations/ -
          • org.mscp.all_rules.config.diskmanagement.settings.json
          • org.mscp.all_rules.config.pam.json
          • org.mscp.all_rules.config.passcode.settings.json
          • org.mscp.all_rules.config.sshd.json
          • org.mscp.all_rules.config.sudo.json
    -

    For more information, see How to Generate Baselines or review the baseline file layout.

    \ No newline at end of file +

    How to Generate DDM Components

    DDM components are generated using the generate_guidance.py script with the -D flag. The script reads your baseline and creates JSON declarations ready for MDM deployment.

    + + +
    + +
      +
    1. +

      Run the generation script

      +
      Terminal window
      ./scripts/generate_guidance.py -D baselines/BASELINE_NAME.yaml
      +

      Example:

      +
      Terminal window
      ./scripts/generate_guidance.py -D baselines/800-53r5_moderate.yaml
      +
    2. +
    3. +

      Find your files

      +

      DDM declarations are saved to build/BASELINE_NAME/declarative/:

      +
      • Directorybuild/ +
        • Directory800-53r5_moderate/ +
          • Directorydeclarative/ +
            • Directoryactivations/ - Activation declarations (.json)
            • Directoryconfigurations/ - Configuration declarations (.json)
            • Directoryassets/ - Asset declarations and data files (.json, .zip)
      +
    4. +
    +
    + + + + + + + + + + + + + + +
    FlagDescription
    -DGenerate DDM declarations
    + +
    + + +
    \ No newline at end of file diff --git a/ddm-components/what-is-ddm/index.html b/ddm-components/what-is-ddm/index.html index aa34e74d..60261490 100644 --- a/ddm-components/what-is-ddm/index.html +++ b/ddm-components/what-is-ddm/index.html @@ -1,4 +1,4 @@ - What is Declarative Device Management (DDM)? | mSCP - Skip to content
    Skip to content

    What is Declarative Device Management (DDM)?

    Declarative Device Management (DDM) is Apple’s modern framework for managing Apple devices, introduced to provide a more efficient, scalable, and responsive approach to device management compared to traditional MDM (Mobile Device Management). DDM enables devices to take a more active role in their own management by evaluating conditions and applying configurations locally, rather than relying solely on server-driven commands.

    - +

    What is DDM?

    Declarative Device Management (DDM) is Apple’s modern approach to managing devices. Unlike traditional MDM where the server sends commands, DDM lets devices manage themselves based on declared configurations.

    +

    The mSCP project generates DDM components from your baseline, ready to deploy via your MDM solution.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    AspectTraditional MDMDDM
    ControlServer sends commands to deviceDevice applies declared configurations
    ResponsivenessWaits for server check-inApplies changes immediately
    Offline behaviorLimited until reconnectedEnforces policies even offline
    ScalabilityServer handles all logicLogic distributed to devices
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BenefitDescription
    Faster responseDevices apply settings immediately without waiting for server
    Offline enforcementPolicies remain active even without network connectivity
    Reduced server loadDevices handle their own compliance evaluation
    Better securityGranular control with Apple’s latest security standards
    +
    + +

    The project creates DDM declarations in three categories:

    + + + + + + + + + + + + + + + + + + + + + +
    ComponentDescription
    ActivationsEnable configurations on the device
    ConfigurationsSettings declarations for various Apple declaration types
    AssetsData files referenced by configurations (e.g., zipped config files)
    +

    Output location: build/BASELINE_NAME/declarative/

    +
    +
      -
    • Efficiency: DDM reduces the need for constant communication between the device and the management server. Devices can react to changes and apply configurations immediately, improving responsiveness and reducing network traffic.
    • -
    • Scalability: By shifting logic and evaluation to the device, DDM allows organizations to manage large fleets of Apple devices more effectively.
    • -
    • Reliability: Devices can enforce compliance and configuration even when offline, ensuring that security and policy requirements are always met.
    • -
    • Security: DDM supports more granular and secure management of settings, profiles, and compliance checks, aligning with Apple’s latest security and privacy standards.
    • +
    • Apple Developer: Declarative Device Management
    • +
    • Apple WWDC: Declarative Device Management
    - -

    Before DDM, Apple devices were managed using Mobile Device Management (MDM), a server-driven approach where the management server dictated all device configurations, compliance checks, and actions. In this model:

    +
    +
      -
    • The server sends commands and configuration profiles to the device.
    • -
    • The device passively waits for instructions and reports back its status.
    • -
    • Any change or compliance check requires a round-trip to the server.
    • -
    • Devices are less responsive to changes when offline or between server check-ins.
    • +
    • How to Generate DDM Components - Create DDM files from your baseline
    • +
    • DDM Component Layout - Understand the file structure
    -

    Limitations of Traditional MDM:

    -
      -
    • Latency: Devices may not react instantly to policy changes or compliance issues, especially if they are offline or have infrequent check-ins.
    • -
    • Scalability: As organizations grow, the server becomes a bottleneck, handling all logic and state for every device.
    • -
    • Reliability: Devices cannot enforce or adapt policies without server communication.
    • -
    • Limited Autonomy: Devices are unable to make decisions or enforce compliance on their own.
    • -
    - -

    Apple is moving away from traditional MDM because modern device fleets require:

    -
      -
    • Real-time responsiveness: Devices should react to changes and enforce policies immediately, even when offline.
    • -
    • Distributed logic: Offloading evaluation and compliance to the device itself reduces server load and increases scalability.
    • -
    • Better user experience: Devices can provide instant feedback and adapt to user or environment changes without waiting for server instructions.
    • -
    • Enhanced security and privacy: DDM enables more granular, secure, and privacy-respecting management.
    • -
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/guidance/guidance-file-example/index.html b/guidance/guidance-file-example/index.html index 0537d011..9455b2f8 100644 --- a/guidance/guidance-file-example/index.html +++ b/guidance/guidance-file-example/index.html @@ -1,4 +1,4 @@ - Guidance File Layout | mSCP - Skip to content
    Skip to content

    Guidance File Layout

    Below is a full example PDF of a generated STIG baseline guidance document.

    -
    -

    Note: This example is for the Sequoia branch and the DISA STIGS baseline.

    - -
    \ No newline at end of file +

    Guidance File Example

    This is an example of a generated guidance document. The PDF below was created from the DISA STIG baseline on the Sequoia branch.

    + +
    + +

    As you scroll through the example, you’ll see:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    SectionDescription
    Title pageBaseline name, macOS version, and date
    ForewordIntroduction and purpose of the document
    Revision historyDocument version changes
    ScopeWhat systems and configurations are covered
    AuthorsContributors and their organizations
    AcronymsTerminology used in the document
    Rules by sectionSecurity controls grouped by category
    +

    Each rule includes:

    +
      +
    • Discussion (why it matters)
    • +
    • Check (how to verify)
    • +
    • Fix (how to implement)
    • +
    • Result (expected value)
    • +
    • References (NIST, CIS, STIG mappings)
    • +
    +
    + + +
    + + +
    \ No newline at end of file diff --git a/guidance/how-to-generate-guidance/index.html b/guidance/how-to-generate-guidance/index.html index 490239d9..6a9df112 100644 --- a/guidance/how-to-generate-guidance/index.html +++ b/guidance/how-to-generate-guidance/index.html @@ -1,4 +1,4 @@ - How To Generate Guidance | mSCP - Skip to content
    Skip to content

    How To Generate Guidance

    To generate guidance files (AsciiDoc, HTML, and PDF) from an existing baseline, use the generate_guidance.py script in the macos_security repository.

    - -
    • Directorymacos_security/ -
      • Directoryscripts/ -
        • generate_guidance.py ---> Script to generate guidance files
      • Directorybuild/ -
        • Directorybaselines/ -
          • BASELINENAME.yaml ---> Your generated or customized baseline file
    - +

    How to Generate Guidance

    The generate_guidance.py script creates outputs from your baseline. By default it generates documentation (AsciiDoc, HTML, PDF). With additional flags, you can also generate compliance scripts, configuration profiles, and more.

    + + +
    +
    1. -

      Ensure You Are Using the Correct Baseline File

      -
        -
      • Use either a baseline you generated (custom baseline) or one of the built-in baselines provided by the project.
      • -
      +

      Run the script with your baseline

      +
      Terminal window
      ./scripts/generate_guidance.py baselines/BASELINE_NAME.yaml
      +

      Example:

      +
      Terminal window
      ./scripts/generate_guidance.py baselines/800-53r5_moderate.yaml
    2. -

      Run the Guidance Generation Script

      -
        -
      • -

        Point the script to your baseline YAML file:

        -
        Terminal window
        ./scripts/generate_guidance.py build/baselines/BASELINENAME.yaml
        -

        Replace BASELINENAME.yaml with your actual baseline file.

        +

        Add flags for additional outputs

        +
        Terminal window
        ./scripts/generate_guidance.py -s -p baselines/800-53r5_moderate.yaml
        +

        This generates guidance docs plus compliance script (-s) and configuration profiles (-p).

      • -

        The script will generate AsciiDoc, HTML, and PDF guidance documents.

        -
      • -
      -
    3. -
    4. -

      Locate the Generated Guidance Files

      -
        -
      • -

        The output files will be created in a directory under build/ matching your baseline name, for example:

        -
        • Directorymacos_security/ -
          • Directorybuild/ +

            Find your files

            +

            All outputs are saved to build/BASELINE_NAME/:

            +
            • Directorybuild/
              • Directory800-53r5_moderate/ -
                • 800-53r5_moderate.adoc
                • 800-53r5_moderate.html
                • 800-53r5_moderate.pdf
          -
        • -
        +
        • 800-53r5_moderate.adoc - AsciiDoc source
        • 800-53r5_moderate.html - Web documentation
        • 800-53r5_moderate.pdf - Printable documentation
        • 800-53r5_moderate_compliance.sh - Compliance script (if -s)
        • 800-53r5_moderate.xls - Excel spreadsheet (if -x)
        • Directorymobileconfigs/ - Configuration profiles (if -p) +
          • Directoryunsigned/ - Unsigned profiles
          • Directorysigned/ - Signed profiles (if -H)
          • Directorypreferences/ - Preference plists
        • Directorydeclarative/ - DDM components (if -D) +
          • Directoryactivations/
          • Directoryconfigurations/
          • Directoryassets/
        • Directorypreferences/ - Audit preference files
    - -

    When generating guidance, you can use either a built-in baseline or a custom baseline:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagOutput
    (none)Guidance documents (.adoc, .html, .pdf)
    -sCompliance script
    -pConfiguration profiles (one per payload)
    -PSingle consolidated configuration profile
    -DDeclarative Device Management (DDM) components
    -xExcel spreadsheet
    +

    Additional options:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagDescription
    -hShow help message
    -l LOGOInclude custom logo in documentation
    -H HASHSign configuration profiles with certificate
    -a NAMECustom name for audit plist and log
    -r REFUse reference ID instead of rule ID
    +
    + +

    Generate documentation only:

    +
    Terminal window
    ./scripts/generate_guidance.py baselines/800-53r5_moderate.yaml
    +

    Generate everything for MDM deployment:

    +
    Terminal window
    ./scripts/generate_guidance.py -s -p -D baselines/DISA-STIG.yaml
    +

    Generate with signed profiles:

    +
    Terminal window
    ./scripts/generate_guidance.py -p -H YOUR_CERT_HASH baselines/cis_lvl2.yaml
    +

    Generate documentation with custom logo:

    +
    Terminal window
    ./scripts/generate_guidance.py -l /path/to/logo.png baselines/800-53r5_moderate.yaml
    +
    + +

    You can use either type of baseline:

    + + + + + + + + + + + + + + + + + + + + +
    TypeLocationUse Case
    Built-inbaselines/Standard frameworks without customization
    Custombuild/baselines/Tailored baselines for your organization
    +

    Both produce the same outputs. Custom baselines reflect your organization’s specific settings and excluded rules.

    +
    +
      -
    • -

      Built-in Baseline:
      -These are standard baseline YAML files provided by the project and located in the baselines/ directory. They represent default security configurations such as NIST 800-53, CIS, or STIG profiles.

      -
      • Directorymacos_security/ -
        • Directorybaselines/ -
          • 800-53r5_moderate.yaml
      -

      Example usage:

      -
      Terminal window
      ./scripts/generate_guidance.py baselines/800-53r5_moderate.yaml
      -

      The output files will be generated in a directory under build/ matching the baseline name.

      -
    • -
    • -

      Custom Baseline:
      -These are baselines you have tailored for your organization, typically created using the baseline generation and tailoring scripts. Custom baseline files are usually found in build/baselines/.

      -
      • Directorymacos_security/ -
        • Directorybuild/ -
          • Directorybaselines/ -
            • 800-53r5_moderate.yaml
      -

      Example usage:

      -
      Terminal window
      ./scripts/generate_guidance.py build/baselines/800-53r5_moderate.yaml
      -

      The output files will be generated in a directory under build/ matching your custom baseline.

      -
    • +
    • How to Generate Configuration Profiles - Details on the -p flag
    • +
    • How to Generate Compliance Scripts - Details on the -s flag
    • +
    • Guidance File Example - See a sample PDF output
    -

    Both approaches produce guidance files in AsciiDoc, HTML, and PDF formats, but custom baselines allow you to reflect organization-specific requirements and tailoring.

    -

    Example output files:

    -
    • Directorymacos_security/ -
      • Directorybuild/ -
        • Directory800-53r5_moderate/ -
          • 800-53r5_moderate.adoc
          • 800-53r5_moderate.html
          • 800-53r5_moderate.pdf
    \ No newline at end of file +
    \ No newline at end of file diff --git a/guidance/what-is-guidance/index.html b/guidance/what-is-guidance/index.html index e6e70bf9..9654b146 100644 --- a/guidance/what-is-guidance/index.html +++ b/guidance/what-is-guidance/index.html @@ -1,4 +1,4 @@ - What is Guidance? | mSCP - Skip to content
    Skip to content

    What is Guidance?

    Guidance provides clear documentation for security controls, describing what each control is, its purpose, and how it protects your systems.

    +

    What is Guidance?

    Guidance is the human-readable documentation generated from your baseline. It explains each security control: what it does, why it matters, how to implement it, and how to verify compliance.

    +

    Once you have a baseline, run the generate_guidance.py script to create documentation in multiple formats.

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    FormatDescription
    AsciiDoc (.adoc)Source format for the documentation
    HTML (.html)Web-viewable documentation
    PDF (.pdf)Printable format for auditors and compliance teams
    +
    + +

    Each guidance document contains:

    +

    Document sections:

      -
    • Explanations of security controls: Clarifies the intent and importance of each control, and how it contributes to securing macOS systems.
    • -
    • Implementation steps: Offers detailed instructions for configuring macOS settings to meet baseline requirements.
    • -
    • Assessment procedures: Outlines methods to verify that systems are properly configured and compliant with security objectives.
    • -
    • References and rationale: Includes links to relevant NIST standards, Apple documentation, and other authoritative sources to support each control.
    • +
    • Foreword and scope
    • +
    • Authors and contributors
    • +
    • Acronyms and terminology
    -

    You can generate guidance files based on the created baseline in formats such as AsciiDoc, HTML, and PDF. These documents are often required by organizations for submission, enabling administrators to efficiently document and justify how the baseline is enforced and the reasoning behind each control.

    \ No newline at end of file +

    For each security rule:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    SectionDescription
    DiscussionWhat the control does and why it’s important
    CheckHow to verify the setting is correctly applied
    FixHow to configure macOS to meet the requirement
    ResultExpected values when compliant
    ReferencesLinks to NIST 800-53, CIS, DISA STIG, and Apple documentation
    SeverityImpact level of the control
    +
    + +
      +
    • Compliance audits - Provide documentation showing how your systems meet framework requirements
    • +
    • Security reviews - Share implementation details with security teams
    • +
    • Change management - Document what settings are being applied and why
    • +
    • Training - Help administrators understand the security controls
    • +
    +
    + + +
    \ No newline at end of file diff --git a/index.html b/index.html index 40aa09d2..5d759385 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - macOS Security Compliance Project | mSCP - Skip to content
    Skip to content

    macOS Security Compliance Project

    Comprehensive, open source macOS security guidance—built by federal experts, based on NIST SP 800-53 and 800-219, and recognized by Apple.
    +

    macOS Security Compliance Project

    Comprehensive, open source macOS security guidance—built by federal experts, based on NIST SP 800-53 and 800-219, and recognized by Apple.
    + +
    Loading branch information…
    + -
    -
    \ No newline at end of file +
    +
    \ No newline at end of file diff --git a/more-information/additional-documents/index.html b/more-information/additional-documents/index.html index d839035b..bbf87cd9 100644 --- a/more-information/additional-documents/index.html +++ b/more-information/additional-documents/index.html @@ -1,4 +1,4 @@ - Additional Documents | mSCP - Skip to content
    Skip to content

    Additional Documents

    -

    These documents are published by official government agencies and provide standards, guidelines, and requirements for cybersecurity and information assurance. They are widely referenced for compliance and best practices.

    -

    National Institute of Standards and Technology (NIST)

    Section titled “National Institute of Standards and Technology (NIST)”
    +

    Additional Documents

    Reference documents from government agencies and industry organizations that inform the macOS Security Compliance Project.

    +
    + +

    These documents are published by official government agencies and provide standards, guidelines, and requirements for cybersecurity and information assurance.

    +

    National Institute of Standards and Technology (NIST)

    Section titled “National Institute of Standards and Technology (NIST)”
    @@ -106,8 +109,11 @@ -
    Document Number or DescriptorDocument Title
    NIST Special Publication 800-53 Rev 5NIST Special Publication 800-53 Rev 5.1.1
    NIST Special Publication 800-63NIST Special Publication 800-63
    NIST Special Publication 800-171NIST Special Publication 800-171 Rev 3
    NIST Special Publication 800-219NIST Special Publication 800-219 Rev 1
    -
    + + + + +
    DocumentTitle
    NIST SP 800-53 Rev 5Security and Privacy Controls for Information Systems and Organizations
    NCP Tahoe ChecklistmSCP Guidance for macOS 26 (Tahoe)
    NIST SP 800-63Digital Identity Guidelines
    NIST SP 800-171 Rev 3Protecting Controlled Unclassified Information in Nonfederal Systems
    NIST SP 800-219 Rev 1macOS Security Compliance Project (mSCP)
    @@ -122,8 +128,19 @@ -
    Document Number or DescriptorDocument Title
    STIG Ver 1, Rel 3Apple macOS 15 (Sequoia) STIG
    -
    + + + + + + + + + + + + +
    DocumentTitle
    macOS 26 STIGApple macOS 26 (Tahoe) STIG
    macOS 15 STIGApple macOS 15 (Sequoia) STIG
    macOS 14 STIGApple macOS 14 (Sonoma) STIG
    macOS 13 STIGApple macOS 13 (Ventura) STIG

    Cybersecurity Maturity Model Certification (CMMC)

    Section titled “Cybersecurity Maturity Model Certification (CMMC)”
    @@ -138,8 +155,7 @@ -
    Document Number or DescriptorDocument Title
    CMMC Model Overview v2.0Cybersecurity Maturity Model Certification (CMMC) Model Overview v2.0
    -
    +
    DocumentTitle
    CMMC Model Overview v2.0Cybersecurity Maturity Model Certification Model Overview

    Committee on National Security Systems (CNSS)

    Section titled “Committee on National Security Systems (CNSS)”
    @@ -154,8 +170,7 @@ -
    Document Number or DescriptorDocument Title
    CNSSI No. 1253Security Categorization and Control Selection for National Security Systems
    -
    +
    DocumentTitle
    CNSSI No. 1253Security Categorization and Control Selection for National Security Systems
    @@ -170,10 +185,10 @@ -
    Document Number or DescriptorDocument Title
    BSI List of Approved Products (Indigo)BSI List of Approved Products (Indigo)
    -
    +
    DocumentTitle
    BSI Approved Products (Indigo)BSI List of Approved Products
    +
    -

    These documents are produced by private organizations and industry groups. They offer additional guidance, platform-specific information, and security benchmarks that complement government standards.

    +

    These documents are produced by private organizations and industry groups, offering platform-specific guidance and security benchmarks.

    @@ -200,9 +215,8 @@ -
    Document Number or DescriptorDocument Title
    Apple Platform Security GuideApple Platform Security
    Apple Platform DeploymentApple Platform Deployment
    Apple Platform CertificationsApple Platform Certifications
    Profile-Specific Payload KeysProfile-Specific Payload Keys
    -
    - +
    DocumentTitle
    Apple Platform SecurityApple Platform Security Guide
    Apple Platform DeploymentApple Platform Deployment Guide
    Apple Platform CertificationsApple Platform Certifications
    Profile-Specific Payload KeysMDM Profile Payload Reference
    + @@ -216,4 +230,31 @@ -
    Document Number or DescriptorDocument Title
    Apple macOS 15.0CIS Apple macOS 15.0 Benchmark version 1.1.0
    \ No newline at end of file + + + + +
    DocumentTitle
    CIS macOS 26 BenchmarkCIS Apple macOS 26 (Tahoe) Benchmark v1.0.0
    CIS macOS 15 BenchmarkCIS Apple macOS 15 (Sequoia) Benchmark
    +
    + + +
    \ No newline at end of file diff --git a/more-information/contributing/index.html b/more-information/contributing/index.html index 4e9996b3..03e06155 100644 --- a/more-information/contributing/index.html +++ b/more-information/contributing/index.html @@ -1,4 +1,4 @@ - How to Contribute to the macOS Security Compliance Project | mSCP - Skip to content
    Skip to content

    How to Contribute to the macOS Security Compliance Project

    We encourage contributions and feedback from the community! This project was created by Mac Admins, for Mac Admins—your input, questions, and improvements help make it better for everyone. If you see something that can be improved, have an idea, or spot an issue, please speak up and get involved.

    +

    How to Contribute

    We encourage contributions and feedback from the community! This project was created by Mac Admins, for Mac Admins—your input, questions, and improvements help make it better for everyone. If you see something that can be improved, have an idea, or spot an issue, please speak up and get involved.


    These operating rules describe and govern NIST’s management of this repository and contributors’ responsibilities. NIST reserves the right to modify this policy at any time.

    +

    This is a moderated platform. NIST will only accept contributions that comply with the terms of the license file. Contributors may submit links or materials for hosting in the repository. Upon submission, materials will be public and considered publicly available information, unless noted in the license file.

    NIST reserves the right to reject, remove, or edit any contribution or feedback, including anything that:

      -
    • states or implies NIST endorsement of any entities, services, or products;
    • -
    • is inaccurate;
    • -
    • contains abusive or vulgar content, spam, hate speech, personal attacks, or similar content;
    • -
    • is clearly “off topic”;
    • -
    • makes unsupported accusations;
    • -
    • includes personally identifiable or business identifiable information according to Department of Commerce Office of Privacy and Open Government guidelines; or,
    • -
    • contains .exe or .jar file types.
    • +
    • States or implies NIST endorsement of any entities, services, or products
    • +
    • Is inaccurate
    • +
    • Contains abusive or vulgar content, spam, hate speech, personal attacks, or similar content
    • +
    • Is clearly “off topic”
    • +
    • Makes unsupported accusations
    • +
    • Includes personally identifiable or business identifiable information according to Department of Commerce Office of Privacy and Open Government guidelines
    • +
    • Contains .exe or .jar file types
    -

    These file types will not be hosted in the NIST repository; instead, NIST may link to these if hosted elsewhere.

    + +

    NIST also reserves the right to reject or remove contributions from the repository if the contributor fails to carry out any of the following responsibilities:

      -
    • following the contribution instructions;
    • -
    • responding to feedback from other repository users in a timely manner;
    • -
    • responding to NIST representatives in a timely manner;
    • -
    • keeping contributions and contributor GitHub username up to date
    • +
    • Following the contribution instructions
    • +
    • Responding to feedback from other repository users in a timely manner
    • +
    • Responding to NIST representatives in a timely manner
    • +
    • Keeping contributions and contributor GitHub username up to date
    +

    All requests for changes and enhancements are initiated through the project’s GitHub issue tracker. To initiate a request, please create a new issue. The following issue templates exist for creating a new issue:

    -

    Feature Request: Use to describe a new feature or capability to be added to the macOS security compliance project.

    -

    Bug Report: Use to report a problem with an existing the macOS security compliance project feature or capability.

    -

    Question: Use to ask a question about the macOS security compliance project.

    + + + + + + + + + + + + + + + + + + + + + +
    Issue TypeUse For
    Feature RequestDescribe a new feature or capability to be added to the project
    Bug ReportReport a problem with an existing feature or capability
    QuestionAsk a question about the project

    The core project team regularly reviews the open issues, prioritizes their handling, and updates the issue statuses and comments as needed.

    +

    A good feature request or bug report will help our team assess the issue submitted.

    Great Bug Reports or Feature Requests tend to have:

    @@ -117,26 +141,69 @@
  • Steps to reproduce
    • Be specific!
    • -
    • Provide sample code if you can.
    • -
    • Include all relevant setup.
    • +
    • Provide sample code if you can
    • +
    • Include all relevant setup
  • What you expected would happen
  • What actually happens (if it’s a bug report)
  • Any additional notes
  • -

    Issues submitted that are single words or irrelevant to the development of the project

    +
    -

    The macOS Security Compliance Project uses a typical GitHub fork and pull request workflow. Learn more about cloning a GitHub repository. -Learn more about GitHub pull requests. To establish a development environment for contributing to the project, you must do the following:

    -
      -
    1. Before you start working on a fix it’s a good practice to leave a comment in the issue that you work on the fix so other contributors know that the fix is in progress.
    2. -
    3. Fork the macOS Security Compliance Project repository to your personal workspace. Please refer to the Github guide on forking a repository for more details.
    4. -
    5. Create a feature branch from the master branch for making changes. You can create a branch in your personal repository directly on GitHub or create the branch using a Git client. For example, the git branch working command can be used to create a branch named working.
    6. -
    7. You will need to make your modifications by adding, removing, and changing the content in the branch, then staging your changes using the git add and git rm commands.
    8. -
    9. Once you have staged your changes, you will need to commit them. When committing, you will need to include a commit message. The commit message should describe the nature of your changes (e.g., added new feature X which supports Y). You can also reference an issue from the repository by using the hash symbol. For example, to reference issue #34, you would include the text “#34”. The full command would be: git commit -m “added new feature X which supports Y addressing issue #34”.
    10. -
    11. Next, you must push your changes to your personal repo. You can do this with the command: git push.
    12. -
    13. Finally, you can create a pull request. Make sure to link the pull request to an issue using a keyword
    14. +

      The macOS Security Compliance Project uses a typical GitHub fork and pull request workflow. To establish a development environment for contributing to the project, you must do the following:

      +
        +
      1. +

        Comment on the issue

        +

        Before you start working on a fix, leave a comment in the issue that you’re working on the fix so other contributors know it’s in progress.

        +
      2. +
      3. +

        Fork the repository

        +

        Fork the macOS Security Compliance Project repository to your personal workspace. See the GitHub guide on forking a repository for details.

        +
      4. +
      5. +

        Create a feature branch

        +

        Create a feature branch from the appropriate macOS version branch for making changes. You can create a branch in your personal repository directly on GitHub or using a Git client.

        +
      6. +
      7. +

        Make your modifications

        +

        Add, remove, and change content in the branch, then stage your changes using git add and git rm commands.

        +
      8. +
      9. +

        Commit your changes

        +

        Include a commit message describing the nature of your changes. You can reference an issue using the hash symbol (e.g., #34).

        +
        Terminal window
        git commit -m "Added new feature X which supports Y addressing issue #34"
        +
      10. +
      11. +

        Push to your fork

        +
        Terminal window
        git push
        +
      12. +
      13. +

        Create a pull request

        +

        Make sure to link the pull request to an issue using a keyword.

        +
      + +
      -

      By contributing, you agree that your contributions will be licensed under Creative Commons Attribution 4.0 International Public License (CC By 4.0).

    \ No newline at end of file +

    By contributing, you agree that your contributions will be licensed under the Creative Commons Attribution 4.0 International Public License (CC BY 4.0).

    +
    + +
      +
    • FAQ - Frequently asked questions
    • +
    • Resources - Additional resources and links
    • +
    +
    \ No newline at end of file diff --git a/more-information/faq/index.html b/more-information/faq/index.html index 273eef58..cfbea19f 100644 --- a/more-information/faq/index.html +++ b/more-information/faq/index.html @@ -1,4 +1,4 @@ - FAQ | mSCP - Skip to content
    Skip to content

    FAQ

    FAQ

    Every year, Apple releases a new version of macOS. Traditionally, security professionals and administrators spend months waiting for the release of an official security baseline. By creating an open source, community-driven method for generating baselines for new macOS versions, we can dramatically reduce the time to release and improve security for everyone.


    How can I contribute, ask questions, or report bugs?

    Section titled “How can I contribute, ask questions, or report bugs?”
    @@ -103,7 +104,7 @@

    Where can I find more help or documentation?

    Section titled “Where can I find more help or documentation?”
    @@ -111,9 +112,14 @@

    How do I stay up to date with project changes?

    Section titled “How do I stay up to date with project changes?”

    -
    \ No newline at end of file + +
    + +
    \ No newline at end of file diff --git a/more-information/resources/index.html b/more-information/resources/index.html index b48e51ba..d4e0913e 100644 --- a/more-information/resources/index.html +++ b/more-information/resources/index.html @@ -1,4 +1,4 @@ - mSCP Training & Resources | mSCP - Skip to content
    Skip to content

    mSCP Training & Resources

    Explore these curated resources to help you learn, implement, and get the most out of the macOS Security Compliance Project (mSCP).

    +

    Training & Resources

    Explore these curated resources to help you learn, implement, and get the most out of the macOS Security Compliance Project (mSCP).

    +
    + + +
    + +

    - +
    - +
    -
    \ No newline at end of file + +
    + +
      +
    • FAQ - Frequently asked questions
    • +
    • Contributing - How to contribute to the project
    • +
    \ No newline at end of file diff --git a/more-information/vendor-attribution/index.html b/more-information/vendor-attribution/index.html index b3a2dffa..fc900ac8 100644 --- a/more-information/vendor-attribution/index.html +++ b/more-information/vendor-attribution/index.html @@ -1,4 +1,4 @@ - Vendor-Attribution | mSCP - Skip to content
    Skip to content

    Vendor-Attribution

    The following vendors have contributed to or implemented various portions of the macOS Security Compliance Project in their products.

    -

    Product and/or vendor acknowledgement does not constitute recommendation or endorsement by the National Institute of Standards and Technology.

    +

    Vendor Attribution

    The following vendors have contributed to or implemented various portions of the macOS Security Compliance Project in their products.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorProductContribution
    AppleProfessional ServicesExpert guidance and deployment planning
    CISmacOS BenchmarkSecure configuration expertise
    JamfCompliance Editor (JCE)Automated compliance monitoring
    MosyleMosyle BusinessStandards-based security controls
    TenableAudit PluginsYAML to .audit format conversion
    NIWC AtlanticSCAP Compliance CheckerSCAP content development
    QmulosQ-ComplianceReal-time compliance assessment
    AddigyCompliance ModuleCIS and NIST benchmark enforcement

    Apple Professional Services is a team within Apple that provides organizations with expert guidance, deployment planning, and technical implementation services for Apple products and solutions. They help customers design, deploy, and optimize Apple technology in enterprise and education environments, including security and compliance initiatives.

    -

    Apple Professional Services

    +

    Link: Apple Professional Services


    Center for Internet Security – CIS macOS Benchmark

    Section titled “Center for Internet Security – CIS macOS Benchmark”
    -

    “By contributing our secure configuration expertise to the NIST macOS Security Compliance Project, we are supporting our mission in making the connected world a safer place by promoting timely, consistent macOS configuration security best practices which will help people, businesses, and governments better protect themselves against pervasive cyber threats.”
    -— Center for Internet Security (CIS)

    +

    “By contributing our secure configuration expertise to the NIST macOS Security Compliance Project, we are supporting our mission in making the connected world a safer place by promoting timely, consistent macOS configuration security best practices which will help people, businesses, and governments better protect themselves against pervasive cyber threats.”

    +

    Center for Internet Security (CIS)

    -

    https://www.cisecurity.org/benchmark/apple_os

    +

    Link: CIS Apple macOS Benchmarks


    -

    “By implementing automated monitoring and enforcement of the compliance standards published by the NIST Special Publication 800-219 (macOS Security Compliance Project), Jamf easily helps organizations maintain OS compliance of the latest macOS releases according to industry recognized hardening benchmarks.”
    -— Jamf

    +

    “By implementing automated monitoring and enforcement of the compliance standards published by the NIST Special Publication 800-219 (macOS Security Compliance Project), Jamf easily helps organizations maintain OS compliance of the latest macOS releases according to industry recognized hardening benchmarks.”

    +

    Jamf

    -

    https://trusted.jamf.com/docs/establishing-compliance-baselines

    +

    Link: Jamf Compliance Editor Documentation


    -

    “macOS hardening & compliance is a foundational requirement for all organizations using Apple as they work to minimize risk. It would take countless labor hours if each company had to dissect the operating system and applications within their environment to achieve this goal. The excellent work by NIST macOS Security compliance project and other trusted standards provide frameworks and methodologies to alleviate the burden of individually identifying each setting and feature’s “safe” configuration. As macOS increases in capabilities with each version, so does the library of controls these frameworks address. These public projects continue to grow in scale and value through the collaborative effort put forth by their authors. We rely on these resources to provide our customers with easy to implement, standards-based security controls for each entity’s hardening and compliance needs.”
    -— Mosyle

    +

    “macOS hardening & compliance is a foundational requirement for all organizations using Apple as they work to minimize risk. It would take countless labor hours if each company had to dissect the operating system and applications within their environment to achieve this goal. The excellent work by NIST macOS Security compliance project and other trusted standards provide frameworks and methodologies to alleviate the burden of individually identifying each setting and feature’s “safe” configuration. As macOS increases in capabilities with each version, so does the library of controls these frameworks address. These public projects continue to grow in scale and value through the collaborative effort put forth by their authors. We rely on these resources to provide our customers with easy to implement, standards-based security controls for each entity’s hardening and compliance needs.”

    +

    Mosyle

    -

    https://business.mosyle.com/solutions/macos/hardening

    +

    Link: Mosyle Hardening Solutions


    -

    “Tenable, Inc. automated the conversion of https://github.com/usnistgov/macos_security YAML rules into the .audit format using Python and YAML libraries. Programmatically approaching this conversion allows for faster future releases, consistency, and maintaining the integrity of the source content. Because the YAML content is all command driven, this is converted to Tenable’s CMD_EXEC check type for use with the Unix plugin. The YAML rules have a “tags” section that was used to create unique audit profiles related to common frameworks.”
    -— Tenable

    +

    “Tenable, Inc. automated the conversion of https://github.com/usnistgov/macos_security YAML rules into the .audit format using Python and YAML libraries. Programmatically approaching this conversion allows for faster future releases, consistency, and maintaining the integrity of the source content. Because the YAML content is all command driven, this is converted to Tenable’s CMD_EXEC check type for use with the Unix plugin. The YAML rules have a “tags” section that was used to create unique audit profiles related to common frameworks.”

    +

    Tenable

    -

    https://www.tenable.com

    +

    Link: Tenable


    Section titled “Naval Information Warfare Center (NIWC) Atlantic – SCAP Compliance Checker (SCC)”

    “The SCC development team at NIWC Atlantic assisted in developing and troubleshooting SCAP content for the macOS Security Compliance Project. NIWC Atlantic tests the content using SCC, and bundles the content released by the macOS Security Compliance Project with SCC to promote security automation on MacOS.”

    +

    NIWC Atlantic

    -

    https://www.niwcatlantic.navy.mil/scap/

    +

    Link: NIWC Atlantic SCAP


    “Qmulos Apple Compliance leverages the NIST macOS Security Compliance Project to bring secure configuration assessment data to our flagship product Q-Compliance, which is built on top of the leading big data platform, Splunk. Qmulos products provide the ability to continuously assess in near real-time and report against multiple frameworks like NIST 800-53, CMMC, CIS and many more. We are the only platform enabling Converged Continuous Compliance® enterprise wide.”

    +

    Qmulos

    -

    https://www.qmulos.com/qmulos-apple-compliance-enterprise-compliance-scanning-for-macos/

    +

    Link: Qmulos Apple Compliance


    “Using the macOS Security Compliance Project, Addigy facilitates a seamless approach to implementing, monitoring, and enforcing the most recent CIS and NIST benchmarks. We ardently advocate for the notion that simplifying the journey toward device compliance is crucial in bolstering global security and mitigating cyber threats.”

    +

    Addigy

    -

    https://support.addigy.com/hc/en-us/articles/11443879062931

    \ No newline at end of file +

    Link: Addigy Compliance Documentation

    +
    + + +
    \ No newline at end of file diff --git a/mscp-2/overview/index.html b/mscp-2/overview/index.html new file mode 100644 index 00000000..de47ccac --- /dev/null +++ b/mscp-2/overview/index.html @@ -0,0 +1,282 @@ + mSCP 2.0 Beta | mSCP + Skip to content

    mSCP 2.0 Beta

    BETA

    mSCP 2.0 is in active development
    +Available on the dev_2.0 branch. Not for production use.
    +All information is subject to change.

    +

    mSCP 2.0 is a major architectural evolution — a unified codebase that eliminates the need for separate branches per macOS version.

    +
    + +
    📦
    Unified RepositoryOne branch for all macOS versions — no more per-version branches.
    📋
    Multi-Version RulesEach rule contains configs for macOS 14, 15, 26+ in one file.
    🗂️
    Organized ReferencesReferences grouped by source: nist, disa, cis.
    Simplified SetupJust pip3 install -r requirements.txt to get started.
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    mSCP 1.0mSCP 2.0
    RepositoryBranch per macOS versionSingle unified branch
    RulesOne version per fileAll versions in one file
    ReferencesFlat (800-53r5, disa_stig)Nested (nist.800-53r5, disa.disa_stig)
    MaintenanceUpdate each branchSingle source of truth
    +
    + +

    The biggest change is how rules handle multiple macOS versions:

    +

    mSCP 1.0 — Separate file per version in each branch:

    macOS: ['15.0']
    references:
    cce: [CCE-94195-5]
    disa_stig: [APPL-15-002064]

    mSCP 2.0 — All versions in one file:

    references:
    nist:
    cce:
    macos_26: [CCE-95195-4]
    macos_15: [CCE-94195-5]
    macos_14: [CCE-92795-4]
    disa:
    disa_stig:
    macos_26: [APPL-26-002064]
    macos_15: [APPL-15-002064]
    macos_14: [APPL-14-002064]
    +
    platforms:
    macOS:
    '26.0':
    benchmarks:
    - name: disa_stig
    severity: high
    '15.0':
    benchmarks:
    - name: disa_stig
    severity: high
    + +
    + +
    macos_security/
    ├── config/
    │ └── default/
    │ ├── rules/ # Rule YAML files
    │ │ ├── audit/
    │ │ ├── auth/
    │ │ ├── os/
    │ │ ├── pwpolicy/
    │ │ └── system_settings/
    │ └── baselines/ # Baseline definitions
    ├── src/
    │ └── mscp/ # Python CLI package
    │ ├── cli.py
    │ ├── classes/
    │ └── generate/
    ├── schema/ # YAML schema definitions
    ├── rules → config/default/rules # Symlink
    ├── baselines → config/default/baselines
    └── custom/ # User customizations
    +
    + + +
      +
    1. + +
      Terminal window
      git clone -b dev_2.0 https://github.com/usnistgov/macos_security.git
      cd macos_security
      +
    2. +
    3. + +

      Requires Python 3.12.1 or higher.

      +

      Python packages (required):

      +
      Terminal window
      pip3 install -r requirements.txt
      +

      Ruby gems (optional — only needed for PDF output):

      +
      Terminal window
      gem install asciidoctor asciidoctor-pdf rouge --user-install
      +
      Want isolated installs? Click to expand

      Python virtual environment:

      Terminal window
      python3 -m venv .venv
      source .venv/bin/activate
      pip3 install -r requirements.txt
      deactivate # when done
      +
    4. +
    +
    + +
      +
    • Faster Updates — Rule changes apply to all versions at once
    • +
    • Less Maintenance — No branch synchronization headaches
    • +
    • Clear Version Support — See all supported versions in one file
    • +
    • Version Overrides — Different checks per macOS version when needed
    • +
    • Easier Contributions — Work in one branch, not many
    • +
    +
    + +
    Completed
    • Unified multi-version rule format
    • Restructured references (nist/disa/cis)
    • New directory layout
    • Python package setup
    In Progress
    • Full feature parity with 1.0
    • CLI documentation
    • Migration guide
    • Production release
    +
    + + +
    + + +
    \ No newline at end of file diff --git a/other/generate-mapping/index.html b/other/generate-mapping/index.html index 7d11ae1b..d0766ff1 100644 --- a/other/generate-mapping/index.html +++ b/other/generate-mapping/index.html @@ -1,4 +1,4 @@ - Generate Mapping | mSCP - Skip to content
    Skip to content

    Generate Mapping

    The generate mapping script helps you quickly create custom rules and baselines for a compliance framework not published by the project. This is done by providing a CSV that maps controls from your framework (Column 1) to a supported framework (Column 2).

    - +

    Generate Mapping

    The generate_mapping.py script creates custom rules and baselines for compliance frameworks not included in the project. You provide a CSV that maps your framework’s controls to a supported framework (like NIST 800-53r5).

    + + +
    +

    Create a CSV with two columns:

    + + + + + + + + + + + + + + + + + +
    ColumnDescription
    Column 1Your framework’s control identifier
    Column 2Corresponding controls from a supported framework
    +

    The first row should contain the framework names:

    800-171r2,800-53r5
    3.1.1,"AC-2, AC-3, AC-17"
    3.1.2,"AC-2, AC-3, AC-17"
    3.1.3,AC-4
    3.1.4,AC-5
    +
    + +
      +
    1. +

      Run the mapping script

      +
      Terminal window
      ./scripts/generate_mapping.py PATH_TO_CSV
      +

      Example:

      +
      Terminal window
      ./scripts/generate_mapping.py ~/Desktop/171-to-53.csv
      +
    2. +
    3. +

      Find your files

      + + + + + + + + + + + + + + + + + +
      OutputLocation
      Custom rule filesbuild/800-171r2/rules/
      Generated baselinebuild/baselines/800-171r2.yaml
      +
    4. +
    +
    + + + + + + + + + + + + + + +
    FlagDescription
    -f FRAMEWORKSource framework to map from (default: 800-53r5)
    +

    Example mapping to CIS Controls:

    +
    Terminal window
    ./scripts/generate_mapping.py ~/Desktop/cis-mapping.csv -f "cis/controls v8"
    + +
    +
      -
    • Column 1: Your framework’s control identifier (e.g., 800-171r2 3.1.1)
    • -
    • Column 2: Supported framework controls (e.g., 800-53r5 AC-2)
    • +
    • Tailoring a Baseline - Customize the generated baseline
    • +
    • How to Generate Guidance - Generate documentation from your baseline
    - - - -

    Run the script with your mapping CSV:

    -
    Terminal window
    ./scripts/generate_mapping.py ~/Desktop/171-to-53.csv
    -

    Example output:

    -
    Mapping CSV: /Users/mscp/Desktop/171-to-53.csv
    Source compliance framework: 800-53r5
    auth_pam_login_smartcard_enforce - 800-53r5 IA-2(1) maps to 800-171r2 3.5.3
    auth_pam_login_smartcard_enforce - 800-53r5 IA-2(8) maps to 800-171r2 3.5.4
    auth_smartcard_allow - 800-53r5 IA-2(1) maps to 800-171r2 3.5.3
    auth_pam_sudo_smartcard_enforce - 800-53r5 IA-2(1) maps to 800-171r2 3.5.3
    auth_pam_sudo_smartcard_enforce - 800-53r5 IA-2(8) maps to 800-171r2 3.5.4
    auth_smartcard_enforce - 800-53r5 IA-2 maps to 800-171r2 3.5.1
    ...
    sysprefs_improve_siri_dictation_disable - 800-53r5 AC-20 maps to 800-171r2 3.1.20
    sysprefs_improve_siri_dictation_disable - 800-53r5 CM-7 maps to 800-171r2 3.4.6
    sysprefs_improve_siri_dictation_disable - 800-53r5 CM-7(1) maps to 800-171r2 3.4.7
    800-171r2.yaml baseline file created in build/800-171r2/baseline/
    Move all of the folders in rules into the custom folder.
    -
    • Directorybuild/ -
      • Directory800-171r2/ -
        • Directorybaseline/ -
          • 800-171r2.yaml
    • Directoryrules/ -
      • (move generated folders here into your custom folder)
    - - -

    For frameworks such as CIS Controls v8, set the Column 2 header to cis/controls v8 and use the same value with the -f option.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/other/generate-scap/index.html b/other/generate-scap/index.html index ef6ba3ca..7f778d2d 100644 --- a/other/generate-scap/index.html +++ b/other/generate-scap/index.html @@ -1,4 +1,4 @@ - Generate SCAP | mSCP - Skip to content
    Skip to content

    Generate SCAP

    -

    To generate SCAP, OVAL, or XCCDF documents, use the generate_scap.py script.

    -
    1. List available baselines:
      ./scripts/generate_scap.py -l
    2. Generate SCAP 1.3 document for all baselines:
      ./scripts/generate_scap.py
    3. Generate only XCCDF or OVAL:
      ./scripts/generate_scap.py -x(XCCDF)
      ./scripts/generate_scap.py -o(OVAL)
    4. Generate for a specific baseline:
      ./scripts/generate_scap.py -b stig -x
    - -
    • Directory

      build/

      • [generated SCAP/XCCDF/OVAL files]
    • Directory

      rules/

      • [rule files with baseline tags]
    • Directory

      custom/

      • [custom rule files with baseline tags]
    • Directory

      scripts/

      • generate_scap.py
    -

    Example Output:

    -
    Terminal window
    macos_security git:(sequoia) ./scripts/generate_scap.py
    ./scripts/generate_scap.py -l
    800-171
    800-53r4_high
    800-53r4_low
    800-53r4_moderate
    800-53r5_high
    800-53r5_low
    800-53r5_moderate
    800-53r5_privacy
    cis_lvl1
    cis_lvl2
    cisv8
    cnssi-1253
    stig
    macos_security git:(ventura) ./scripts/generate_scap.py -b stig -x
    -

    This generates an XCCDF document in the build folder for just the stig baseline.

    +

    Generate SCAP

    The generate_scap.py script creates security compliance documents in SCAP (Security Content Automation Protocol) formats. These documents can be used with SCAP-compatible scanning tools.

    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    FormatDescription
    SCAPComplete SCAP 1.4 datastream (default)
    XCCDFeXtensible Configuration Checklist Description Format
    OVALOpen Vulnerability and Assessment Language
    +
    + +
      +
    1. +

      List available baselines

      +
      Terminal window
      ./scripts/generate_scap.py -l
      +
    2. +
    3. +

      Generate SCAP for all rules

      +
      Terminal window
      ./scripts/generate_scap.py
      +
    4. +
    5. +

      Generate for a specific baseline

      +
      Terminal window
      ./scripts/generate_scap.py -b stig
      +
    6. +
    7. +

      Find your files

      +

      Output is saved to build/:

      + + + + + + + + + + + + + + + + + + + + + +
      FileDescription
      *_xccdf.xmlXCCDF document
      *_oval.xmlOVAL document
      *.xmlComplete SCAP datastream
      +
    8. +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagDescription
    -lList available baseline tags
    -b BASELINEGenerate for a specific baseline
    -xGenerate only XCCDF
    -oGenerate only OVAL
    -d FILEInclude DISA STIG references from file
    +
    -

    Security Content Automation Protocol (SCAP) 1.3

    - -

    An SCAP data stream (typically) consists of several XML documents knit together in a containing XML document. -The component documents are:

    -

    National Checklist Program for IT Products Guidelines for Checklist Users and Developers

    -

    National Checklist Program Repository

    \ No newline at end of file + +
    + + +
    \ No newline at end of file diff --git a/pagefind/fragment/en_056e9e9.pf_fragment b/pagefind/fragment/en_056e9e9.pf_fragment deleted file mode 100644 index 41b868e4ef85ac172bfe5d48ae13774e5bb3934b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1220 zcmV;#1Uvg5iwFP!00002|BY7LZrer>{gnZqTtH@;rcGME6pockfjBq2ErOyj*5pXs zdb!K)MT!yx@NX1oU;APHlAc+T5|t)Kp0wKKo;h>oww+q?LfiVHuIl$i@}@W{?yT8V zuH`#_CS6?}E|aeLPBAMgXCvE)FJ8$3J&}Wwep=ARrJL)&Jd@=$MMtq=>b(1dt2m<& zm5;R6vBAC$G`UO*=Sfkcm(8K!6&rFZ_A3n(x5y}K=dTvVtxGyyME2xaPPJXiX<&eJ z7iLs73{00Iv8tN93qpY^=RJqc*;=mLT>t<?As|T>nD>SM&EcMs+-_jH|#Es*;Xi*Rt9+w7~HL-b$8W##$i`roPY68tDf z(RI2K>dDsZkuSKap-z{4=MVw;KPXnx-4a~61020^$SU>cLK|?1Z?5OKyzn2ASRfOn4 z>I{-8zvM`WBT^xVkOy2YOB5Qsaaw`?iAq`FW3yJ9Kq>GPGNTFQPs54#WL?}|YbEK2 zyW-tgla!MLN$EOKzodI5)EJYG9;(1bL%N@VGbZK5<*-|J8;N-3x&M0Hr#Hu^&vM#k zTbW|DOH<2SL(vzV_@@k=L*bl8yh8wNzUKT=S^ciB=oE&gL5GnRMlB~H?3==l`FGODmNWZIdrO4sV*)aB@D&K}> zgHj+Bvd3Ic*pB#WTSU1VX^Ul>H%t0%5((+FS-bhP#ck=nPIecay?I9r^;ed=O%Xm_^)zJpfA~Y8}XjV_~Aa`@Am}X7T8(kbr&aMhcD-?rj;5pP(R@l z5>|=Qd2~qjOC$8~r`AKp-Xi}0xb6AzLkV%Nm>#|5Hs|!GDiIerpHslJ)eDT9zBso9 zw(B;$8z>W6q6KeFjP*IRp5d*N$NgGg=?qrw)v4<*V$SQ1p2H+HY`PzZ*At9ZE?Ifu z=nxWbpEQD=pGsjIo3r5!l#d=CznTe&mCU)%Q;FUsRBmXTi=+AoRhz850)|2;@x()G zuP-u_;^^Lk`?CU>4pN~wdjDZow9p)@BI;;({~1`|SO$cXZ-0AVV8*rmTd}zdTwP;z ifjN(LBx@bYR0nM$W0$QoeV^R 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 diff --git a/pagefind/fragment/en_1a82eb7.pf_fragment b/pagefind/fragment/en_1a82eb7.pf_fragment deleted file mode 100644 index 85ce31875212eb1eef2d272ca020ab962c253222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1119 zcmV-l1fcsLiwFP!00002|E*SCZsRr(zREyP2_R9Hoy39PQg2h_A-hGL7AU%fz(|zM zh9Xsxveyk#_xF)A5{1rm1C7Nvn#>c^rg6rle)kqR=<(EnGLZ1a1}#Ivr?rz+{?N78XoY2G**E zUu&M-i8W-JIk~JhR+XS@!3RZ9h zf}zS9&|#>w`h{iIIl>L#U#=u`mw2({x$}m?boK)ZQ|lZw;KI>Lpe>C~pnH1D$k9}Z zx|EO{gH@<%>Z(%OqQU1f!(#$(6~^=5KY#oSH@uo`yr>N;Y5}VSlRg2GA%X)Gd@dWC zO3$g}zfsGTe0uzI%dZu;3&8SVmh>8o#SBrM8{*@*RJx=X?+l|xO|aYw#D04GtG|7E z{2R^(gD4p%dKkLX=}4av7?Fe|;rrlX8Vy6h@5q0X@%x~;9KLip3i0Pjb3SorMC`IP zfggABxE&Di9NEJQ&NLh`GACj0T;tO5252~e*`ADVQnRJ+LUIneDtxtuoE5YdHuS7$ z3Fym>S$}&qyMfua&}ZU%!@OWrfU252Dktu1Bz-IFD?Nct2TU6de}^1~OO8a|SCYfh zu0&H>d-)5oqHE6?@6)YD;xEt}n=KrFJzFf*b7tY)43$=GK zTL`s6qG58DOsJ~FIuLY1ZYRmJ&D-eO7m0*SX1e5(B8QQQh(h8<-fTuh+RBq^4Zp{4 zn7Om6im|MbRhVXynI(a*KTvFC2CBAIZ71E}Xl%q-25sWfWYr=489IhjVBbKPY}FGp zxkxKorb5lROif9(&9G@wCNUSN74@9Cx`>8H*xwyHw#j%(My~)nKLmEtg7pwoxRSie z8&l`%OGWmHSf3Ht0f+CS zG#G~gmfvFbgUS6v7?jLXJOw^cd){6F%D7>#oWf7{0TZljUTKR2!Fi6S6g|STWgqsv z-tb1K%oi<~3?9NAjA4g?K}3arR`f{yQ)36?EI9CC6?MpbxOC?RLYkSL+k(5q1tKQ*!Jyz}g!@A`idw_npI|f+b=u^LQHb__k9S z)fsg9Miko0QkzxZawChf$4pXXA}?)ENn7?i-454zi3=z`aUvFmrb?U)oT5wwm#MT+ zAU=p?p_t4ql&OFW-@w*qDl1}`YXgbMg<+-46R42^#Y%!`tm)z!S5-_>2qg^!yMW~} zqIqpBE0nO&8dOY^O2#bbA}Ur9Oaw2bMsQgw)c*O?pS$EffBFlK>vanYW~8nx=&CF# z)HXLd0|ql@g_5~|_ro7fVJ?*zz|e9jk2Hr^b7xxwCzrTO*aDuqlWUo05u6{rerRi? z^SMka3JaQhZZs*dw2uBsvJ-slBN#8aP;eA9{z#D+z@;#m%$b54OtHR!VpXO(KY*yt ztL^V{9eQcxV>#FvLio^2ukfMZ^z8VI-U@mcxEQ}4UyR?4#`J0Fv82ZdoD3%?S0P#v z9Lt5sTk-1xHv+Z5T1yC?Pi*bD;{nD39SVsbG)Xwz%7*7xsn_ttKNsu>bg_-pOS{nP zr9u@jNikfGe(p09)^UrB5le{?uDz!NN+;TV!0SpWqk@zxr_EVVh2Nd z1z{9*b_3_A3|iR_`&2A++Egwi?Whxu5p!V#MKCNA8@%hy=9?q5!j^)?pyv*YmIxbd z%1b$y-04LHmS8*uQ`O{tsNr0t*FE=hE0R&;hav zzh>U#?K+2*uHc5D93~f8MkVOlPQyprf3>&QdwF19PBR@l|DzSlRH(u)*5G3(5j=r2 z*Nq0@%~5XveayG9{mk;BZw>EfjB7i!f>%bCtNyH#D&9ujp@(65NY8Q8oLwt(0odqP zQFKp^+S+ch;B9CJk2K|$95v;UD`ng29zLpG8`5Zff2^+*Vlm~{_in(FwrqhqsvO+} zAB_<0M_cDs(pu*2Y@F@=x^Z%PT*KS(`=8G)j$A9HM|l+*BeM5K8*E)H=>{lVcdwG~ za-H19tCfQ9ipZA(u@^zULBHc9OG=E!imnMq@SZmiwzytkmx*Dv+NkK@FX62HtCu2p z+c@m{wN{F%*n84)E%?(@uJz)iF~x5`bGTi$U{bLeMx+%)OQ2RT!&Bl29xv%QqAFy} z2uodO^5eZ?$0Jzf2DC|7E*rQ9Cr2e4JyW8e`IKL0kRx^8I9`Z zh%%aF$cqgT7j{?Gcssir&!yn&S>J?|aGJ@fUc}il)!K^oXp0a@+xpP|3D89ug{Y|( zg5%t zyzF)`7HFRB3~ukbolKMr-#V_i9{e@xpd>0vH68nK+Yw4+{#Pn}jw)n~Z_`p2_+EVPf7l9nq!Y@FgC!sC07$5>X zKKv0)v5Sj*%701!pz} z0;S&>f^qYCmr+0xk-@4w z2$q$W6-Z%IwT%&y6Y<^Ri=KJmSH+b_RuY+HC|&^LZgQiI=G%8#uvjt%;yQVVN%#mxy(IVfWA zh0!wxm&H}m=VMfA1!D=fSzM$ZWTik#Q&zE9wjmIUj5nc=(@I`5}x__r6} z90sN5uxV`rF3Xn|EKQW7w2hHIm?`tlhqW>t}q* zXq8K$Kh_x(iwFP!00002|Fu@#Zre5#ew71VwSX)q?K%v;vlBNBkYvT|VJL>dph?Q& zCXpI{?07+dKFIcReUcrL5*0g1kzweSW$FBW-**n#k_|6~WGhD5UFLM1O|tRE2}UI4 z<4WyDR*g1Xa!o8Br4L!2Q6(*x7VST%9V``GbXIWDSrz_m?+d*zl%nPaUQG=Z;#|=j zJ}j@Vav+ky$Mg5Eq139uf52~ru|jTOO$@Jv3sn=3d>nm4@wfURJtKnC<(%(@C=yHoZ5OHi}G>%V&K#C`YQAS zd*y&?9vqYg{Ej}H6)>%9OiWeNaLGb+lY_@is~Q-$MARlWjxS5GaXOY@EN@NUNGeh} z+d2zG$09ISH0X#hph{ng23je@WvaA*GvY$rX}u$RlTci1j9Vd6mR26;;B1NBa0@>! zV9T{ZuL8~$NM(~-L$I>W7h!{)(tngSY5<=Z-|||u*sm>ME{(%tKOsC*{QcSZBtF8K z(jHcr^;o_~7z;Guzy%s;AOp@G-GPu-)ESFZ^q*h*tP0Jr`OuRSwH=9}djqXjTfxwG zy$>e%|98w@z)vm$*z2`du!m|9#8kjXC8P~joxH4yI6ct6ePGjYbIvuv>8V`TVv`kpZ|V|-KM)GrPETT^|dqPdm>NXHo2Vz*iBL)o(I0s_F z;?tN8Ma+0fTx}uk#Dk?{z&IReV&LX-v4kH^PDbzE=5Tho$bDyv<>iI1pp2Z)BP$3A zo*(~R_^I5OM!#D%iUqq)_s?o-*aR<9)xpO0qAHH5e@Mr$Gd$%L*`oAuM=Oo#ycUB- zmEI63{tBSwVE3({q{b7XSGzNh5^sjR;>n9Ky;X-&D(YZ{O{mEk7s8hcJM>K-Z;k&= z#!M85EHx%;TgzQ6e+^{(A(4R@(jONJU_F^-F==l zc+}%l7M9XiE=(EP`eRjj$6xOV+0zMPOsuN3ozYYq%0=>K6w`@FX5p@~bOR}vAXU)s$7ioe6e;DEb-0ja`i9&L%ABbZ zR~bnYiM^QK%1@OtGKE7jOKnUenK-2ja>`}czWesiJ(0U_|Ay62+Qg{RORF@dt3rLM z;7N)w)l^CL(j_xQ;Z1XNg~%ms-zYaj+!QZFo;`_!shEDMa#2J^id0Mxk>B;f@@)<> zrc~LavKAI&YMa;7rO@5Czb#V0x%L_GdH;+gCo`FRM0_)uW!TMgK85z6g`B3j$W$tv zO%XiQ=1SbFQfV~fbzR3;;Z970O_EfKMW#hc+oow37-`?; zJg{*%mZo{FYdAc+XE~KgChGMz0|6qDt;$jx&YzXeafO~R*qXx8sA=oX{rgakk#NcI zTb)fA7^q@tLoXPmE8A*?76SSV)tAjDCEO8lp40f&jgufgevULbd~Tp%YNse@%xBzc}dBIai7AP>v@0Ws+Vb5#MJ zLcriTLP>&g4~6zjnY&RR<* z{=h|Jdx84<{E8y?ecIxF-tycZQiT}#hbza3LYR{UUh?&(xM;X#)qH*Kp*}@Sy3w

    @L$!Sh`)w-gdm`IFj(ut+S`-+Q(m|$>iMU(~c4IY`h;8izJC~~T zI80)iPhzV6B8Cs|N9j(FxNKiHtbNRjfb&h!gREp<)Q|GQuxn=8f+aCCk z-W$fLl6OUjheM1_x#%o=*HhJq2L0=1PM8#I zr~mb~+sUO9SarOE8>Y_=WI*pT%@_Xo+K~aekeuy8xk|AbJ6&SUbJQjc-443WW4qJu z-FDY>>@_-?XEE{>v@Lb(#Ry~D@U>3Xtxpzhwtv!?Fo;BoI7bVkb(v|W7og03mv zJ$U+<<{FLB@_&Mr+6NrJ9((UmZwuUy{Cv4mwu0T7mi^wd+dpsr1Ctc8eX$Gx0B7CM A<^TWy literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2f8b2ed.pf_fragment b/pagefind/fragment/en_2f8b2ed.pf_fragment deleted file mode 100644 index dd7e4c630bb1a501fb55cb19801a38c423e5dfcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1077 zcmV-51j_p#iwFP!00002|D{&jZsRr({S`t_S-^CBi8q_PWo;lZ+IWM?=u1%qG&Qz~ zN~B6sPSqg5en|Us`z0Ofu3am(Qsg1DI2@iCo|!W-+rd`I;3?q2iHu20AI+~maA!)auptEG z+t+`N*?s%^FIn%w0I9AdOaqCNO(@JB4{lPTwp+mkUb?G2U__D&Kx-M0SgV5wfEbIv zm=4T<>=OJC3JJJ&CK~=sgogYEjG6Fs1KI#jw6JMr(#Qp2#w40a4nqeo%`iPXk12ZE zg2u}cTjobaaVVT==41oLA|8gpbHFsLSdp-$G?d24SX+EsCFs2SS|ha zhhy1$mm`Mwb%nLAFi`Xh%ZLZx##2q4j3|Y1x-5c;cAD>1eI-8PT;6P@> zGtI{M_qOTB>HjqtUyn~)WOz<_nv8EwTV$T_#szXfB59Wm%J`|V5E*jkn28UtSo(KI zU-In3eP7RCFYn2(Xfz%m(9nf^7st2}G5*CT;~BZ|u?&=8A2Qn^nYW7If!SiAkm+O& z+KO$Nfs6UW!~AGGy`A)p%N;7*eZdBB5b#V6li}zc_&eOFC=%8JmXxe3)-U~*k8?3! z`Tp?~^l{KTd_1%yD>WqJ$!t2T-OibXozmj(qGw?Tm}9Tj%3U26AYG5@M1;*7kb)8! z_t{?_4XtI+7doCHKMU-L*s73<*rw6xqgFw}u?=4=WgvD6uRYgpr6fI9Zn|tcB`3Qs zSDaXj19Kf#@0cv|YYLGF5@U5rc3LH|DdYha3Nuj)XeK{S69yy>nRRtejcY4N$EMEY z+EfvEgT=p(nEt~MyJt4nmQ1sn(pRZmQQpUb&o=tLR^BWg3&1s5?wytnyS9JWSU?=A z)cNhR)v8u=avRC96(LZ+%<3acL&XB}6QrlN=ZFB4;c8>)RuXI@o+I`BhW-1pT(;z_ z{Ve?-zLL)+7YIJQad4cTj)pjpJu4kNah154Y;rRjco-^zGT!aW>%fb^GF*8X`i`N^ zLp!ABUb#cRy?Btb46XNLyg&rFda^3UwS~XBMnBvQRsJI0?dWyT@-r#@)Xc5N%G&R- z3T^qFeCPM7^ec;|hBIt25K*I2SzUg}O`uppDm5hwjNDcr1|3(gx diff --git a/pagefind/fragment/en_35e3782.pf_fragment b/pagefind/fragment/en_35e3782.pf_fragment deleted file mode 100644 index a0a64c9585afc32c7a87e16774a48e5f012611d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1337 zcmV-91;+XxiwFP!00002|Fu``j?+dIeU(cpRjrf>um~jf4_ZoFsJcaTE3HsfttR7} zcv#zG<|A%|R^mb0m*Yt|cWftXv_UHbf1<>`b3e{K_uNUV*SxY#aZ#A!-7NWPc09XV zJI~5CE9Yw+t!wVC^xM0$`OLT`auZ?l%gL(+otIlOo^@o3r47`2_l8Y;LTC8IF^V=; zT+oO2{~a>@@cw`LdBc87Th@L~Cv96Xd9GLo4y38!j_^K+JGY`*o0n$``pfIWN(fz5 z+c^a`$=kRUw<``Izrg9HAYIh9u_1aLoevaR#={zQlz}=8AI+LjC$idwl{i|Wt*o)S z+IwH(Wn~*)(9@wBIW4B}O2H*>cuvOEb!uR*3U4=fQFAO^k)y1+Vc#DcorU~D%FMNm z#fCX`Oa{&iucZq{N=1rAGMuxGw#J9sWi8d(8VGE7pR)L7!PiOJ&s~>Yz98wOx62ff zunw2>HgSl3Se)?OIv;77*5RgReu*1t^f?nZ1~7qhyR4*yR(lj^ThQYUy%aFv-G-3R z3!s}k{c7X$w9FoZMJKm7c1$PNLoVpgeLM*dD3%r1cyX52YglEJS7=-EoGk{pYH(Vt zBGQn@Z=40}Hkg#D)Dx*-V~1Z$mttQRW2Apo;L7S4gQlOGpE4xlU&uX3liy^|4>5aCP z1_*~n@@s~W4xc%2@iBz4r;viUs zNHHvsy*z(?a{BvCo%>dyq=SFBxeOoN2yW6JXs0zXYtKzyg}I~GtS~azq6UMW@y1mf z4x_YNd44IF+KAwyq5;3)-ay7ghjkni2<+jDI*SlX#`GF!yUw#Ov})PoSeCk;0X-Z; z+=4e2_EI3yWZ!xlM1MBcyJnd9^O8LeQYK4~WbyUGisl#2Br(hlzIlRfe_XJA>cK0{ zdNz4UkTj_CPr|I+jX~|6U6UYT<8HIitM5-1p9rNGV7nQMt+f}$sSb*8W9nX@r&5M*d_ljtfrcP;uYhz`iISenQkJr1 zYm32mXs!zv<9@rC45n@xt}+l~CaIO|1_9rp2_W=Fgl~i?^ISKfW1+Wn^~tAeXxIvp z!`_i>r@ov!xE*!Q7f2|{1?j=V$MYF<55xvHAPm zjQf$o%kn<_*#h4#qHFOz^1s8i3qLAnGH+(b_pauXV@Kn$uH35rzNO^8r3OIuo(^5e zChqSaa$mYmf%nR){S83j0-$!pQ_ib?|0~(Y`@mmvd6*>i=)vcT#zs?G4JxlhYuBR?fFZieGLErXgQuN diff --git a/pagefind/fragment/en_35f40da.pf_fragment b/pagefind/fragment/en_35f40da.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4f67b1218b12174ceb4fc3e0699229e3c16fb298 GIT binary patch literal 1277 zcmV{gnZq>_Vhur$JM`1imFOkl01#CNPpfSdk-h z>*X%HyOb;&2K*6yDbW6$zoawEi=^6Wf&hj^iL+;B&YYRqN?hSg>U@%C`CU|76{XRz zLhFncO5O@DjUIX-m9bJ^#kN-HhS4C(jP|HKSzmN7;a7f{!0HEu-oet;kXaNSK|oeJ zZ%TQKIZTB^B{jly30Yx`;}eTQW(5Q<;0;KfsXC{FItPc|vx%`+Lbs8{IR{T*bD?TF zvU7g?!R=BAg>*oFxtz_=Qk*certG~l4CO56GOvYd+$C^kD8%zMbU1F&KdhsJu-N(I z+$b&%wM6=)?{*`=$A`ZhS!A`9ei_o3)jH!h>=*y2rNxrsW7-OY%9`IX^IhJKOfplF zLEh&$fJ)V_3m~L*d^$dW@x|%e;Na+V42P(*q7?R;a1Yc%EFJvj5Ing!GS;$-Lo3Jz zcFOV5FR+)4cHuegQ=WPkSY;ZK5tMc{=$?KRAdg)7u(MW}A8s{}$^`^gA)h&(Q#S^^`X7rU^K zis>uOym3N;jawgUqy{>q_SWQehJeCJ3QTI}g;Gt0OZ0`wd(o0Y4_jF#Fvd_Q@X{-y z|MB7PCq|DC|B&i+h@o#1itbj}oG{Urk_){cv6%%VLzh`uc{gkm#!1%%NwtLd8V(P} zC+|+rP9P=*PHse5DNMfu=hbKwzkFd|PD+ypg9ebOwNEt)Idbf-GZ3IfiJ>sTwn>aT zwo_FK@0ZjlZqn;)1DubiaLJEn^tjb=YePs09PtFeC!L?b8wvwOI}`>CLfWC~PeZqq zmB&1VkET|6=td>4aeZ=dW%y)B=W`_LT>6Q~l$*>XxtfsPX7Z}G_&ItFpDu@bNZJ^_ z{*uCZ#W5aZ!!`4CnZRieOVfpM6VRlTYgw)TL=Y=e(MXlrfVI)in%6KcsFESFp8hdS z5E?OUZ#Stoge;^l_!V_OuDA?##3&Jg&b2Iao}4sIMo}xDwmnP6H}*=r^SfaRssK3E<^QH1j`WOW~i(Xp1Rl^07eOud8guX}47T+V*L- zwWC3BdGP*SsA#BvXv2OQF#jpUaSSG(r!8g*dwXG(Q7;E2gl$Q0_ympbjoO9z%mbfS zgwZtM1FLOxT^F3;jfb(v$~~9z>Mdt^)Lk!{y9mVa-q0Oj*)-Y|3o)0J$P|}`TysP5 zm_?c*{r!c`oZK{>+w@*@bD&A1B-fAbDwxq;r8^MquY3~vCrV%J?GGZ#nDpYJ^zMET z(P|O&6opuy-jgCS;e}<`{?lEAD(oyWEcOUn=JYi2rlMz0IX(k0h*aBNQ98OGY(VUH z5KXya5qE0)FW%ZV+d$kK?Qg^EG#xWFaVLmpJbb0YHvH}H|Fq3tBZzSKj9FCiEXaE0 nXN&GP@qc`^4PO&V>{vr9$d#@(QGOoXf4Tn`K=u%OH46X$ajAFg literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_3a689e2.pf_fragment b/pagefind/fragment/en_3a689e2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..859551c9996e0c64ca30a7fabc23c19b8416ff4b GIT binary patch literal 2065 zcmV+s2=4bEiwFP!00002|D9OtZrer{ewDNOQwIcSY4 zBbyCHs=Qe71_AOK3$!nnC+RoCi%6Pk(*BV+Gv|EgK67SP?2#|Lz`b`J_fsd0{LV?I z=Y+w+drTvicwwNdqHy8)JZ_&>eD)HiNw3rGU_IeM0)%0el4cntjU}Z@_0<|BnUDibu%{`CgpR&Px2fp+y)i8Sv(T%cD49f$Ig2lss{YlPGnP z6o60MU&REultf|r0OY4IOg2Kph?eXF$4`(lpP2h=8YfFw5vyc-E4l@z8wSuKp@4Ij zl8~H;vxILjGG6}$9FYCU0}j*p{bTC6EO5BGdLd;+u@iZ#BxjC=noD7U&`mIUuoAH# z{&D3qFNkUV#1d&d2A<2+(v4PW-1M18&mLc^WN}A2Gw~81N`C$F`*!NDU;ZGCoVFm) z6N6^!5GKL@D;6d3Nr64$nFW=IDn5VaK7HUX@YWSin9CAI>;X}hVJJ|&BXOp;4aPQ#^?=Xr(Xa0lWRb7=>;(#!{5HQ+=L*6h!e8hJ5-^)i83Dv4i0cC7=EyVgsb zAi&l}y_{u(qEZzSrdA|oS)WF$Fy#dpu4%>HDpf}y zXGKD~t-K;Qr7SVXrFiix(rc8Ul#qW=kS-sf)=nDB;-LN}%J$0&jGDh@aCm(;5cox5 zmGqVq3WnULpqR(P2jGlhzRf=(VQd~P5xp!TFz0~-ii_e&AU?OgnPn~cQKQInqrr!r zN+f5Vkk~^4F82{3uSi#wbmlx2!?N1MHb?P_JBXP>3wT~srnH$ac*LfeA!kfR9U2>C>)ZdjN4bm+sqS8)L z#n5IXbyi9r$)d#8PS4CwMNa4+*>WXn(%M*2NN9`bU(sjr-KbiPQ^iT;E+f5vEfm=r zf>tkYiHu4t{%{dSGZx3|FoOEntbt+j-%?K|Q#LOSoiy-6=R=cY#F6bP9Z18&0NZ4q z_a$qTVFBB7eQtYVtLhJScVBVT>`lbhFDgv94rg8N#5VsnX@pNt-+f&A^qhtH-*=t9 zx_j3lSRRTa8WVH-LOHtYygQ@Qe~qR?`*x<2Jk@D7KOY-Iy6Y&to@@Ymy^%el+1Rjb z0#2`|Pk?pTc}kMiNw2qFuXBIH^MW+)&GK$x3_Jxas++iX9f-;#G}OYp>p2PjkZNa@ zJ>|3~CTgoLU$E3KSI}m_oHP4UCu@3P-)N>zhD9@TdTosK5&fW982>;whJ87m+oVly z2}Gtgv2SU5A;&)&lTnv+Q0OMlHU0qo6mL9O%udIAr+dybEIEG2w9gJ2qq%EKs7eB z^Rb>;1>BK#rM=g!Z~A>?nEKEbWW|?stu_`4LU~L7?;OI!LG2OA_;m&}=3D*B82C>0IM{(gV&_;{Bq?BMW0+2{B=I^G>92gi%Uqus;) z(L>*nBk`E>5ssD}_9( zny3d&)Z&zSB_3y1lhzL(z2FA7*Klq84Yppw~p~3FpK-oQ127Aq0Z_!bdZF_69TUv(pm{o2f4PAaNv-6iNG744Nk+&8>d!tiI zYe%bIKN@(lmPCJ%MjmeZvaRsM{aM`Xens2SjwtU2%{a=7!gm*1Ei&I-U`Kr4VT-|` z!uAf2l>LRnl!wEEJ%t?|x<~!N-rK#m5C6Qt%EXgB%Nb43kl-%QSFN|&&8q0WF2l9x z7~kg)5!Ct`6O%&2#zV#;3YX$NBBBR|8@m^v;kyxcL@nBe@(wU#&Y~c@{$zLm@&boP zAyN7FPMC^!q5Z?7ZU-v~9MC!W^tszv;?V$K9cjup9*#PoM?O4-g8Ao99q#jG_T2Q; zhak_z*L@PM@SVUP-$Ltl&``^j&dKiQZVhix;1!Qt<%5zE=C3FlDcfIKYBKiUeoKga zO;N;!=M{M6y`lzsv|aNo*NQi}4PfmMtbz6S``gfX*4rzUQde>b8|c5fY1IWC54H(% v^4o-xORNU7e$S{O4hF~D5CgCyeyEKN)}~(SAvzd*{^j$Z5#ON#6BPgeY7+H_ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_3ef45df.pf_fragment b/pagefind/fragment/en_3ef45df.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ed85bf9f8d68fc55ee4d62e57bb3c40290a4163a GIT binary patch literal 945 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 diff --git a/pagefind/fragment/en_451f92a.pf_fragment b/pagefind/fragment/en_451f92a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7371e9acdc4c8eed75dce5c6ae793825b0b80998 GIT binary patch literal 848 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_4ff2902.pf_fragment b/pagefind/fragment/en_4ff2902.pf_fragment deleted file mode 100644 index f0b8dd73036616b61d5c0847e33817d7cdd6929a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcmV;}11J0+iwFP!00002|BY7LZsRr({gr{9EhV;hyRFd{XtQ}(AjuZ%-4;a<7&Jvi z#8RY6QobNak$>n@f%fO}B|W5U%Zlyo=EW2_b2xM6a3(do7lqXMEa&+{(pZ&Dk~40q zT1lq4NFBGb_U>>iRcvhdL8kW7XzVYTRBWyUPNQQN2DM>i^tJ(}iKp$>^V8q1H54o9*Acu3 z>$z0;9?()yZOuaF0%v3v!Y-s(k|{`fM~wp|T|@=LU6ujf;ttk^Q8Y@C+NAcO(OT;J zcre`rH5EK$Kwf$!a(aIH=g{i;>0kQYG{gaF8@-nS2^sI(qeQLASema9UO+*56+%pv z)QCp0dpDtv!d6lWBYnmnH-p29PZ3Iax+(E^lq;p z*FraRxnhCTW7(au4LSZ+iZ;PsIs*cGC>4lw0(?^y+?4zr6e5w%pa1_y*Yp#;qZ>-G zy2S6N4ASE7ry;_|hT`uj@}n^-`zqKg=6qjjOi$>>#D$}hAsKGK=UBY5bXXFhTowi zv$M+ax-T^P6dqi5{OmSOc`5kkyRa(cD*p0<$6x1}ckRxWrTB$VX8j#2z+SgXnNsoV zk46gr!}klO8u8=Zh69A#wWbMeB8YW*(SqWELvp@EC+PHTP}vyn&S_iJPyoIy_6a|v z7yQuu+6x8*q(SURZ6tin(GgF0M^fmmbT#@Dg)iy6YeZl z-`CTNUv^IMre2ltI<&V&5xA>CAG-hCIJAlh-p}*XUoK~hK+w3JL99tR0@#jr}^JN&}TOkj)M(gerb zheRl7C{EdOh)ZOS)y$h3YcEz`n!d15hDY%wlk>+x4{Nl=vh9FM!Tn~$cgTmstA{y$ z^8$3d1>NfiX=w1NXy-x)eQI*_F8F46D(d~#ly3fQ=rMB8;d;Qs(VNG+$NvC}Q?oS% G2><|41nWQm diff --git a/pagefind/fragment/en_509f847.pf_fragment b/pagefind/fragment/en_509f847.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..99158fc019df01e5146091ee3297f125f0e6cb18 GIT binary patch literal 878 zcmV-!1Cjh6iwFP!00002|D{#iZW}ic{guH!#ejAtIdGBcrLZlz7uZe_H7JUr5UAxy zBFZJVB-e^y81P5*r9ks@{*oMWSC-{iNPs+k=Nr51o!*7%gMp@nsH1#XgSZ8sIj6?ARUz#q0D!yqSifD7e3?x)Q3 zyx+4f#*(nh&aHD?20C+Sc15qM>G`iTECxq3 z5%{h|`F2V->^vv~66hG7T^pKr37-FHtP(x)*4PSvQ8hFU2M%R%gk~7&m~dOK66!Jc z;r?I1(b~2&*Vg@=#?fgICF%4nDDgTj2K1_Iz}N)6p@_sm96=bZG0w`~v_)!mc~`@M zp28I}k{rqeXJu0|vG5ASl<`4moiw3}!^%py<)DqG7*>o7Drk)K;r{;vp%3>T>0M)< znkweCZh>>yRmunr?nXk&qTk;5{)-NT{YEo=Or3;#T5LK;t z^i9BT27~B#-v#Qe~mBPgBpT{La%W0D>q;YAHePq2I z4^@p03bQ2Jgu01uMZoGrju$W|w}b9Qn7pRkKPLKTZ%i+`ccGR|Cw=W~8egw{7Z9ga zl%exPB(dbkDelaNK-0kWi;mmf#)<6NjxGgs3Y61(0|{Yml!_LNmB|O!lvqx*^7{&1 zsYLk)L|?LSu)l?jVjcmW=!Km%c&yXYgeMnkDrco_;;TD+bJEKI9Z)J8-QM*wY>>by zOKiXREN94wYieWqpSKz7R0esgAxbHU(=6B;=YXcajMvMwEz`KO(crGPhj_e2Jn(z6 zEAlny-wzMLm#uGexApA~_%loIK@N{!AHp=q&wZ492ez}pKFW8;cYob|0-K0AQC|lD E02>>)4*&oF literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_54c397d.pf_fragment b/pagefind/fragment/en_54c397d.pf_fragment deleted file mode 100644 index 898abed7cb464e4fdabb9d7d41ab277677f1cbf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmV-+1Bv_}iwFP!00002|CLqSZW}ic{guH!Nr1GnC?!-55`(7;^Zv&KPi5(oiqEi=4?ig{itQ$T~k zf@ijn9Uw} z9K^T}i^avSAdrU`>INP7HenSnmDde8ZdFZSm&$oy8>Te7)l@rkQY$0f4DwMM<3?X3 z4|NU)y?}9k-W{8&XIlRl*d7uZ-Mn0Z5aOjySMktG!Tpm#*o#2@y<<{&;A+X$TJf&R z(`Vg+^QxdTbNC$zWJyhJqlp|Zxp%wk0&~Q7;XqS!r2yj925RnFY1#}%NSi*m5ilcw z2j{UGQC*sLTn=v@SXEQ}Rq%E2GgwMnDZ@0}lVV8_&;NfSwQzJRCwZ{SH&7@)>pA&v zK*jneyZs$nU!R=~$G?o*#q`|1T9v9O_x_S1_x@EV5=QrFdKf=Fh@XBfzP4(^I90}# zTj`A+cdJQSZC=xlaZU}#lj(V$c*wumgAEBVSl0hhGMA-t-ErS+u|X z*gVY*$ErpXZ@I%@mIiQs-2GHtoZlTEcH1`rw@td@*HRYmel7(T*Ka_m#1ym5&mQ-k z3cmqPEGCAjp^H-TyJ#1Y?ZOfTQDg6x@vjKcUET&IUhE}q?GpZQWE#mxF4|WjdB_Rm z_p(N(JlZCw*NvVTvEmrw12>sW1{t}OCx~qJ_%z5W=^3rEB;Ml}Fr$F@Tw#p<>oJpB zR_#MsjtN-_TCF_RwD$7hiwBfGYvifUYHtYeoTknEWk}PvU`Z3yDT-nk42GgD zE|jQ|lwG$7(7!QY`*ZyzyQ5wxIdZoziA)`zyL;|cC0mK5EYd~F)31}tsL5<{aL24r zvJm!QlQ9=FBjRv0i6&eZP81GBKjM2hGXh?;?|*?aXoW#qVDRbe>JpYx32-Exl0IQ! zlS!U|6}&RiZNXFu4_R5NEjSHZT^SI?S{hyCs4Ib248=R-oRya37;v4JO0t3rSQ?g# zjW+l2if5U;5^gX65$~UVz`m~-t*q)#332Xq@CV6S$vj6{j5mfO&b$}=KhciZcQAuW>k>u z>3+3_!E1^X^conv7i&04nqTH*ks*P}mgOo6XL&>C?zz$%f0P8oqvuCS_fWs{|Lp1*pC7+93D;1V;XX42j0~`JLh(8$-y0B zEZw;n&Vm@Gi!h~;R_qGzyr~tQ<6JgcSy-QXUHGqM2BiyM=1h%q(i8X*8%Um9Y3~o# zrrM%Y(jWOg*d|7O(nS(;Ph%G%6YCnEc5TMCbJvgErUNviw^S7tTbjz+EE;&VdrNE< z1TIV%P`zCNqkc*A>wh+ieX>Nutws&CZNcKM{=Ff-TcZ(%YWvP$qswM+>qi~hyg@E- zUL^-j<2@Li8!=M!>NCSe**5gqPPLB|`mn}BK89566>+Z`dxZ!|lEANGOPRw(=|=hK zzxR{2ets!xmq_@gG9^x5ROpvG-zp#P4mDNv?69 z$=Ho48m#ETSw$&RtP;2}dM#7hsqimNAiut~7Wjp3WHay(Xij6yyxG+_jzFFX+$dFn7;D5iCdxK}D<)|{CeQ>vl&K#v8|g9-G-7=R!FjF(qm2c@Hkl~Gj6+o!D^_^- zo%rlv?nF5nnDCauLTeGy)GY>K(8X|GuK}LEr8JoDUG_Cx)2wCP9lFwOEM1cKiBDkA z7~qnjh@&l}!1VM?h8+mIZN*)M>nDCZpoi&#>x#Y~j!&OO6WmO&`Pj+q>q9ijg=6?M z@m`L9U`$Yqs!Y?J-@Z1G=M#NzH97pi@WMpj5wrHKpx#dhS;ai_F=ah z{wVUuKpo&tr-%D-dvm9cI6UrQJ$<^5SNdj&e@O1WPCwM}e7aA=z1YUQ>4X8b-ya7^ i$A^1uE%0h=sdNKQDCZ%{$;rd-5B~yFv{%Te4*&pvIr4J= literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5f2a83b.pf_fragment b/pagefind/fragment/en_5f2a83b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..de754137b355ce5aa47be5530ea508a332f6f49e GIT binary patch literal 723 zcmV;^0xbO>iwFP!00002|BY0^ZWA#O{gu%k5J*XAQV?w~s4cWa3XmqfAyn;pCmR#5 zy|u?}Llr3>!4a-}SiXeuZqn?Qw(89u&%Bv=^TtJ-;Y8~6A{FUvXbH%Q`AmgVGB%w8l3T#eX3};iO#%CL+on# zEAdhhBy*TxiZ)h&Hw9X9El6UADHsi3`r~sL4`FX-r~P&pVx5-9UU$D$UMvceY59}A z8RxJl6n3Dm$(qy)l8kVQL{eukrq~j@4Prt^FhYf#q!ZdI{YaAH=hgCe(_^*#1Nr!P z2uGI7o}zmwq~Q=E1}08J)}*w7)DvU#I7F?Mf8oqaF@u5Bvj@>?&jIU`xrTECr%W6= z7+`EQOxZ>TGSo~QVM&;h8kxHd!H^o^bDkjEc$O2Hd0SQhg*6kYf^VQOHrvdZ_RDna`$4kY0!C-k z0vy_`;1py36a9Gb$E-fjZH6v@nMm>-Mv=C zb0M@YI=Ef5qMU2tQ&ej2Ih!7FP*Ai92;Xia-jTfeB&J=?CR09LkSX{~c=N2!gI$#o zC1ugU&Z5--?QK9+xs+{NE#(%zxvUMW-n%APDz7$ZnWU*t+K+)YV0L#Ot0{M)XeaBf zuXSAi44#DgzoH7QO>v^?O+NLTG&Af!R_tZ?RN5+hDqG;%Pt$;T(_4IB`~!``8dn(x F008`@T)Y4P literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_68f0754.pf_fragment b/pagefind/fragment/en_68f0754.pf_fragment deleted file mode 100644 index 9faab3ab731fc13991dc4e2d7fc915362de781c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmV-X0j~ZZiwFP!00002|8DF4&bd_MlSqDpR9Pa#ja}S1~A@#{uqiReKz%zA_XT z155Ml+yYZ+frZ{v;vqbvr!BY!G!)5uI9uU;G6gE6y1{@^Gg`=(^BJslgWd&%%S5nb zQY9mX@J5UoEK8wXFd_?zz$HSC--(=tbrf3(I@qo}ndjpUonP4}l7JA#jd5;52JVJh z2K74I%kp(0g_0}Z``e?vy!p58df)NuNMC3ebVT^UxQE77&g%#+z&V@_>bpRINnEmZ zcYoqqGLjUx6z$4TYJ+@w>?@hY7#o!xj(t@jYf*|Fd%O{}lD_tAYE2&pg&wQZx0DaU jcUIJjsTR$+yY*f2>d9z!6jXM9{5<{w7mpL<6#@VN?dPBp diff --git a/pagefind/fragment/en_6978570.pf_fragment b/pagefind/fragment/en_6978570.pf_fragment deleted file mode 100644 index 5c9602519d6e8ab52f9998abe1d20338d941a47b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8029322.pf_fragment b/pagefind/fragment/en_8029322.pf_fragment deleted file mode 100644 index dabcc6e68c9eae54e15c7afa95c5690f4f45780d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>AwqiwFP!00002|AkY{j?*v@ew9&9Ahlh3;m`|O?E!It6xJ)VSdoU}!(w5Phxc)q`x&eT|uFL$Lak3}EbVpH7M;JTKKx42{*sS~~# z8Y4>+arwlzVo})O1-DA)@-^(3gqc44h1g zq2-a5{;8<$wKoNyp~3!dk7?U5K!~;R^fTA0ybatkBeVWy7szViVOBi}8W}2f)MWm} z15+FFETbM(pmLPxEM^5C(P2p{TLHRmY;1gu2^#iM&C3r*6iqPseW5;(G~@T{eqD&N zfwz;J5PIo)0dB&Ox@GUq!6f77hN9xZ2Y((sc`7D3bdv>_zeda%wdMrrCE#x9aVI^%U;T=H`W@v+iua&!l1ubKX)d?YW$#1EO=yJV_xxP7Oc$5tXpYSi)paT3$1cv zbuA>i?o7{fuk$G?q$kV|e9Jl+y?9ifd=2#+t~ESe+rVJg241gi3b>vj7%LiP7vL%@ zjE7oVSjQ4-3VYFD6Agp|sVj2LVTKk#DDdQ~VU>1chgGn`FTkSFPIzq>B@9?dF8XrL z77l{LWHGT!RWma5)hxza=wQJ!J4Fw#MsSDLkyQcb8kF{1vxZT`wQbCJuI+6t2{oNL z-l5c{Au0;E)G}U^4Ou#m#(~!xfOr62Nfe=BgzJ4w=S_%^-}hf!6>y?>w@2}plzg`;>gNH?vcZL8cUC#H((dZ=gKgtpdoVz%v(rb(c7 zhz%Pz2O22;ue7!3j8;5)F;X~B)L)}*gkqBTQ=Cdyblc8!-Hr3{GzdnOivOU;&e90R8m_;VPf;Om}lfazn(FD-Yd<8bYh5WLF z^ldQ6a{TdaGl?^IOu&owx1jD5Bp>b9nI%&Tn44 z?k?AP{JA<#VyCtOk`JMlY}yX#Jv`r2?Cn%#*{u%a1!?*pbn~VP*+_6_lV^e;c zj^%LKwr0Qf7&S;G;^LP!iB8*ehsUlRG|F8{n9xs)$?aOgcU4ITZ-NIdEHR_0CtVa& zORAG3pOmCY{yS7+gt&D4&eHjR122lQ#XEuXR`S>Pt!PR{!{Q5CU!>uDTHmn|4LcdK6M{I*q+HboTh=;j5GW Wr~OBFS$VqpwE6}*WQ~c^2LJ$f1G*jn diff --git a/pagefind/fragment/en_8eb66ec.pf_fragment b/pagefind/fragment/en_8eb66ec.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a9a7e2f90ba8a12a213fa1441081d1019afa14e3 GIT binary patch literal 1411 zcmV-}1$_D+iwFP!00002|Fu`!Zrer>{gn+16fK}t90v&+zXVFsHYw@^i3=D(Q5dV` zNZgp@(t8mr7zXko?a$>)dS*$AW@;Hmkh};IIXjm#XU?n|wWgJ+^Rry%msxaWc9h+( ztRrdam35U0#@6>&>f(Mj%e1Wn)d42IEZ)w=X|WaBkqRV2VZ3OZ{XjZA6({(_F%e8C zDHoqU{F51 zS#D>-la9`WExTQj_vr;r*SS!6WoqMtQ^7hfd_#Cxp^n0fR>4QT7N`?h?ZR>##nDzq z8&!_pmv~v4n&#qJUk#sTQ+O5LMyF{ew5_UG!(QgjZ1AF@P}n?0SyN4}J2p7;=>?aW zY8#66GtrXJaGpEGUC>-AQp}^Klx;8-KI|@QuGUmQU_)cd?3);0%W1!~ZF2caa3`Hv z#(;#CKNlB~eCWdBgrml~AeM3MZ))b3xZy^hlAu}xCU9<-6_?N`hXPFldfXFl7)*FK z-beHT=td`gHQ{AkCXe2rlUp1+5{v60=i=QMkHZ6sWl0rYoW%7SRte=5+7=xpiyp2D zoMx+lH2CocYXH0PIwmT0M9N8<{@2pRkXq2QcrM;^jw_;ksq}d=-yxHZ6jV0o?>SvR zCYBTexzr;xR~#!X7ED*)jaKBQCOWZ0=1L+BINiX5(uHUXhKggY%sRR>t7!%dh6q!p zHp-L=AnY5-uNi_nd}6`L8*O3fn3n*!)*V@MD{31+2>{S@8t>C^FnXqrHu`dlX)l-u zV1KK&J>v~RZpB8GCTC4ycY_~IE+{mx_vJauP&gac#qG6X;tGS3(F@ylV`=NP?eeJ_ z#N^C%LHfL-gadPOlggZnSFBdtLbwONnNz}VeV|JGaQx! zHn!Z5AEe#z^K-`31O#Ul_4oz%8ZyQ@tiq6hCkJ1mH3+dJOs|Hvt2FyetA-qoC8_He z(81Bi&1qv`&jlh)a*Z>d^=D(8t^0{TEyz(XWxNChFTQSA(fr)%$cCxGH&4*rk2AK< z9C$@Z&n7PgBn|5PoSBun(W~8yYZAn4+-(-|_WQ;BGofSyY&UJNwMJ2#>L3d@rtTGb zib;wM1DWQhHKEwak}gyYx!kAxcXyC9Uj>X5=N6Q^Ufd|F2Ac-wd3`=!`d1SJFN4n*I)0Bh>IV`5$=WTL$L&Zb4ucWNHn-92YA8n(UZ&)ZH*V ztQYxk{Q*A1<6hRz{Tx@d*18<%M82&({OMqpL4+{{K0CU+nq|0>D16IOa@}<6N$5G^*ROXYwqnS$cIn%6~x&{jGr90j_kIMtnx|@+d&2^ zciRE|COK>e+3y_uvq;aksw&5_zSUBjmiOe*{(fQPdmgcv%k(FR#hlqQ(d+BIxcdf} zBy#xp(QS0jfuUrLm9b$!S;Zu4>@YjB*VrkQ?=H=gWF8(I?n|bIb0h-I8Y7K5HuduO R;Oeid{{U}3Tbxi10088`yKn#i literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8f7bf57.pf_fragment b/pagefind/fragment/en_8f7bf57.pf_fragment deleted file mode 100644 index a40cd21c6629f0db3f2a9f45a9a7118d8ac2b817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1316 zcmV+<1>5=`iwFP!00002|CLwUPUJ=q{gsxL2UyK`8DQ9Dq$om=L`WbZcAv5k)Yvti z*4o`(cN=DcM%oWaer~@cRc>F}w}E|P+*Mt5>T;@@lt-`>GJFVw@Wsos*jsq-!!Vf! zDoK?DX>|K@8uN|H&3kX+1xgw`!5bGB*X+E~U{{5P&pxk&W+^&gX{Me;2%2#gg5e^D zkUeI=zlQ2rGPT5WGLiC4ta!+lDr4x-=V=;)k8YMC$}?_+l77my4pa!f24jSbw9kI$ z!HSii3|+!Hjk%EM!zi|bIAw^3W|)p27`B|}g@!g4t=&E`J4wZgMFU2)7F0ts%a-WUjKhdKqdL%d*@ zOJ=ehCT)O8u900bh;#gSRA$9u>>=bmBi`GBY6mo#@Yy-uQpqhuupWZxhzXYSN%Rhi zPs~e{$2_CqlY!QS1)_Q%UcybVaxnb8_uH@jyDw+czwY<#Pd@#p`gt%tz2EoW{bGk{ znS6}KU|<}L;lyQmnnD(E4P~&C;*_e|KBW|pBovV_L{N+B7IF<&BB8S(u6DI7ZM&yk z%3v0rgvxatyterWxRlCZcVRGi*JZ`LW<_QGEP_jU!8f}o(bIMK(37>v(4Y-bhD)d} z6rv=E1h684Ft&Vn9AH02E$Al)h+RmsdId5vt3kl7LV?mfD52RS2O2s8%Klj@#qH0xH8?MWr4+?hc8g9QraQP7PFtgEOY1LzrK1&pt(Lj>0Cdmu9x%O zzS^p{T4QXmm0PAyPG2z{QKP3tqYGI+rFssA*wAuwdNAgu94zkOsc71`*}GU8fe*CAlr&f&)~I~BNMr^m!Qw{~4lwyn-Typrt7IQ}Pz|EVHndztQ$y6xe^ z(WnQ@+_<2;W7eGnZCj`FS87&nj?r>;=17}LIPBe)~T|`fkEV5C8zyhL7n0 diff --git a/pagefind/fragment/en_8f7ce19.pf_fragment b/pagefind/fragment/en_8f7ce19.pf_fragment deleted file mode 100644 index bb7e6caf5cc27b582d49a175a10e9f6e17a1b35e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jc#iwFP!00002|BY13PFq0?{T25vDk>!*2`W_CRFFmmR3PdN>H;A&o$Dl1 z=FUv#L5WZ#{-N9U=lGJ^m*!bWSwxz|$H(^Zahw?8P?_SYki}h=yv{n=c4@%cM0CO(bBMcl$8#LK$U7@EShPU=8TqI!!DP#~2V~@*-jZa~_Bm z#;6@kYyyqKn;NLnX)KAk2Er6D!pPZB+7Q7e`V1ex3wf49j>M_r1iF^elrR#Z@9j5~ z5w^ImHw~!T>r+kQtmdG;D34zdRn*kb!~L&+Q4jaO;b_(jPj{8${`nmt>e@4 zF0`BN9jbI*#kjlEqkOR5;=o!h$D|TZJttno575YQDg1Ru4|s#xI#z_X>zRMK zhdi%(YmC#RaY7?FdSG!rN)FZg{4Y>G3;}FyC!usd2u#Y1EoWZbW%y`YN*TAPiYn-J6|JLp z#M_O32L#bpR>zffn$y|}S$jrS2I=Z<`4HEr`)jcUXZ!7Qq=M~PkAIt55U$#Gg=}~4 kS+cnS>yZsuug97HmY6rVbfwPTyXoch4<5Zlo`3}a00)^raR2}S diff --git a/pagefind/fragment/en_9767af9.pf_fragment b/pagefind/fragment/en_9767af9.pf_fragment deleted file mode 100644 index d7b9dd94a965c699317e92cdc27f147fbdc6f49e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a354ce5.pf_fragment b/pagefind/fragment/en_a354ce5.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..2688d039d11c792a3788670b07837a2e1465a8de GIT binary patch literal 1271 zcmVdiwFP!00002|D9IbZreBz{gr|Cr3EZG7i7`uB}mh>8z2{;?rsn?g}_L( zO_(CJBxT190^~Oq*!{VD$fnp_Aw&H&!nzoE}pjMbYt!^{BwTa06QY+u_j@w+9 zC3X=(xhVyz0v6~by?|thY7&*R!?wX$n_p5bA)dj9lhN75`PEr=b#i$IG1hbTz^J(N zC&1qA?Zroj<|r$55#;0n(V?c}MJOb=Y*;`iA)ivhJ$B9LvT|5BuBWStJ*^3x)NYDQ zgqQ0clOryXxK>8Gb!7sd$d@di`lSKnQ>`s0AtHNbZ6^qq!g=$27qPk!E@Qd0*;pWE zhBIa?Cbi*r(J_3x9jYOda(Mhbg=;UFlhC%?WCh~QMN#2RQPsz*-sbiL8BNP^h;v}^&gRnK)1=-3G zf7w=DU|*3_a)T!xBL;W<$IuF#t{K*wxo5`#+Lik4CEwVRtXCOsZKDNp*xJlWo6jD= zFWyDfqS8|2OYB3gYvnSUhnQ@}Nj^EYB6$rJhZcH)D=P2J;oB5Gp>{(qzL#Ec?O0lO zD-FT^SRvvpoAV-t)39*;@ejoFDBD)u+(X>ov@?&+0@lMH;QQ^#<%Lg+272ztNP*pH z_6g|5eYqF*s{&?-b~$^lb`K^QCVWNgQ%BC-o>AnYATt zw5c1uIvXg!%JJ=-fE#UQW2qOfk+QjmNZA}Kzrg1<0P7labw2vq%oDh5r%4z5XJ^q` zu=b=IqxyqFwp8(IoJlPTrt%QSLR`UpEo8BFS1FendZINNs(~DmgM#ren)#4>!{n*QZGa6Or1NNaY>_gx*vV< zMvvj7m{as3%%JxE6vi*!!RV;Xyi23>@NjPsp)k>qHcB6#22qJ43!fri>yCR`g!?c8 zPI&z3+hfGT;flMb`xrnJ_>?(a;j=@ccA*R+oDx2*DBXJ+^l%PZ98z}dbR78V5c{{7 z9@f#pF0cTyb|>A;a94W!d;7aE1HUm^KK3)KgWQ}kJ;Z~9omui=!+6oyutVH5Xdm&{ hce@Z3{vOlqaV@(}!hMwY@1MRu{R`m7P7vP<008r$dS3tl literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a65122e.pf_fragment b/pagefind/fragment/en_a65122e.pf_fragment deleted file mode 100644 index cd72a1e64f7dc0a238e907e0d29aa991484ded91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1756 zcmV<21|#_&iwFP!00002|BYAMZrer>{gr`Gz&0S#qGb6Zv=6S66mH|#h}@<{5(q1D zC2q`%vP;TV(g6950`1S`OL}Hk6e*iR8^ktuXXeahXU>ufF_$xyMUyCuK6gr;bVi*+ zEf={_MXpzex=f@uQ}~sLRbCc{oo*-0vqEMCG+#q%=mo^|(u#dLCpIBAp@^ZOAjqg} zjtwKjQmbM`459OcX1S(Rgx6!Ao{KPcw#v{wwBUnOMt_`Ny(E!EWa7L`BA6seeosXV zxI&j9JU;lor^X=n?tT8ciENR-Gzo6RnWak5;P-~oa}6qJgY;e*i65 zf9}#5@!JR5Z$x|C|9kezjkAPaIjH38g1=X znnurAFn;}$cRdDl@2EfUe!8*G!KwAxkevpV43Cdxy-L>apW0Cp6H_P)e|~fG(hG(x z>mB!9Ouayq#HA+#sSb(gr`Z7FYwGSt*sE<4k*G7VrSI* z(%k~-S0MGb&&+-)Yy&pGA-3@P!$*LF3J||G5cat?8Vq(BxjJm@s%33D?C&zIud&*G zYp(`5-U(s}xwfyCwdu*ud>vEPwwrZre0s9W7<5`&xUM!1BVj?cjKqE#7@=OSfp)9i8nwXmCyAoZYHndA!qOHQu##W2b>|vJ;^>{Ef7? ycN<7&z5jz`X`~&l5;exAcd}~`rF#?fHUn8>K6y#p#>5G~|MD-(^lzc$5C8y-$7{#{ diff --git a/pagefind/fragment/en_aa4119f.pf_fragment b/pagefind/fragment/en_aa4119f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..50cc1dbb90a3b2e51710640970dfcf2d52af768a GIT binary patch literal 1468 zcmV;t1w;BDiwFP!00002|9w{5Zrer>{gr|G;s7F*L}^gyrEuibaS-RFFz0@93r_Cizn#+`MKz<>qvgS9Ld77z0Ix?DS6D*yJ zjD*ffX;>?YC~4*IL0OqoC9-P-;!?U?C`VpgLsLvm@bop6N(aw($Hhw2j(&79YLAVz z?B|sgI$O|DIT>Hjv-If`dM)sODYEwyT1x8_Vps@A$|IbWrfI9-;NB?FCug)N@w-H3 z!Qw;uEPayFI|+3Pt-n&JPWS%qFPNj1(f4rY@AfmCasUQIwdsP%6V(@kV%rlDFoJ*67G;-DgDCasM19G zQ1MR|&%N>mDtv$UPrSIl`)foUQq{22sp?vk1>F=YPf3FE+mzl{92pe2@?7bQlkW)qQ3c;8Q8?3S ze+bhWIFt`~!D%NZT&7fRG7no@-$|9v$eJ*ht?Q&!Na>>h5Xu=8Ty}lzzNK-YvTO2& zI`Pyq2`Cj0Ojju z<2d{#;m+o~FjE}Vgp{;Ij1Uq_qjK)W8KU&SxHbPkh==w1ipExQklTqI8J$TCM->eX zDJgkwmhn#tm1FeKl9i?sI05~jHP3^~tg1Kyhh)*jEI*hkJrJz|E1&J>gd|nojK)?F z>2AX$c6(S{>Tf(7`?!#rt0w!D%Z-=q@7OGb$&m9j=)91JMQF}9zLHA#1xKG7J7_L9 z-1k9N#wqks{m?WWO7S2ytxd-xbP|GvU)VndyBvYuOo^0onWNwb-3*Z|YAn33+-NYs z$s$ZsC=G(s%K5oj4lt+2T{#KzQNB(glTwz`-f?4XA+u{H-If_sjb=;aM?0nZcUXlQ}Z}ESuo2- zr+eNS#j!zy-2d_Cp3B!a-U8@o!&K-5b}%zV&UEsVv}#sA&XwEujM0a{`dCd22wOxp zJXFe-#7hFRz&*};-~rxA2W|5Y+WjD}rUH2>Ez_!|1myAw1MU_k6r8XmK?UF=Gs6H2 zRfs7%aIJz7`nV82s*Ht3+7D&0C&Ed5Wbn2(v;%;l>PL3TgdU-doA5TiA`i7J@ag#c zZM)T(f!DnQ3KOM_sngNBv&m(j#%Gg0ot#aMX>xgX+U?WM{5+@}NXuybqTOn5F3;Z% znAX9>fd{!+Z0st6-<50~PXu5dY$J!Hn%LOp3HsL5oFMOF2f7n$lIUNfco%#^nFa|v)_DOx{hi>PJnTxj(DKm=v;_FO!JZI$Ee3R&RWqjC=z==Yf0IjG*~>1}_< z#PhWY$3wocF=_wZXuf>0r#f7#wo4&tc44yKS{q}Jyq|W>fAg4m5Nv{ZO*Uk?lj`0s z*)jU;n@59QMs7>?(%xpg9ZSz&3?Hl93LKN5-xG{ZlADdOJ@VPLcaU#qPeVJl_*Mls WGqGc3IDB#Y>+OHKr$KDK3;+P~AmD8P literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_aad9442.pf_fragment b/pagefind/fragment/en_aad9442.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..bd3c2c421d3b20c3ea1dbdeb1fd450c275bab068 GIT binary patch literal 943 zcmV;g15o@QiwFP!00002|8-T{ZWBEaewEQ)r<(%$#ZT@EEeMHH)RYSZD01yd*05_Y zKBNt$5)T3|$CEJQJ=5fF*Pi+2n{N)T#Rk{fsFjlHE{m?r7TMfkZM_cG?dBe3(AM~) zwJ!0f6gwNkJey_Gnt&#d^|G~qmt+BNl0^y>*fkJlI*3k(9c-djn8TTnMQ4?epmugkR~`fyQ6UJU2-i!e>tqx? zDhL*=+X$n-Be=-%wSf&9bRy8TvNBebnP86`+U%O-mcd0CqQl`l=unc^pP#?>TmJd^ zn@+G)rz0LrE{9X?YZA1fN=b%6GN#18ZKk6f$ZZ7V3wtv)hBZl-igQaMQNk@luf8C;0Kji`<`@PTV_K)YrTms>6j{khPX*&aXH-vGu^QL zNzDXapAwqeYROWBpv}hT@b=>BY>_%j7AU{Y*ZP*=tBPEyJ7OrQaa5zih|TK!{qkxB z*IZ=-*E?zos=tF99SXn_x2fE<(_2b*gB0gvD|9KY2Oa!AtsYvjQp}Fp?+YCf6In); z8XG-MTGTH(uW=bgRGM?mccLnDxTw)QU!FI|Qz3IYBvcc$Z2lXMlgVMy)K|g z*BW1@8Kf&1u6RgOF=;>obxoB+Exf<6PSuudcCGKb_7IxWQK%Xn^~aFFyY9c-Q6q8; zwJ!_rx*{yQ%S-$gX?=0qdU%y)tRkjO7#~@>v@go87K)2$4du_b)-fZ}lhbHx=yyI~ z)st-lrbCL`oc>$)D_!@^$eqNa$wrQN*Vd%H#_J5I2XMoywp+TI6MIQ(0h=kG4Qnrb z%(WyP@pK;;_iNyRTu<)Wr^g07b_z> zVPs+1>Em67O;yRdctioTqOVo3HGT7HJ%lpLO55m_EspPJ6P(8#POD_|r1l9tK>p_? znP5M8atORF^3gcR0KIR~Pk{e>b_iH>d#{7`1MI_{I01che2}go0MdZkWk4HRXo~Xx R)BDf&e*umw{4cQx005ro&6xlI literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_acbfe78.pf_fragment b/pagefind/fragment/en_acbfe78.pf_fragment deleted file mode 100644 index 78cda34c8d91f4ea60724bf3bf1c1ce4bdf6f77b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmVW9G3^-GxX=1%f9YtNjWbLNblsBo%{nkcCri{zVPR17^j8+5e38wQk7TN6&E zy1|o1bT-9dF({-p5ly7*+hqp4rwq8x86}KsgjMYjl=c)89&nw|l>PPM<{B6@K&(Xs z#cd$P2(9>G{kj_L6bLgPB(Gx!RniJexDv8nWo0CA-p=SMfB+*}1Ys0~bRfNUoHl@Y zt*J_QgcMLgv|xQDjQ-VUJCA{Aflu6+Hc+8KFCwKXD^p8%f`Lj{((YN`MxSI%9yjMv z$A+q&pZ*-qe17_yn;d1Sln#!>?b{~8aU&lHY9zv3Hw_5qPvVelYEaPI5b3@cJuU`Ci&0Qi#zC9M$ z^QP?jlzyNUMU!Y9#k@DiPzFU~`>__^^7ykgUM)Hqx1^@towP(Ko diff --git a/pagefind/fragment/en_b228233.pf_fragment b/pagefind/fragment/en_b228233.pf_fragment deleted file mode 100644 index 95755f434cffa9a843669015c5329c407b3f8fc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmV-$1CRV4iwFP!00002|8-T{ZqzUk{gqLkK-x{(A|#ZTimOx!s6@G_0u*`eNn)*I z2Vc6BsuI7!@9`y!?Ifg#zQy)j&p9(0S%Un zoo}mRQ*fg_YEQ=RXA593Ta>W6RmvP3T$=#i0Jq3Ik|__)n*kj1V5PraT*3FuLo0o9 zv0!Y+wEV%mH2U|?Uk)^)aFn1Y(9rsW ze<%1>L>y4S6;pxCADqAV=pI6AEW~E5Q7+eJ@mr8K7K%d&uT1PO9vp)6IHp9ovK1mV zTzF=Ev|C|w!L1y93GaeVFD{+oAbp?CTS7vyE=Js8C-vWsYj}@#keVs7)`BW1tATOj zni z5?+!bEIeaQayZk3+mLWA;ga|`NTsNUNYpTT@}>70o}uRb!0aC0vVm0dH2B`wM0374 zUlCNoMJDy#Oy^mqGm>Bd*~IiF31Cjh+@7)>dL%sUS_9J4XYMDXx@xF~PbMgl0x7x2 zwO`~Vrb){9Qm`PTZx~muX(iRwkXTyT1&d#bCBbg)^AtW`R=T2@s7}Au6J)0`yhDV6 ziXd=fIS$y)1WyWzxnk@74jAxaQtQXHT1z-Y8YTHPfy7PFzEOtn zska8BNO;7F>_!{sH~UAwf3xT69z1$jlSHp19^gFqkq~+nQ77rN(Ua^)+5vI4Vu0MH z+oVIACN(}KqJR{%8eOXkopM+k|uHyc>eEQ~f3X}v=gArHtWLv}W zab8e#Sx)}Bev56C@O`_D_eOG@`j4w7asR>Lv|pA2a|cA;JlxO)DVXMoz&6;V_MBS& zz?^Q`wWD#K1e)h&ExJvT;q%EYPaQ4$gR!DX+!gi7$;qam^n|u6>YLk5F_15P6<&IU z_xunFvZLx~xXJ1BO+kY^0ncI+fge@weqMuIi6V|l~fb>A3jtbF${m2oB+U2(IKS43Xd5qA;4>x zVs2oj1LP>IYJn_Fjs=0XK&T8R=s6k+?L6o}zw!LPNKX<-kT9j6!9Y`(6e>kHwfZZj z9=3{PaQY;Mz9B%U_{AKTqFl6Y2UGOHLL=rphnrRXY19TX`QE2>OJ>*3B0nuqWsfB z*h|+$eOTw)n_t}IWaj!=LHHE7^Vm4{h12Am0m^6x15ucbGLPbZJcx%ewQtU*AH1ILce!*mPQ#1`I)k?=j8e=Am17VyrgfWKMY^!)o91X&XzYTIJiVKG*{9= zE-54!HfFTN|G_c-q#5#P?yYoXb0zk=i4j}5uN5A+GZE24t$+EFLqneSmqwBi+Wert*AgR=qoBIZ8+Z%`H{*~ z%|V~8BAjmqc~3i(KxXuH;kBV}PxWjMS3 zpZyyws~^U7#Dg{C3ijFFCfLHIrfupcYlV9EoHaoAo^Ry3T+g=W^{f$HTigar3sahVgWN6NaL=w&VF+fvje>iL$?U{rUPYYgm-`JO}^)BFM2W literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_beff183.pf_fragment b/pagefind/fragment/en_beff183.pf_fragment deleted file mode 100644 index 1089b1c8e01896938a7309aa95e96f5262f73d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#`}iwFP!00002|Fu<7kJ~m3{wsu^Ho$T2HWV9zVL*FDy8|}tA?Z_51Uieh zg-D_+$#K)e{r8fxoy)bwJ+)6!EPf;OBCuk_Z?9uoZ&OX6J zuvD`H4IKsq;~_EJshZ+GVm$|&5E)g$YXVQ{40DPj&R9uuq;O~~bK|qdBU}(Qrv-r&93-JfcQj!A(ar*I{X& zAeNqTEX~|abDGjxOfC~U7vLAH+Ny+`+wI;S?R5#;-R;{FFxAzs6}+3ntSmHEwSu%J zCQwIZth%!o-l>=N#@r2o#9U3*$HZU*I}FZvWnp9yb4#lAQ?;xjejLcC^`yPHUUJ+o zF{;>cCe@>OCC+w%){aSF(GWQ<}K6myRBV@Pjfvz@JxFs~5kA7kfu~Zq2Ua z(ZNs3^<2CK7cX>}3-}%2nN&Krq8?%*XFfm8KRd`{M4?sQd{)w!pUH}I%K8?8$$+j{ z;8|?OTDX&?Lavvx=SF-SFiuio3W;?z3+5b!TZ$liitl&Ry?PY7uye#yr%}MXxBktG zDEnBHq2Z0OveRBR34=_Vm(dfGWu5WR*5sV>y8Nnqg3NPW2h6_a<<{g?B7U@yjX=R* z+{oIDm#DyH&B-dnPl;~7olKd8C??O`}=~2$4!q&cg<0Z=F>h= f&*y}no_$={BtI9-u-IHZe0cZ*r{}6r%?1Df*J+T> diff --git a/pagefind/fragment/en_c0b5b34.pf_fragment b/pagefind/fragment/en_c0b5b34.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..062208908c4f489065a2524e00cee2d33cfa95e1 GIT binary patch literal 1383 zcmV-t1(^CDiwFP!00002|Gii1Zre5#ew71Zz!Jcc{l*!leI~MIssZNgF#D_ z%~c{blCrC20rC+0GhlnUJjp&%N@S-_lVX=&kx8E0cfNB;!6rNvG8rXtav7953wDBT ztYj)CrDj$r85UZlBIBkzRrAoQaKa_W6%QYH7IXsKSS~Ge9jZB5MK2o}+Fz8R(?%w` zcYdpjnC5hAFQL*1IUzf3&qk9{BuvIUDk?Iu7KNp`uv7miEGW&`B%(9?Xf8EpiJ?lB zn#RoVOh`^lCKThs!eErEF)Y`iQSF42sVG&Njt`D0;YFsZ9N|TDq7c%1Rg&azkF_dO zp$+bboYQ>-_L?__MCu%&DVuS5bNz>HoJdGX9?@<#XO*FI!+kLON^2fl+S3SkN^ALW z|CD;s#ya&Ge&;NHGo%^U#^E<*&~6Q>xukI;VEC`460Ac;NtNR-tXcrxA#USn9l>yj z1LN9W&cvPU&Gqk4M{`xXIam6Fhoi}YOG=aRh`e8$(FU!>B|MfktH^2MmaQW-Sq3b)AD!$T z_oIsCSw#JhEH5&?^N$pNzp)W+Z|Ut(t`h&WQ9gjGn(dAEr;C+kz`Vqfb6konS@y2G zSO})O(_%8L5qT2C_ue{ehs%IE&Wf}mR)P@Hidfjn6QI!CF_bLe!4ru(UZ^ye7SB7b ztw=@ej5Q45jy!eHA9xi{L1f1hTOTb5fXs%5<@gs@SFd4Etwo%amn4My;h<<;2D))Aj!$^3Ygae>LvhgW|CNjtO((rum$Nv7==vDvy=;+|TYXUH}ySLxl z+&btFo^3z>s;1CHdK;!Fe04gc1cpc9s+vLIfs*wdygqY8tB1pwgMu*Vc$(CsmC3te zE~Tq;rNt*)qBP~C9{zdmUcTii$H+ivD|*Ujk6beuV7?#l8Y1^REEe*JFvUzHCD6Qc zeGRkKjU6gjl_`cAuL_Rg7oIK%y7nR`hzi}$s0?u1HvGsTez-e4tZ`{ow{&}~#~ihe z&5RpEt&uNv)hCEKOwJII!)1>fO9PDQRxa`Y4Kn^wpt-vm4x4=jJ4d#ZQNJYlZW}F` zs-YSR(6#Q>A$dp}9(WMYgwZ9eTMQ7$v4S5;PnZ;+{HQgK4yhmMD-skI>wdXt#y)b6 z74>c{z*10-@ouV=^)ulF?T&_)7b_uaZyho#2R^-Kh}0sEbBQv+2x&UMzeH;)W2{L? z`~5}kWmAWcY?*_|p{yvee7Sb(xQu-m8&fihRq0mZt>?W?0Nob0f}P8&PJm^G;VbZN zKY3>kAn7(I<<$Ii8Su=b1o>$XCPjj;kyQo0El_y6-cFFI*q;SE8&{nr&6~HHANePs zHTpHyUi2O{S9h#0*}1oJEE(u+K4>AX+e@f#+e@qZv(B@mbMyJLhjh054reA@Y$huL pctUkA+kLV9kX;Fl7^+}>tG=y-B`sT9-(CHD^*13oG>Zlf004Q1nmhmi literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c133ae8.pf_fragment b/pagefind/fragment/en_c133ae8.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4798282fa068b54c13f5d8fdf2543c381f7f1cc3 GIT binary patch literal 1445 zcmV;W1zP$aiwFP!00002|K(TPjuS@^{gu)@fn*PRVK-oj2g4=-1iKN2L?}d7Z%^57 z?acI~yT``hmH3TF$YzB z3d^a=*)~tZnM!$>inT7?y=V|gojcAQgdYb9`T-L3qLPSdOj}LznxrfVdOLpkf)Xvu z465W7!cpRlv!&HS$pu-KrBQB8rc7}tiXvT;(@?bqOEpuHq|S;|iChBMh>Ta-T*dSz zPuN%|@lYS{3vb@`=tr zfBM5w&YXBRf?zK)OPR<^k)~_t!S0-MHjtWbrQ%{uRvJ~fpl`i@8O>lBCcPGtQ=kk! zN&d9#1+zk$;DsfXTa|EJ=XuhEcd=x%RJ@95!qO?7lT$8*!=FF>xkvQ#r@w&0Y4THP z3T?U8i0NsGScY&i5tmTRk>1K7pU);7l&lU1reb<*6wk<(StiVy^sFaaxn0yYViKiW zXk%k~p{(VxnGAYBLpwoI2IEg7$8JQHQ=yz)%VOH+wa z%1cfwU%T4Fnq3KPl?$VN&6-rzW^1xlbj-vRQ(5dpT;&RuolvR0J(EbP zF3=&hn?4zF$OgUQCAAspl(iw`&7_1+J|R!KEKNaONT5n%E0sFa65jbqeqWua}E-0E;{UuY4cn!a++kyEjD#Xo962qZ z_?RZ_>MSS!zMJUI#o5pHZj1zF8I;1Q%4J%jnual{5pTlDfTXh1beSFws&QMt9PPBW zCw524GxuDhUKd|*0s5eXb6|w84QNsbYjGtch#{Z5g|`P*F(W7~uaJ|BaX;1EUV4^a zu6sd-3eKvAw!3KxX2HqQPqf`}(oK2&Y1`>i!_%GV7;i%ZVm*RX4rIF>P20)4mqJ03 zhV%rV=h}oxatBP53%22Y0t>4PG2q?N#|omNpzx10~CJ6|)*i>}BMzjrYB`2Bm~pKdGqu1s?i{HLM)kH=&)CF8Fc zlV3X}|Mx+4OTT|pgz6cX)Ww;ES=O^t7jC+pbAU6vf|rQFUp?_HB6F1Rin(CZ2%Y2h z#VW|ftv5vb)pPc#UU@?O7zPhLZnkBNntBHooh{gC(5kzQzs4G*!!_Of9zeBOzr%W; zx0~57ejtxABwvM@)Nb_c?5W3gySp2nF&Kq1;*Z2nedM?FKPC4MP6rXvjxEGSqmS2v zD8p`sr>F{f&tFRfIs907wnw91KSrE#R{!HH4q-qgc$#7Z!n5CH_Mr?STs0L}qtU_j zpoep`#i@R$ntzm`4x4!ky=Qgrp`V=WhsXVe+p=0nyP%ytwFh;0u z>Ynb??ToP&p?}!HIl8|OCk&w$qdn;8pFY^9-*3K}ta?gyP@02Q|LFL^ zzS_ueOANWbC0d}}`=gKe@N^$y4t0Zd9o<7Y{_gPlx9h(FBQc@h^$!35U7pb) literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c242f66.pf_fragment b/pagefind/fragment/en_c242f66.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..666abe643fafc002f108cf4a01abb5b8ed174396 GIT binary patch literal 1098 zcmV-Q1hxAgiwFP!00002|BY7BZsRr({FQ|siX31mcLCA^{BVVvq|E_wV$>I0fuaa# zac#4qNR^`O2tk1RkoM>9OFE=%%L?owFR^Ux&dv^ZmMO)8=gPRO zYQLRig`MH4t@w_7K$U?pQ^npZvp|ZGAE&H!bG*| ziqT~*jIo~Vik(xE15Fh&s@g?jMX8lANM0+yY{~4@*s{v#8uCRYzgqX0(Uha$HD{TdI8_R{Yz8N z(+mlp?*1PaOue$+{Ty*H4KuWDd-p~)BkJh=Lc1$z6wVpfTJJOrQ zvRx3fP`$vKkTh%B-4P}uHpMZpw>~4cHi7W1F2e+b&;rYXbvds!-6->TaCUnELDqI> zPqgruuwr9x%$y${xka)~$|YQ+Ely|{9${A+NB4%@ZE$vMZQ^+>atOpvKJKf7WV^S4 zY1nhH_10`h=ut`+Z&+golj%kv%md;co^zFtHx14pzJ&aB?y*ubT)J!PXBm=ok+6)$Z7_~SWY9c4u3@&k$~iKho|OFVmM@)pEF zvh`*%eE%}&VV-R4S^2SLDNo zqgAjA(_oO4ce|m3Kd?CZxaa3bg=lS&>R^jKA@<$U!#aEa@femtZd!$@?SQ&T?xUQ2 QeEIX`KO?Vwxey8f0D-C{^#A|> literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c4a6208.pf_fragment b/pagefind/fragment/en_c4a6208.pf_fragment deleted file mode 100644 index b0a1c3b9cb29d9bc8a1b9ee53339b47775230aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 zcmV+n2lMzJiwFP!00002|D9LcZW}ic{S`t_F(Apeq%rhT$WGcCh$90sQUpaI(7U4* z>s@k7a;2z&fqY2&bNP~<;c{=b0t9&xwB&F&bLPy2rOarpbh=8D^z*2)`DivezL$=2 zrO6%dHquX|rAfCm8jljAJ!uco-?1;|mc(VV|Ff8jMp!5(q)1GjQ{t7;!mNd(q_WEI zg{^YJwoW0S*D9;53^IBtfZmy={t%P*nJTFyl*x7JZ3#=)LBc-zljd)SWWC2ZTu{>6{ zGF{YKx5@#{#qub|xHS(BP%d6H*8Qfk%~;%+l+{u=`p)c*rs9sFt78$#z%aDPXO&8W zK2|R)Z;F~f8R?)246&x@Lk=DbSt1yvRS*aaVwHsI{Q-$L-v~YeZ zmK0bG9O{GC;nb6`KV(KU)zYBrOO%g~Pf=Z%Slc6?8So!8q7pOE& zd1JY(QEqm1)pb&H9DmU>0{N%t<^xm!br+ zxwi=e<9f>;5w4!~=u``Irp)-i;4S&=uCk49I-P7{I#fKAID0N} zD&BH-pn^H-X`*)ViM|8UXV0adBqvL5FPc5%X%CO0NDc!MH_n=4ZDL3AB-%MO;f2HW z>FpmPP;a}VP+KuTf`!iaN1+yg1Yv!}RF9Ii4RO79|9gWf`>ge~DT~(E>k!YHnDQ*$ z&-bbL1xZhzBqWI&ejwDaYW35O?Lu8fk5AQljjXPlmJYlgoZ=Y8FaX^RB@f&wy3*B^ zv!<`r9SU|`TG+ffR0DrRPbi88t%JgB^1QO3OJ?0^G#CrQq32I0(4$loSjZUf-G3cH(GByc-iw9VG#K z%E~`CqwQs}ctzrNpG?H=t7YwzIytO;2g+o(gq++;o=@S=Dhz!1Ym1-I9NR+Fm7bWU zy`1c2VV5xH(Tv_gFr@e0nWD}we!{Qb5JNQueRU;)w_Zv77z99I{=;h6bryqAD8}eF zC9vdaNrtpW3!C3_q+326;@=@T=GSdy(bbU2mrutWeo*8j?HCie#B3NsJa`nuv2^&V z2=h}Mb}$)}-G(`fJLP>-{hvN5XpIG)w{9elB$^ld7IB*f7|Nt7LBM#h+A7-dG>_Y= zG7SwJCB)L2GYAPFb%ujV9~ivGPo59spaqE9tR6BgNjB!Ha+r1FV`U~5gQrV^${|x( z`rdp91J=qn&zUDLCU?K4oKs4a7k60^nUW6KvgK z)qNE%n+-qfx*wk)Q9e9PABf6cFq;}yyHmdfr+AWMh)h?BsrXg?>g;4Z!X$|%??$uF zkK<86UgF;WQOqO6#7+)e=BcF{P*G$nZ!xEyX8Bk^uevCug|}AZxWkb@7m53&;%CH#KmSesk=mH u$d9zjfo13CFTZ73figIeTn0Ofx|7@0MVq&5dZ)h6@StI diff --git a/pagefind/fragment/en_c7572b4.pf_fragment b/pagefind/fragment/en_c7572b4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d61ddbb073f26aff83c8e1d7cc47044d6b600c1d GIT binary patch literal 1552 zcmV+r2JiVFiwFP!00002|Gih+Zrer>{gr`UY6Bu=y9tu$&G98Q>ezvuGzf}9Sd%Mh zYm&?CE+Z+afqXohwWD zLtt<3XlisxPN+f~Bp=dZuCh5gD=u$>269F67JN*e5FwLzTdw7iEy;g)wi#I@u#_^DX^W%N*bI12aBvo$=7v| z?tveTVO%{7bR(VEMSBW#M3(wfNCK)RF^55UAW6wgU{F=%jLw@(k`z{aip~k?0 zF`a9X_fWrYw`Xp6HVQKqjUO=~m_{2w`yig@FQ|@zVBb}oj+A}|e{2^j8ZriJ)Xr5N z0J@*})E}ECM$D{lYd4($NLLw7UNPSYI3g{wiV8+`A$Wk{A0{6UPnODhs97jBb$N>^ z_xdQbc*~?6wE%oLe0}bpF=P7uydNwp%HUV=7qOwoDV@c!*Q^1tK|JzZTMnU0{w;fN zRfq9fyT;LdOs~Q4F(v*pxx7yH_V!bHcXiIs=FZi2JQ~TRC~K605g*mMP}wS_S7BOW z8+7C9#<5sQQ~KH$5ONST9ofvN+SySYFFBbtD#wt>v|iDTfFi02J^66??rQS#@cQKZ z?BXO{iLwZy)hCk|t1Y_J*R{|U0UcOu#kg_`N*K?F<*f}PojwA5z>@S`SVzYj`C4d4y-Emv5_I6%K37FIfl$16Oz*4 zLQ7D8E?Anmh!nGBk(#GHg>o=&aCi9#=%0fQq~z~IoIG5J%p&LmPXz0Hp*(=7&^85R z@?=?~xu`VofJYgDQock}x`GVmDkvSxo@qP|$iZ{m@!R*UB?P|<5Y}Q&Sf+rwA?&n%r)0Tji{R9KH_=R(sF<2*W5%iT>A@_jF!np17s zU1lyE$t46AJ@!!G-Ye(^oXF#S8(F=^qrf%4C3W|8)gYlK0aU=s7+=)26nuM9dve6h z8op<(&l2HX3m$uxVmQX_+yxPv;0kvBj*inZrb{yuRos8L9gR_LMQ@_!bz?K8Kf=z} zp0KMT=u#Kv2aA<11`2uCw}W=lIAEA2{)V~X51tR!;n0ngzlHic+MP1Dul-ClW~0dU zEf}r~xpa7fJ9v|Q_m*wnwi|2&KY<6Yuq_^8VeRd!Creq@Zr$Z%874gVg#F?H`ZmQP zk5w$6WV+#9{>lEc;Q*7%YBU&sxf>3!B?){R_);G)`vaKp?xorO*DnK`_nvKw8Geu? z&}kWW4gce&i@aqS>BoQiVq1LZTOtzNT@S+c@4sHOgM+8rqN#OF2*1LTN+%vh5Vs5e zeevj}{Be6qR`A5O9PTpox!sTU{Q0(M6`T4 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_d729b1e.pf_fragment b/pagefind/fragment/en_d729b1e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b02e0d3e4db02154945cfd53ebadc9420641aa50 GIT binary patch literal 913 zcmV;C18)2uiwFP!00002|AkfCZrer>{gnZqT0o@Y6m3wy6t3m80W2q|8uXzkjMZ`| zZbR-8d$Fw;2K*ZVlArUJWM)ZGqD0wmOYY2>IcF~0h!qw}=hwN+?~`Dw&)d9d8^hIsDkz1XOs4M`Ik4o`T?b>CnV%hWhB23#Vesnw}f_JnBhGdK&mV&e?{ z=$di26Fai4B*+qMt46uSI_}K}DOq&AJFMEmlZ>J=)DUwaDd`yjN^E)6LerXwtmbi4 zR73aN+!5t)IG9764eokps?cg}V*4u(LR#ZokDIr#+8OL1A}Ep3MDWPuF1sZVTVX)6 zH`(liZW-*1+=p(;H^M$Ycn8+p5ATC-g1@9`j&8r7EiNwKU0qyXoy{+ogepUEEY&pO>#})3hz8s4x7>Bx3`?^pXQbe(D%_{i$ewQWUKNaoz^Wdn%)c=GNGpva4u8_&;tB1(| z@AU>RzM@2}dpgsc7V#eb-kKiZ{`}K%VAQEMX>emN^lpgfmee5F$*Y%XbWdH{KXoHy n4qAU0<;^e0qG$q29rxcBb=#9elwVIC{(JZi@Csdd%m@Gg-zUIj literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_d81dd67.pf_fragment b/pagefind/fragment/en_d81dd67.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..629e0f4a4203d45b7d56e40e03d9fc74c3ccd056 GIT binary patch literal 1115 zcmV-h1f=^PiwFP!00002|AkiDZsRr({gr{9b^%MdAYBxBDV#XnEf8me^%i+3ihw4^ z78{CGNy@Gp1jug`Xn!tW(izIKE!XZo1X9G|nVB>PL!&0 z>8jdUv@x74OA&J&a{7Fd4KnF$r0-<-KnI`$j7H-hV1&{LFQQ%`y)U#x7z<1A6&b@j zvU$(8!@4&3_WD{~L|uC)WC_th#TT@lgGvCQfS;|=PYBTqrK5IM7#NSnuq@Hj z*AgM1U!bRlRRJhyf>2?=A%VddI;0jlU8w?^1$~){fC`)?6ONqTDYKcLH=KmCgOu1kNtNc`)S71LZ`2y^E9yksq46c0Q%KWxv|cUL@c}fUkZ23Ybtj z2}MUknZLdMec1Bt^&c39nymK@*!-G0!8^lf2a3?9&g>UmLr|@a#&DeRFBpi@Kv`G} z^#6m<%&zlYon?vgDc8i?aE&EPVdwPJRfS3uU1n9l=h=*l08=c*LOWl;t*&$=kByDm z5ZC0{QdX!6xUuAbd!%+oOU6X<53a?a?4&Sas*R4TO{(Nn8L||{fN^sz$pb$?=@7l1 zHtcId0B2IJQZdFNQbog|3hbFM^;g8hOve!h>2;m#e-wdR!naIqxDAQi74Z}!DX7N> zEOjhh6Jbeovb?s0ZmGhSg|=<(J0?6a4^|2WBxYoqvKglX{W(`GTsEl+U_e z#tF3zv1N@#s6Du)O%gI%SjpJJG@{kS6*2>aAse4iKYC#sY8iIMEti7WnI$Zf5H}Yf zMDirOO2m^+cv9T2Mf|Z7@!=XAv*vQ}K^UbaNB$Dsfn6cQ%e{pll3J`8*S9d)o^li`_tXc z@?0XA3qjM5k>Dc&}=L}6so~+6< z0@jM&9;2)2JyOE^w+C5Q-0br7Wzf5S-reUP4vUcQZ0o#I)fVyaj_F~4I6nryELZ#! zB(K`>xEp70Zua2L&Q6cx(a#!UIbSO}-)#3i3J#8gzL)Pl9P?7PZJZl!<1KKnyL(vY hr$-sEbT<#&h+Cj-bM{frzJK}kIQR_T~p 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 diff --git a/pagefind/fragment/en_e25dd08.pf_fragment b/pagefind/fragment/en_e25dd08.pf_fragment deleted file mode 100644 index f8f3932cc5fe85f461bfe0158bb53e76eee6eaa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1920 zcmV-`2Y>hCBJn5}Uf_Oo=k6C}75mDC z(wT?B!h2lBBK5*RjpA_O`7&wlR(-JvS7}FSDHu;>kOHA!wWLXINu$iNP0o{-Pz1*W zjAzf42?=s#Dq!T&ESBPv8?FNi7wBJ#xoK0)H5IPO3+SiY5xt9iFG&w*5yndad|k|+ zNcwUKG6YxhbL0yz0CpPElk_734_XDTjFVIZEM{l98`LHtXumw?zN=e0_}h8teMaZvgsmn3FL7=gz! zX)z7gV;^XTF|9=$c)?>rGl>b{97X;H9Xzun*+yCyV&$_(^cD|{#8hZ0lZ2NcdE#`J zB-%6)8$T3oKVQ$L*yUcKjnw17k$iw&=$>t*vr>`8E!ygac)YMBHx7EnVro8Bcd z&AJd^6#CwLbAW`*{go?uMe4EXpT#nQ3?}8|dAMwI8e}_}$5IA~c$V=&6aPJ@Rsu6z zCcE%tjMyL^@7EOsxb0-|fn6r-%zm3iXA{Xh{V7_Uj>4ivNhIgqV!LQ=xP(kO^o0~D z>u@G{Y^%!`(CO3|RCw^?+YCNnQ4xMl;yHhyV6~iqHt5vnh~(2Sj3**V)?w^kkO6~u zC0kgrUsqn7?bWCl%_I}};rvs^zmmCKoPmVUOA(?;?+|DrS<=Ztso>m0DTu;_SU~=} z@PvIEr%+Nt3#p>?%?oNcixg zG}DBJ1=&899LfVWI|oy!V--gsGbj=Alj|jb;wZ}l$%Rj0S6oL0& zk#4mdR(hbGB*MAo&HT3+*z>U5j0rb)<9#RFkL?!Onw zy9x_gguV zqBE} z7U{6iEz*CQSh{WN=rL{)GB-?%Y)5mZj%nSad)yyQ2gdk^7F`2zY&tYDZVdpXzBXEyv09$jPcL{bNyByJNa-kT?k^zHW{l| zoT~w4+1V%NYn^nDXTUlzg5fcP?TmSbI&bVU>sab{%Kw@Q>!xmxXrz3}ZI9pk0;F(8v&mdy}^TI$Y z2oXYiNyFWZo(TwZnA)`l4bgPM=_@kRVg$$1m>Z}+`9i#f^z+0Nb_+QRog z#w)JaPfm`G&(9B~Do%Sd^+cj|c7E7ZPtO;Q!(H2kf@+^> zFU8SL&TQ0&p(h&T(`K4KtOfZM%ovQ}wW?c8}ZjtDB0~kYsyJH?B5r zV!4npF3z%eZ#S=5rC!?M^7B@mzr5k2q|%K1<|b$ad)W)kXw?#H2QPmQM}4u1x$e!% z3Qut4xX=HCvZEO>tGIU8F)Oe3-e|Rz*?WVX$&auTq zAW>kC#6E>Q`R6Z6@g)PZo{r$ibJ6;kh7sB+>Y#6-wG_OdWh2VP;n!9TuUq03Uj#C| zDr{M7)liO)--0RLBFhg!TcrBYUITmI-2po;!DL>rss*SDMQ4Jp==sINo-gz@*Js_g z;t2T#N=1%UpI@LNUjf$@$k`zWxEj*@>O4 G6953~0n9%D diff --git a/pagefind/fragment/en_e2b9ddf.pf_fragment b/pagefind/fragment/en_e2b9ddf.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e36dbdc76cdc4d70f31b73a79f3bccedac58bc5f GIT binary patch literal 2755 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 diff --git a/pagefind/fragment/en_e765a03.pf_fragment b/pagefind/fragment/en_e765a03.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..403a6b2204772bc24d079cc549e028eaa1aa996f GIT binary patch literal 1144 zcmV-;1c&<{iwFP!00002|D{&jZrer>{gnZqY(S)Jr)e6$6t?500aPcb5(Gt22rF_V zF0$NJ_hMNw4EQ7ZQlR}ge@V|SshcGm0s170J9Fl8&dhQqraY0l8dYU=n+2<~)2v^b zW~QXjCFicRa^_vXHuKz@e9D@w@SN{4$$D97v}f&s@w1teH}tl%r;C+64O{zS^IeBQ z!ZIymR1}=lQ}Xrt-DnzQ6+MdCqI06T^mQ`I9Zi&&7WA=RB9diMIa-)tX)GKoshNbX zsKkM11f;L7-ZWm|3$rp%&2Ed^Z}98z|q{aY0i!P zl3LNVJ~GkKTTsgDq&T93G9Y8^)q)}tdvORpltL>TbKM4+vCX>}7U@YG!6UICwYR1U z5C97&k(kuZ3#AYa1vcz!Q$Z-Jwu)UH#r~Jc+)J;}*N6Lmp0j_r|CfFZdQ(-=*>zwa z*)~!Og(`FfQj7jl-g_ko$t~sJ`sZiE%fY*=%hA=@FPFtaG^(J>8-WD)^nU^WaCDTv zd|_XX8dD|H4*VxTwc4IY#jX{8HwCMaajDeu@vNo(i%@}b97G+z?ZQ)K$`C1P$5AL} zR-zp*Fd7pP6ztJOy`0adx!AQ@GLYuhg~}wEO#)OS%95RnljIi8b3=}ORG!=IUvez^ z;~-VF-TCc*qjlwltI;#`<_)(!h?yQ}lltW_9Pc1+D^LNHiv|RW{Vpia%bLqCsp8E> zrnfHDVSMWF}|xM+H0dn&-vgy-{)r; zWMQc*78W%-Xv8IEyA`q0^U65Kr0;XU>vqGeCIHHov(2^M1XMU?vP&I(jodD^)+(ze zla_wH+(cklLrpE7_ht4GUbwCb%g)41esJPke1 z+`gjLr?H@&1xW+3h|0|Alg74zwy-ER>U7?Q5_bwR`dkZ7XLjH1{v-ScAQoHP#3eG0 zkULAr75HetO;bT}A$~WUygKe>C>KNFveVnUUWQ9R;3-S_f76FW2CsPAm!4}%d$?K=kG@P-hAhR{nT6)_k-@Ur~a$@^F^th7fMmqCF%@y zDmhD?L8^?d5iFL*NpI{bflIX%D+ixleROTCC6{nzDYP7pit+VNaGLawVJPT-A<|D{ zSfF*BP%a!u@4zfIOq&ai>SUzofiv0^^t+%^Pz8E`K244(Nu=vgHU0`A*LUAu{~$P6 z8vXYAC;!?4?PR*4CWsZea?rB}qm+v{I@%-&xAhI>iWh=q_! zOi4}CPRkEy3#o;okab3qPfi*!oV2={wAM+vf>>>Y5(K+G{nt>BaCJEz-rtRelhNhJ zVFJS^!73a42c(OBKYn*^-%SdW1%m``=x!Y%Yo42_OPu@3i3Qcnn*mHKsj`g;u^rY* z6qNLJ<-956SEQJH4i8jHV@VMENH}E6Ok8GJP(GOb4$*TQdw z8?Ox(LRB;dj+A^P2f{gOt_&3FIaP=dy)4jFo;yX7;E&siw-*IP(lXXm>?Aln35Bvq z{Y**8vMV=}Y)TG85P@HI$K}T8W}4V}%S7FK+?`Z1Ia~2ipoT=7@E|Ps;AfmsacFq% z6~L|$Gk-&Lf54h7Hji_oHiki?#2&|ZofOjj1H0we zJm*S`@X6Eiz;ds3cgnUMo83f%7(O6}z1}?pu*F@{*|Jx-7c1sBhR?K+XiYIW>pktf zty0<$l*#VWzin4)4A)`3g9*9NR<@+g?Ey%i4=n0QYAXJMIJ-FQMKpS-(k>c2zw{y+ z=7OH0kn6WTF(NYNWnuW{FV7LGurKIJeo9_sMo$xON_zHGt#3m0B4yH0lxWa@>1~0X zwP5RyA+i1(>ah3hlr7Zv7l&ZilP%^Bi`Po)un&#OEeEIP-yif)cUo-QPTPRqZNe?g wv;INMn&LQoDRpq0BHl*&?)(svrmL}IDR(%XymwIEzx?|057rKcfV&C+05xwr-T(jq literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_e964ca2.pf_fragment b/pagefind/fragment/en_e964ca2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8ea6dc82eace89ba45bd5cda53c658bd48fb2715 GIT binary patch literal 1085 zcmV-D1j73tiwFP!00002|D9IbZsRr({gr{962OvTJBw`nmUWZeMZ3u&PFoaBVK5SH zv!O_p7kjfoihM+03ba3$FX^GK_SPxTz9f{$Ih;9j=Ex;m@`X_OJkRon$Qv0=qEx#T zH|dfqZkXe7!OBvoWf~2lOe@Eg!=bm$E`6wX6S`h;YGdY2Oj6#H&5S4=WrkzJQs%AG z1sN~#z*J7R%yKCdo)+3rri)SvrZP?o!wSC9=FXDRj)cmj&v}joAwepQ{)J~Qp&zvm z4{MQgVltTK#Ds~7w>1+^!n&1 zel<3)4pE;d={w5-E-YH3j8&*9AaTbI!G)A$c%j$zB_%g;bB95C;GjT6r4SM5%RMB)nH5M( zDC?M%6~k0;x6-*ys?MKlQ!rdT13zKY2`AB@=chmW-RGyjXj-YUkxSJUx6#O4`a;ZOFPPXqic_L#@7cW_pFdXF+~xCf5jIZbCdDCg8uSQp!Qs{<+g0& z1)X1=emMK#^6DFaprCDI4aNmFYAGJ%e8IeQlWo&$cjnI@zU;N zuip){T{9uI2?a8G)3k-+rpw}U?NG}-oqUIq!AU3fw_fDc$1CpNz5<5i+M7B2~#0Hwm~gDSg)WRl+kef`19l6aOvFySP1|C Dsni_1 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_eb925a9.pf_fragment b/pagefind/fragment/en_eb925a9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..16f95fba1cc91a5c029dc1691b9dbfcc7dd3ce48 GIT binary patch literal 2616 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 a_V5gZrVaGffFaGfy4%4BSDY^0=3JP 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 mwv{FS@ps?VxYUl*M>i`C+p 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_fe695e7.pf_fragment b/pagefind/fragment/en_fe695e7.pf_fragment deleted file mode 100644 index 54dd0095528c1698d2686ff6dad5edfa782a3847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2449 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 diff --git a/pagefind/fragment/en_ffc1f4f.pf_fragment b/pagefind/fragment/en_ffc1f4f.pf_fragment deleted file mode 100644 index 4b728e5b8074a5db37125a2394ea5580797fbe25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e{uiwFP!00002|BX|@ZWA#O{gu%k5J;OPZH0hbP${%T3XpbtL#W!=lU)<9 zy|u?}Lsh9C!4ZD0U&45I(5T?%lLP1#@b6BDA>H<@+4I1z^IL36@ewAGYC1dX0?Vnjt znqansIZAYe2E1y}kxyY(c$8obd>iMdkWb;=a5#9g2ZfRCad+o^+Fl$ATN?G7(af{o zG#WD)8*)|#L5dlUkVu&law;4#Y*G+Pjzt~GSwQ$5r(Zd7_XQ1L3St!x4Qo>fDRt8z@Y9b)52sMwKV?6x1Dg#4f zrN-I0(h(aq*VeJfEnP9tQ-AEK*Fr~qiM7zdMull#VFPgg&AD)@A$~l;#(G88E%`V{ zhw=6ERin8jpbGgv?g5@0e?f3;2W5l~GIqNr+l5w<@21&n^N&=T6iXY}V<#~I4!O$Y`c=kjcWIqG6E?)n+Zn!36aE)M=abR(O`6o)3!jqKd(TGQ*~swYI$=}S z-BwpSTun(nosn($OnCLIZD**qq8(W>8s4NEq`NCp-EPsqbzAg6zqMT(WV>%S*`&Hy r(Upp-FdIC@x+V*bK{Ji-O7p1Ve9t8jZe7rkb diff --git a/pagefind/index/en_222c145.pf_index b/pagefind/index/en_222c145.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..edc7cb5f084180e534d515422252f5f9f273a4b0 GIT binary patch literal 33770 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Ν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 literal 0 HcmV?d00001 diff --git a/pagefind/index/en_556e131.pf_index b/pagefind/index/en_556e131.pf_index deleted file mode 100644 index ad5407ea1be67ba69c1c7671a937a964d6fb07e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8014 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 Q!Q_}sVg@)lX9`>I*)HU9rr?JI*Vi7gi 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 N{{R;Q_gw7v000+(5mNvF diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json index daa11fef..cb78ba06 100644 --- a/pagefind/pagefind-entry.json +++ b/pagefind/pagefind-entry.json @@ -1 +1 @@ -{"version":"1.4.0","languages":{"en":{"hash":"en_6314f1b1e4","wasm":"en","page_count":35}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]} \ No newline at end of file +{"version":"1.4.0","languages":{"en":{"hash":"en_1b266052c7","wasm":"en","page_count":36}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]} \ No newline at end of file diff --git a/pagefind/pagefind.en_1b266052c7.pf_meta b/pagefind/pagefind.en_1b266052c7.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..faebe7237a63fd7b13c0664f2c84ce379156b7d1 GIT binary patch literal 396 zcmV;70dxKziwFP!00002|22=Tj+HSGhSPHcIMRCb=IeCY&fEYA+yY|h-<%x8$%Z8; z#Bw%h9AJQO7oZ6Og~nh|2*L^y5`y5{&aQkq(`VlIq-=-m_WiiG{%rUoJX&7eIy@Nr z<4(T!l1s*D1DyG$Q$UcE>_4@#R1ojX?TIvM zN~1aRWMa)JaUuIrMbao|a+~iHM`ehG-R7@m5GWL?eLRVC8ka+JLyzW|p{|kMsVNFB zy*NV}A_G@H>{s>X6w4B>zX~D-UU$7tIbkbce@-e;Q%-0vCZ*ar0y%SEwVjA#w|~^r zM+lzm>q(eO1wyyEsaB}mySUAdiMbZ!w#I#`R|=!`sS4BD&1rFtA?M-DL96-@ z%2-3Z(7z#K8_}7&6M?A!AEM;XT~V=!bZ{*F zAt<=H2oAnLp-b1!eT9}nU!m<2v?1wl{N%p5`+o1fmVK6w2Ys)%{)63a*tLIO9e?73 zJ)ufeno(yHlf)_*je0rJrD!>K{b3a?R?MWYCoy2}HW_s}G5FF;5`8}jBvs&U)SHPO z*~bJ%?Qf?vc3E#G74V@qG0)yFM@$(xnw?(@r8x(&m^jTB9x|Ru*x|>t(2gLNM03^L%1-jYDuoy;xd+ z1l~V6DufPzw|z^i!ZGR7wS}6?xZ>7sjueYz{cdG(B|;y?^W%+JYXkUpSU%6t>`+)X bgTM8=|9^hZ#}UYRcXad!0+%@VLIMB)SGTq? diff --git a/personalization/customize-rules/index.html b/personalization/customize-rules/index.html index fead7433..267ed7a5 100644 --- a/personalization/customize-rules/index.html +++ b/personalization/customize-rules/index.html @@ -1,4 +1,4 @@ - Customizing Rules | mSCP - Skip to content

    Skip to content

    Customizing Rules

    The project supports modifying existing rules and adding new rules to a baseline to meet your organization’s requirements. Customizing a rule means changing the rule’s content itself, while tailoring is about selecting which rules to include in a benchmark.

    - - -
      -
    1. Copy the existing rule file to the custom folder. The filename must remain the same.
    2. -
    3. Remove any fields that don’t need to be modified.
    4. -
    5. Edit the fields to match your organization’s requirements.
    6. -
    7. Run generate_guidance.py. The custom version of the rule will be included in the output.
    8. -
    -

    Example: Configure macOS to Use an Authorized Time Server

    -
    references:
    custom:
    MSCP:
    - MSCP-OS-001
    URL:
    - https://developer.apple.com/documentation/devicemanagement/timeserver
    Remediation Tool:
    - MDM
    +

    Customize Rules

    Customizing lets you modify rule content (check commands, fixes, references) or add entirely new rules. This is different from tailoring, which selects which rules to include and sets ODV values.

    + +
    - + +

    When you create a custom rule file, the project:

    +
      +
    1. Loads your custom version from custom/rules/
    2. +
    3. Loads the original rule from rules/
    4. +
    5. Uses your custom values where they differ
    6. +
    7. Keeps original values for fields you didn’t customize
    8. +
    9. Merges tags and references (concatenates rather than replaces)
    10. +
    +
    +
      -
    1. Create a new rules.yaml file in the custom folder. -
        -
      • If your rule uses a configuration profile payload not already in the project, add it to supported_payloads.yaml in the includes folder.
      • -
      +
    2. +

      Create your custom rule file

      +

      Create a YAML file in custom/rules/ with the same filename as the original rule.

      +
    3. +
    4. +

      Include only fields to customize

      +

      Add only the fields you want to change:

      +
      references:
      custom:
      MSCP:
      - MSCP-OS-001
      URL:
      - https://example.com/policy
      +
    5. +
    6. +

      Generate your outputs

      +
      Terminal window
      ./scripts/generate_guidance.py baselines/YOUR_BASELINE.yaml
      +

      The custom values merge with the original rule automatically.

    7. -
    8. Run generate_baseline.py to add the new rule to your baseline.
    9. -
    10. Run generate_guidance.py against your customized baseline.

    -

    Use Case: Informational Rules (No Check/Result/Fix)

    Section titled “Use Case: Informational Rules (No Check/Result/Fix)”
    -

    If you want a custom rule that explains a control but does not include a check, result, or fix, add the manual tag. This ensures it does not appear in the compliance script.

    -

    Example Rule (No Check/Result/Fix)

    -
    check: |
    result: |
    fix: |
    tag:
    - manual
    + +
      +
    1. +

      Create your rule file

      +

      Create a new YAML file in custom/rules/ with your rule ID as the filename (e.g., my_org_custom_rule.yaml).

      +
    2. +
    3. +

      Define the required fields

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FieldDescription
      idUnique rule identifier
      titleHuman-readable name
      discussionWhy this rule matters
      checkCommand to verify compliance
      resultExpected output format
      fixRemediation instructions
      tagsInclude your baseline tag
      +
    4. +
    5. +

      Add payload support (if needed)

      +

      If your rule uses a configuration profile payload not in the project, add it to includes/supported_payloads.yaml.

      +
    6. +
    7. +

      Generate your baseline

      +
      Terminal window
      ./scripts/generate_baseline.py -k YOUR_TAG
      +
    8. +
    9. +

      Generate your outputs

      +
      Terminal window
      ./scripts/generate_guidance.py baselines/YOUR_BASELINE.yaml
      +
    10. +

    -

    Customizing rules helps ensure your security baseline is both robust and tailored to your organization’s needs. -Customizing rules helps ensure your security baseline is both robust and tailored to your organization’s needs.

    \ No newline at end of file + +

    For rules that explain a control but don’t require compliance checking, use the manual tag. These rules appear in guidance documents but not in compliance scripts.

    +
    id: my_org_policy_statement
    title: Organization Security Policy
    discussion: |
    This control documents the organization's security policy requirements.
    check: |
    result: |
    fix: |
    tags:
    - manual
    - my_org_baseline
    +
    + +
    • Directorycustom/ +
      • Directoryrules/ +
        • os_authenticated_root_enable.yaml - Override existing rule
        • my_org_custom_rule.yaml - New custom rule
    +
    + + +
    \ No newline at end of file diff --git a/personalization/exempting-rules/index.html b/personalization/exempting-rules/index.html index 5d4ad8b6..6efcc359 100644 --- a/personalization/exempting-rules/index.html +++ b/personalization/exempting-rules/index.html @@ -1,4 +1,4 @@ - Exemptions | mSCP - Skip to content
    Skip to content

    Exemptions

    Exemptions allow you to mark certain rules as “approved exceptions” for your organization. Systems with exemptions are reported as compliant, even if the setting differs from the rule’s expected result.

    -
    -

    Note: The check will still be logged as a finding, but marking it as exempt allows reporting tools to exclude it from non-compliance.

    -
    +

    Exempting Rules

    Exemptions let you mark rules as approved exceptions. When a rule is exempt, the compliance script reports it as an exemption rather than a failure, and skips remediation for that rule.

    +
    -

    Exemptions are set in the org.{baseline}.audit.plist file, which can be placed in /Library/Preferences/org.{baseline}.audit.plist or applied via a custom configuration profile.

    +

    Exemptions are stored in the audit plist file at:

    +
    /Library/Preferences/org.{baseline_name}.audit.plist
    +

    Each exempted rule has two keys:

    + + + + + + + + + + + + + + + + + + + + +
    KeyTypeDescription
    exemptBooleantrue to mark as exempt
    exempt_reasonStringWhy the exemption is approved

    - +
      -
    1. Set exempt to true for the rule.
    2. -
    3. Add an exempt_reason describing why the exemption is needed.
    4. +
    5. +

      Set the exempt flag

      +
      Terminal window
      sudo /usr/libexec/PlistBuddy -c "Add :RULE_ID:exempt bool true" /Library/Preferences/org.BASELINE.audit.plist
      +
    6. +
    7. +

      Add the reason

      +
      Terminal window
      sudo /usr/libexec/PlistBuddy -c "Add :RULE_ID:exempt_reason string 'Your reason'" /Library/Preferences/org.BASELINE.audit.plist
      +
    8. +
    9. +

      Verify the exemption

      +
      Terminal window
      /usr/libexec/PlistBuddy -c "Print :RULE_ID" /Library/Preferences/org.BASELINE.audit.plist
      +

      Output:

      +
      Dict {
      finding = true
      exempt = true
      exempt_reason = Your reason
      }
      +
    -

    Example: Exempting auth_smartcard_enforce

    -
    Terminal window
    sudo /usr/libexec/PlistBuddy -c "Add :auth_smartcard_enforce:exempt bool true" /Library/Preferences/org.800-53r5_moderate.audit.plist
    sudo /usr/libexec/PlistBuddy -c "Add :auth_smartcard_enforce:exempt_reason string 'Reader Issues'" /Library/Preferences/org.800-53r5_moderate.audit.plist
    -
    /usr/libexec/PlistBuddy -c "Print auth_smartcard_enforce" /Library/Preferences/org.800-53r5_moderate.audit.plist
    -

    Result:

    -
    Dict {
    finding = true
    exempt = true
    exempt_reason = Reader Issues
    }
    +

    Example: Exempt auth_smartcard_enforce from the 800-53r5_moderate baseline:

    +
    Terminal window
    sudo /usr/libexec/PlistBuddy -c "Add :auth_smartcard_enforce:exempt bool true" /Library/Preferences/org.800-53r5_moderate.audit.plist
    sudo /usr/libexec/PlistBuddy -c "Add :auth_smartcard_enforce:exempt_reason string 'Hardware reader not available'" /Library/Preferences/org.800-53r5_moderate.audit.plist

    - -

    Exemptions help you document and manage approved exceptions in your compliance reporting.

    \ No newline at end of file + +

    For enterprise deployments, deploy exemptions as a managed preference profile targeting the org.{baseline_name}.audit preference domain.

    +

    The compliance script checks for managed preferences and respects exemptions set through MDM.

    + +
    + + +
    \ No newline at end of file diff --git a/personalization/tailoring-rules/index.html b/personalization/tailoring-rules/index.html index 55f64caf..93aa46ea 100644 --- a/personalization/tailoring-rules/index.html +++ b/personalization/tailoring-rules/index.html @@ -1,4 +1,4 @@ - Tailoring | mSCP - Skip to content
    Skip to content

    Tailoring

    The project makes it simple for organizations to construct a tailored benchmark whether starting from one of the NIST 800-53 control baselines, or customizing an already established benchmark. Tailoring a benchmark is different than customizing specific rules. See Customization to learn more.

    -

    Organization Defined Values

    -

    Organization Defined Values, or ODVs, are values determined for controls that meet both the security and functional requirements in an organization. Benchmark authors, like DISA and CIS, provide these values for their respective published guidance. In the project, we include recommended values, as well as the defined values for the DISA STIG and CIS Benchmarks as part of the ODV field in the YAML.

    - -

    Running the generate_baseline script with the -t argument will step you through the tailoring process. The process will start by prompting for the following:

    +

    Tailoring Rules

    Tailoring lets you create a customized baseline by choosing which rules to include and setting organization-defined values (ODVs). This is different from customizing individual rules.

    + + +
    + +
      +
    1. +

      Run the tailoring wizard

      +
      Terminal window
      ./scripts/generate_baseline.py -k BASELINE -t
      +

      Example:

      +
      Terminal window
      ./scripts/generate_baseline.py -k 800-53r5_moderate -t
      +
    2. +
    3. +

      Enter your organization details

      +
      Enter a name for your tailored benchmark: MyOrgs_Benchmark
      Enter your name: Your Name
      Enter your organization: Your Org
      +
    4. +
    5. +

      Choose rules to include

      +

      For each rule, you’ll be prompted:

      +
      Would you like to include the rule for "audit_acls_files_configure"? [Y/n/all/?]:
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      OptionDescription
      YInclude this rule
      nSkip this rule
      allInclude all remaining rules
      ?Show rule details
      +
    6. +
    7. +

      Set ODV values

      +

      For rules with ODVs, enter your value or press Enter for the default:

      +
      Enter the ODV for "pwpolicy_account_lockout_enforce" or press Enter for the recommended value (3):
      +
    8. +
    9. +

      Find your files

      + + + + + + + + + + + + + + + + + +
      OutputLocation
      Tailored baselinebuild/baselines/MyOrgs_Benchmark.yaml
      Custom ODV rulescustom/rules/*.yaml
      +
    10. +
    +
    + +

    After tailoring, generate your outputs:

    +
    Terminal window
    ./scripts/generate_guidance.py build/baselines/MyOrgs_Benchmark.yaml -p -s
    +
    + +

    When you set custom ODV values, the project creates a YAML file for each tailored rule:

    +
    ---
    odv:
    custom: 11
    +

    These files are stored in custom/rules/ and contain only your custom values.

    +
    +
      -
    • Benchmark Name
    • -
    • Author’s Name
    • -
    • Organization
    • +
    • Customize Rules - Modify rule behavior beyond ODVs
    • +
    • Exempting Rules - Exclude rules from compliance checks
    -
    ➜ macos_security git:(sequoia) ./scripts/generate_baseline.py -k 800-53r5_moderate -t
    Enter a name for your tailored benchmark or press Enter for the default value (800-53r5_moderate): MyOrgs_Benchmark
    Enter your name: Allen Golbig
    Enter your organization: MyOrg
    The inclusion of any given rule is a risk-based decision (RBD). While each rule is mapped to an 800-53 control, deploying it in your organization should be part of the decision-making process.
    You will be prompted to include each rule, and for those with specific organizational defined values (ODV), you will be prompted for those as well.
    -

    Once completed, you will be prompted whether or not to include each rule in your benchmark.

    -
    Would you like to include the rule for "audit_acls_files_configure" in your benchmark? [Y/n/all/?]:
    -

    📌 NOTE
    -The ? option will display additional details about the rule to help your organization decide if it meets your requirements.

    -

    If a rule contains an ODV, you will be prompted to assign a value that meets your organization’s requirements.

    -
    Number of failed attempts.
    Enter the ODV for "pwpolicy_account_lockout_enforce" or press Enter for the recommended value (3):
    -

    After the tailoring process is completed, a new YAML file will be created in build/baselines, and custom rules containing their ODV values will be created in custom/rules/. Now you can run the generate guidance script against that tailored benchmark.

    -
    ./scripts/generate_guidance.py build/baselines/MyOrgs_Benchmark.yaml -p -s -x
    - -

    When you provide custom ODV values during tailoring, the project creates a separate YAML file for each tailored rule. These files are saved in the following directory structure:

    -
    • Directorymacos_security/ -
      • Directorycustom/ -
        • Directoryrules/ -
          • *.yaml ---> Custom values you set if you used -t
    -

    Here, * matches the ID of the rule you tailored.

    - -

    A tailored rule file contains only the custom ODV values you specified. For example:

    -
    odv:
    custom: 11
    -
      -
    • The odv field contains a custom key with your organization’s chosen value (in this example, 11).
    • -
    • This structure makes it easy to see and manage the specific ODV values set for each tailored rule.
    • -
    -

    All tailored rule files are stored in the custom/rules/ directory, allowing you to track and update your organization’s customizations as needed.

    -

    This process helps ensure your security baseline is both robust and tailored to your organization’s needs.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/repository/directory-layout/index.html b/repository/directory-layout/index.html index d2fdc293..b49c6649 100644 --- a/repository/directory-layout/index.html +++ b/repository/directory-layout/index.html @@ -1,4 +1,4 @@ - Directory Layout | mSCP - Skip to content
    Skip to content

    Directory Layout

    -

    Below is a quick reference to the main directories in this repository and their purposes.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DirectoryDescription
    baselines/Baseline profiles containing all rules (e.g., NIST, CIS, DISA STIG, CMMC, CNSSI, indigo).
    build/Output directory for generated scripts, documents, and mobileconfig files.
    custom/Custom rules and sections for organization-specific requirements.
    includes/Supporting YAML libraries for build scripts.
    rules/YAML files, one per rule, for securing the operating system.
    SCAP/Makefile, scripts, and content for SCAP document generation.
    scripts/Scripts for generating reports, baselines, and configurations.
    sections/YAML configurations for guide sections, mapping to rule categories.
    templates/AsciiDoc templates for generating documentation guides.
    -
    • Directorybaselines/ -
      • baseline.yaml
    • Directorybuild/
    • Directorycustom/
    • Directoryincludes/
    • Directoryrules/
    • DirectorySCAP/
    • Directoryscripts/
    • Directorysections/
    • Directorytemplates/
    +

    Directory Layout

    This page describes the directory structure of the macOS Security Compliance Project repository.


    - - -

    Contains baseline files for various standards and frameworks:

    + +
    • Directorybaselines/ - Baseline YAML files for compliance frameworks
    • Directorybuild/ - Generated output files
    • Directorycustom/ - Organization-specific customizations
    • Directoryincludes/ - Supporting YAML libraries and resources
    • Directoryrules/ - Individual rule YAML files
    • Directoryscripts/ - Generation and utility scripts
    • Directorysections/ - Section definition files for guides
    • Directorytemplates/ - AsciiDoc templates for documentation
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectoryDescription
    baselines/Baseline profiles for NIST 800-53, CIS, DISA STIG, CMMC, and more
    build/Output directory for generated scripts, documents, and profiles
    custom/Custom rules and sections for organization-specific requirements
    includes/Supporting YAML files and resources for build scripts
    rules/YAML files defining individual security rules
    scripts/Python scripts for generating content
    sections/YAML files defining guide sections
    templates/AsciiDoc templates for documentation
    +
    + +

    The rules/ directory contains subdirectories organized by category:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CategoryDescription
    audit/OpenBSM auditing settings
    auth/Authentication and smartcard settings
    icloud/Apple iCloud and Apple ID configuration
    os/General operating system settings
    pwpolicy/Password policy enforcement
    supplemental/Additional supporting information
    system_settings/System Settings configuration
    +
    + +

    The custom/ directory mirrors the main structure for organization-specific overrides:

    +
    • Directorycustom/ +
      • Directoryrules/ - Custom rule overrides
      • Directorysections/ - Custom section overrides
    + +
    +
      -
    • NIST SP 800-53 rev5 (Low, Moderate, High)
    • -
    • NIST SP 800-171 Rev2
    • -
    • DISA STIG
    • -
    • CIS Level 1 & 2
    • -
    • CIS Controls Version 8
    • -
    • CMMC Level 1 & 2
    • -
    • CNSSI 1253 (Low, Moderate, High)
    • -
    • indigo Base & High
    • -
    • A comprehensive baseline for all repository rules
    • +
    • Rule File Layout - Understand rule YAML structure
    • +
    • Sections File Layout - Understand section YAML structure
    • +
    • Includes Directory - Supporting files reference
    - -

    Stores all generated outputs, such as documents and mobileconfig files.

    - -

    For organization-specific customizations of rules and sections.
    -Note: Filenames must match the originals to override them during guide generation.

    - -

    YAML-based libraries and supporting files for build scripts.

    - -

    Contains individual YAML files for each rule, organized by category:

    -
      -
    • audit: OpenBSM settings
    • -
    • auth: Smartcard authentication
    • -
    • icloud: Apple iCloud/Apple ID configuration
    • -
    • os: General OS settings
    • -
    • pwpolicy: Password policy enforcement
    • -
    • supplemental: Additional supporting information
    • -
    • system_settings: System Settings/Preferences configuration
    • -
    - -

    Resources for SCAP document generation, including XSL files, CPE OVAL/definitions, and scripts.

    - -

    Scripts for generating reports, baselines, and configurations, plus required resources.

    - -

    YAML files defining guide sections, mapping to rule categories.

    - -

    AsciiDoc templates for generating documentation guides.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/repository/includes-directory/index.html b/repository/includes-directory/index.html index 14b61e7f..7ffd75dd 100644 --- a/repository/includes-directory/index.html +++ b/repository/includes-directory/index.html @@ -1,4 +1,4 @@ - Includes | mSCP - Skip to content
    Skip to content

    Includes

    The includes/ directory contains reusable YAML libraries that support the repository’s build scripts.
    -These libraries provide structured data and helper content used to:

    +

    Includes Directory

    The includes/ directory contains supporting files used by the generation scripts. These files provide baseline data, configuration profile templates, and payload definitions.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileDescription
    800-53_baselines.yamlNIST 800-53 control baseline definitions
    mscp-data.yamlProject metadata and configuration
    supported_payloads.yamlSupported configuration profile payloads
    pwpolicy.xmlPassword policy configuration template
    com.apple.alf.private_data.mobileconfigApplication firewall profile template
    com.apple.security.authorization.mobileconfigSecurity authorization profile template
    enablePF-mscp.shPacket filter enablement script
    +
    + + +

    Defines which configuration profile payloads the project supports. When adding custom rules that use new payloads, add them here.

    + +

    Contains the NIST 800-53 control mappings used by the -c flag in generate_baseline.py to output controls covered by rules.

    + +

    Project-wide metadata including version information and default settings.

    +
    + +
    • Directoryincludes/ +
      • 800-53_baselines.yaml
      • mscp-data.yaml
      • supported_payloads.yaml
      • pwpolicy.xml
      • com.apple.alf.private_data.mobileconfig
      • com.apple.security.authorization.mobileconfig
      • enablePF-mscp.sh
    +
    +
      -
    • Build validation scripts
    • -
    • Generate mobileconfig files
    • -
    • Assemble guide documents
    • +
    • Directory Layout - Repository structure overview
    • +
    • Customize Rules - Add custom payloads for new rules
    -

    Purpose:
    -Centralize supporting YAML files so scripts can efficiently parse and reuse information across different outputs.

    -

    Tip:
    -Keep this directory organized and up-to-date to ensure all scripts have access to the latest supporting data.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/repository/rule-file-layout/index.html b/repository/rule-file-layout/index.html index 80886116..22b25923 100644 --- a/repository/rule-file-layout/index.html +++ b/repository/rule-file-layout/index.html @@ -1,4 +1,4 @@ - Rules File Layout | mSCP - Skip to content
    Skip to content

    Rules File Layout

    A rule file defines a single security control for macOS. Each rule is written in YAML and should follow the structure below.

    - - -

    A unique identifier for the rule. This should match the filename (without the .yaml extension).

    - -

    A human-readable title for the rule.

    - -

    A concise description of the rule’s intent and context.

    - -

    A shell-based or script-based check to validate compliance.

    - -

    The expected result from the check.

    - -

    Remediation steps or configuration to enforce the rule. If a fix includes [source,bash], it will be used for script generation.

    - -

    Mappings to CCEs, security frameworks, and controls relevant to the rule.

    - -

    The macOS versions for which this rule is validated.

    - -

    (Optional) Organization Defined Values. If present, should include a hint and default/recommended values.

    - -

    Keywords for categorizing and searching rules.

    - -

    The severity level of the rule (e.g., low, medium, high).

    - -

    Set to true if the rule can be enforced via a configuration profile.

    - -

    Required if mobileconfig is true. Contains the configuration profile payload.

    +

    Rule File Layout

    A rule file defines a single security control for macOS. Each rule is written in YAML and must follow the structure below.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    idUnique identifier matching the filename (without .yaml)
    titleHuman-readable title for the rule
    discussionDescription of the rule’s intent and context
    checkShell command or script to validate compliance
    resultExpected result from the check
    fixRemediation steps or configuration to enforce the rule
    tagsKeywords for categorizing and filtering rules
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    referencesMappings to CCEs, security frameworks, and controls
    macOSmacOS versions this rule is validated for
    odvOrganization Defined Values with hint and defaults
    severitySeverity level (low, medium, high)
    mobileconfigSet to true if enforceable via configuration profile
    mobileconfig_infoConfiguration profile payload (required if mobileconfig is true)
    ddm_infoDDM configuration declaration (for DDM-supported settings)
    +
    + +

    The references field maps to various compliance frameworks:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyFramework
    cceCommon Configuration Enumeration
    cciControl Correlation Identifier
    800-53r5NIST SP 800-53 Rev 5
    800-53r4NIST SP 800-53 Rev 4
    800-171r3NIST SP 800-171 Rev 3
    srgSecurity Requirements Guide
    disa_stigDISA STIG identifiers
    cisCIS Benchmarks and Controls
    cmmcCMMC level mappings

    -
    id: system_settings_bluetooth_disable
    title: Disable Bluetooth When no Approved Device is Connected
    discussion: |
    The macOS system _MUST_ be configured to disable Bluetooth unless there is an approved device connected.
    -
    [IMPORTANT]
    ====
    Information System Security Officers (ISSOs) may make the risk-based decision not to disable Bluetooth, so as to maintain necessary functionality, but they are advised to first fully weigh the potential risks posed to their organization.
    ====
    check: |
    /usr/bin/osascript -l JavaScript << EOS
    $.NSUserDefaults.alloc.initWithSuiteName('com.apple.MCXBluetooth')\
    .objectForKey('DisableBluetooth').js
    EOS
    result:
    string: 'true'
    fix: |
    This is implemented by a Configuration Profile.
    references:
    cce:
    - CCE-94352-2
    cci:
    - CCI-001967
    - CCI-002418
    800-53r5:
    - AC-18
    - SC-8
    - AC-18(3)
    800-53r4:
    - AC-18(3)
    - SC-8
    srg:
    - SRG-OS-000423-GPOS-00187
    - SRG-OS-000481-GPOS-00481
    - SRG-OS-000480-GPOS-00228
    disa_stig:
    - APPL-15-002062
    800-171r2:
    - 3.13.8
    - N/A
    800-171r3:
    - 03.01.16
    - 03.13.08
    cis:
    benchmark:
    - N/A
    controls v8:
    - 4.8
    - 12.6
    - 13.9
    cmmc:
    - AC.L2-3.1.16
    macOS:
    - '15.0'
    tags:
    - 800-53r5_low
    - 800-53r4_moderate
    - 800-53r4_high
    - 800-53r5_moderate
    - 800-53r5_high
    - 800-171
    - cisv8
    - cnssi-1253_low
    - cnssi-1253_high
    - cmmc_lvl2
    - stig
    - cnssi-1253_moderate
    severity: high
    mobileconfig: true
    mobileconfig_info:
    com.apple.ManagedClient.preferences:
    com.apple.MCXBluetooth:
    DisableBluetooth: true
    \ No newline at end of file +
    id: system_settings_bluetooth_disable
    title: Disable Bluetooth When no Approved Device is Connected
    discussion: |
    The macOS system _MUST_ be configured to disable Bluetooth unless
    there is an approved device connected.
    check: |
    /usr/bin/osascript -l JavaScript << EOS
    $.NSUserDefaults.alloc.initWithSuiteName('com.apple.MCXBluetooth')\
    .objectForKey('DisableBluetooth').js
    EOS
    result:
    string: 'true'
    fix: |
    This is implemented by a Configuration Profile.
    references:
    cce:
    - CCE-94352-2
    800-53r5:
    - AC-18
    - SC-8
    disa_stig:
    - APPL-15-002062
    macOS:
    - '15.0'
    tags:
    - 800-53r5_moderate
    - 800-53r5_high
    - stig
    severity: high
    mobileconfig: true
    mobileconfig_info:
    com.apple.ManagedClient.preferences:
    com.apple.MCXBluetooth:
    DisableBluetooth: true
    + +
    + + +
    \ No newline at end of file diff --git a/repository/script-arguments-list/index.html b/repository/script-arguments-list/index.html index 28d984fe..0db5962f 100644 --- a/repository/script-arguments-list/index.html +++ b/repository/script-arguments-list/index.html @@ -1,4 +1,4 @@ - Scripts Arugments List | mSCP - Skip to content
    Skip to content

    Scripts Arugments List

    This page explains the main scripts used for generating content in this repository, including their arguments and usage examples.

    +

    Script Arguments

    This page documents the command-line arguments for the main generation scripts.


    - -

    Generates various outputs from a baseline YAML file:

    + +

    Generates documentation, configuration profiles, compliance scripts, and DDM components from a baseline.

    +
    Terminal window
    ./scripts/generate_guidance.py [OPTIONS] BASELINE
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ArgumentDescription
    BASELINEPath to the baseline YAML file (required)
    -h, --helpShow help message
    -a NAME, --audit_name NAMEName for audit plist and log (defaults to baseline name)
    -D, --ddmGenerate DDM components
    -l LOGO, --logo LOGOPath to logo file for the guide
    -p, --profilesGenerate individual configuration profiles
    -P, --consolidated-profileGenerate a single consolidated profile
    -r REFERENCE, --reference REFERENCEUse reference ID instead of rule ID
    -s, --scriptGenerate the compliance script
    -x, --xlsGenerate Excel document
    -H HASH, --hash HASHSign profiles with subject key ID
    + +
    + +

    Creates baseline YAML files by collecting rules with matching tags.

    +
    Terminal window
    ./scripts/generate_baseline.py [OPTIONS]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ArgumentDescription
    -h, --helpShow help message
    -c, --controlsOutput the 800-53 controls covered by the rules
    -k KEYWORD, --keyword KEYWORDTag to collect rules containing the tag
    -l, --list_tagsList available keyword tags
    -t, --tailorCustomize baseline with organization values
    + +
    + +

    Creates SCAP 1.4 datastream, XCCDF, and OVAL documents.

    +
    Terminal window
    ./scripts/generate_scap.py [OPTIONS]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ArgumentDescription
    -h, --helpShow help message
    -x, --xccdfGenerate XCCDF file only
    -o, --ovalGenerate OVAL file only
    -l, --list_tagsList available keyword tags
    -b BASELINE, --baseline BASELINEGenerate for a specific baseline
    -d FILE, --disastig FILEInclude DISA STIG references from file
    + +
    + +

    Creates custom rules and baselines for unsupported compliance frameworks.

    +
    Terminal window
    ./scripts/generate_mapping.py [OPTIONS] CSV_FILE
    + + + + + + + + + + + + + + + + + + + + + +
    ArgumentDescription
    CSV_FILEPath to CSV mapping file (required)
    -h, --helpShow help message
    -f FRAMEWORK, --framework FRAMEWORKSource framework to map from (default: 800-53r5)
    +
    + -

    Usage:

    -
    Terminal window
    python3 ./scripts/generate_guidance.py -h
    usage: generate_guidance.py [-h] [-l LOGO] [-p] [-r REFERENCE] [-s] [-x] [-H HASH] baseline
    -
    Given a baseline, create guidance documents and files.
    -
    positional arguments:
    baseline Baseline YAML file used to create the guide.
    -
    optional arguments:
    -h, --help Show this help message and exit.
    -l LOGO, --logo LOGO Full path to logo file to be included in the guide.
    -p, --profiles Generate configuration profiles for the rules.
    -r REFERENCE, --reference REFERENCE
    Use the reference ID instead of rule ID for identification.
    -s, --script Generate the compliance script for the rules.
    -x, --xls Generate the Excel (xls) document for the rules.
    -H HASH, --hash HASH Sign the configuration profiles with subject key ID (hash value without spaces)
    - -

    Example:

    -
    baselines/800-53r5_moderate.yaml
    python3 scripts/generate_guidance.py baselines/800-53r5_moderate.yaml
    # Output:
    # Output path: /Users/mscp/src/macos_security/build/800-53r5_moderate/800-53r5_moderate.adoc
    # Generating HTML file from AsciiDoc...
    # Generating PDF file from AsciiDoc...
    -
    - -

    Creates a baseline.yaml file for content generation. The output is saved under build/baselines.

    -

    Usage:

    -
    Terminal window
    python3 scripts/generate_baseline.py -h
    usage: generate_baseline.py [-h] [-c] [-k KEYWORD] [-l] [-t]
    -
    Given a keyword tag, generate a generic baseline.yaml file containing rules with the tag.
    -
    optional arguments:
    -h, --help Show this help message and exit.
    -c, --controls Output the 800-53 controls covered by the rules.
    -k KEYWORD, --keyword KEYWORD
    Keyword tag to collect rules containing the tag.
    -l, --list_tags List the available keyword tags to search for.
    -t, --tailor Customize the baseline to your organization's values.
    - -

    Example:

    -
    Terminal window
    python3 scripts/generate_baseline.py -k all_rules
    -
    - -

    Creates OVAL checks and SCAP content for compliance automation.

    -

    Usage:

    -
    Terminal window
    usage: generate_scap.py [-h] [-x] [-o] [-l] [-b BASELINE]
    -
    Easily generate xccdf, oval, or scap datastream. If no option is defined, it will generate a SCAP datastream file.
    -
    optional arguments:
    -h, --help Show this help message and exit.
    -x, --xccdf Generate an XCCDF file.
    -o, --oval Generate an OVAL file of the checks.
    -l, --list_tags List the available keyword tags to search for.
    -b BASELINE, --baseline BASELINE
    Choose a baseline to generate an XML file for. If none is specified, it will generate for every rule found.
    -

    Example:

    -
    Terminal window
    git checkout monterey
    python3 scripts/generate_scap.py
    # Builds an SCAP 1.3 document in build/macOS_12.0_Security_Compliance_Benchmark-Revision_3.xml
    \ No newline at end of file +
    \ No newline at end of file diff --git a/repository/sections-file-layout/index.html b/repository/sections-file-layout/index.html index 1f05f5eb..88eed251 100644 --- a/repository/sections-file-layout/index.html +++ b/repository/sections-file-layout/index.html @@ -1,4 +1,4 @@ - Sections File Layout | mSCP - Skip to content
    Skip to content

    Sections File Layout

    The sections/ directory contains YAML files that define the major sections of your security guide. Each section file provides a name and a description, which are used to organize and present rules in generated documentation.

    +

    Sections File Layout

    The sections/ directory contains YAML files that define the major sections of your security guide. Each section file provides a name and description used to organize rules in generated documentation.

    +
    -
      -
    • -

      name:
      -The display name of the section as it will appear in the guide.

      -
    • -
    • -

      description:
      -A description of the section, shown in the guide for context.

      -
    • -
    + + + + + + + + + + + + + + + + + +
    FieldDescription
    nameDisplay name of the section in the guide
    descriptionDescription shown in the guide for context
    +
    name: "iCloud"
    description: |
    This section contains the configuration and enforcement of iCloud and the Apple ID service settings.
    NOTE: The check/fix commands outlined in this section _MUST_ be run by a user with elevated privileges.
    - -

    Below are typical section names you may find in this repository:

    -
    . auditing
    . authentication
    . icloud
    . inherent
    . macos
    . not_applicable
    . passwordpolicy
    . permanent
    . srg
    . supplemental
    . system_settings
    . systempreferences
    -

    Tip:
    -Keep section names and descriptions clear and concise to ensure guides are easy to navigate and understand.

    \ No newline at end of file +
    + +

    The project includes these section files:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    SectionDescription
    auditing.yamlOpenBSM audit configuration
    authentication.yamlAuthentication and smartcard settings
    icloud.yamliCloud and Apple ID settings
    inherent.yamlInherent macOS security features
    macos.yamlGeneral macOS settings
    not_applicable.yamlRules not applicable to this platform
    passwordpolicy.yamlPassword policy settings
    permanent.yamlPermanently enabled security features
    srg.yamlSecurity Requirements Guide mappings
    supplemental.yamlAdditional supporting information
    systemsettings.yamlSystem Settings configuration
    + +
    + + +
    \ No newline at end of file diff --git a/scripts/github-branch-table.js b/scripts/github-branch-table.js new file mode 100644 index 00000000..ed735fe8 --- /dev/null +++ b/scripts/github-branch-table.js @@ -0,0 +1,261 @@ +// GitHub Branch Version Table Script +// Shows macOS version branches with their last update date + +const GITHUB_OWNER = 'usnistgov'; +const GITHUB_REPO = 'macos_security'; +const BRANCH_CONTAINER_ID = 'github-branch-table'; + +// Define the branches with their macOS version info +const BRANCHES = [ + { name: 'tahoe', macOS: 'macOS 26 (Tahoe)', current: true }, + { name: 'sequoia', macOS: 'macOS 15 (Sequoia)', current: false }, + { name: 'sonoma', macOS: 'macOS 14 (Sonoma)', current: false }, + { name: 'dev_2.0', macOS: 'mSCP 2.0 (Beta)', current: false, beta: true }, +]; + +function fetchBranchInfo(branchName) { + return fetch('https://api.github.com/repos/' + GITHUB_OWNER + '/' + GITHUB_REPO + '/branches/' + branchName) + .then(function(res) { + if (!res.ok) return null; + return res.json(); + }) + .then(function(data) { + if (!data) return null; + var commitDate = data.commit && data.commit.commit && data.commit.commit.author && data.commit.commit.author.date; + var sha = data.commit && data.commit.sha ? data.commit.sha.substring(0, 7) : null; + return { + lastCommit: commitDate, + sha: sha + }; + }) + .catch(function() { + return null; + }); +} + +function formatDate(dateString) { + if (!dateString) return 'N/A'; + return new Date(dateString).toLocaleDateString(undefined, { + year: 'numeric', + month: 'short', + day: 'numeric' + }); +} + +function renderBranchTable(branchData) { + var rows = branchData.map(function(branch) { + var badge = ''; + if (branch.current) { + badge = 'Current'; + } else if (branch.beta) { + badge = 'Beta'; + } + var dateDisplay = branch.info + ? formatDate(branch.info.lastCommit) + : 'Loading...'; + + return '' + + '' + + '' + + branch.name + + '' + + badge + + '' + + '' + branch.macOS + '' + + '' + dateDisplay + '' + + '' + + '' + + 'View commits →' + + '' + + '' + + ''; + }).join(''); + + return '
    ' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + rows + + '' + + '
    BranchmacOS VersionLast UpdatedHistory
    ' + + '
    '; +} + +function loadBranchTable() { + const container = document.getElementById(BRANCH_CONTAINER_ID); + if (!container) { + console.error('Branch table container not found'); + return; + } + + // Initial render with loading state + const initialData = BRANCHES.map(function(b) { return Object.assign({}, b, { info: null }); }); + container.innerHTML = renderBranchTable(initialData); + + // Fetch all branch info in parallel + var promises = BRANCHES.map(function(branch) { + return fetchBranchInfo(branch.name).then(function(info) { + return Object.assign({}, branch, { info: info }); + }); + }); + + Promise.all(promises).then(function(branchData) { + container.innerHTML = renderBranchTable(branchData); + }).catch(function(err) { + console.error('Error loading branch data:', err); + }); +} + +function injectBranchTableStyles() { + if (document.getElementById('github-branch-table-style')) return; + const style = document.createElement('style'); + style.id = 'github-branch-table-style'; + style.textContent = ` + .github-branch-table-wrapper { + margin: 1em 0; + border-radius: 12px; + overflow: hidden; + border: 1px solid var(--sl-color-gray-5, #ddd); + } + [data-theme="dark"] .github-branch-table-wrapper { + border-color: var(--sl-color-gray-5, #333); + } + .github-branch-table { + width: 100%; + border-collapse: collapse; + font-size: 0.95em; + } + .github-branch-table thead { + background: var(--sl-color-accent-low, #e8f5e9); + } + [data-theme="dark"] .github-branch-table thead { + background: rgba(49, 100, 49, 0.2); + } + .github-branch-table th { + text-align: left; + padding: 0.75em 1em; + font-weight: 600; + color: var(--sl-color-text, #333); + border-bottom: 2px solid var(--sl-color-accent, #316431); + } + [data-theme="dark"] .github-branch-table th { + color: var(--sl-color-white, #fff); + } + .github-branch-table td { + padding: 0.7em 1em; + border-bottom: 1px solid var(--sl-color-gray-6, #eee); + vertical-align: middle; + } + [data-theme="dark"] .github-branch-table td { + border-bottom-color: var(--sl-color-gray-5, #333); + } + .github-branch-table tbody tr:last-child td { + border-bottom: none; + } + .github-branch-table tbody tr:hover { + background: var(--sl-color-gray-7, #f9f9f9); + } + [data-theme="dark"] .github-branch-table tbody tr:hover { + background: rgba(255,255,255,0.03); + } + .branch-link { + color: var(--sl-color-accent, #316431); + font-weight: 600; + text-decoration: none; + } + .branch-link:hover { + text-decoration: underline; + } + [data-theme="dark"] .branch-link { + color: var(--sl-color-accent-high, #6ab549); + } + .branch-current-badge { + display: inline-block; + background: var(--sl-color-green, #316431); + color: #fff; + font-size: 0.7em; + font-weight: 600; + padding: 0.15em 0.5em; + border-radius: 4px; + margin-left: 0.5em; + vertical-align: middle; + } + [data-theme="dark"] .branch-current-badge { + background: var(--sl-color-green-high, #6ab549); + color: #111; + } + .branch-beta-badge { + display: inline-block; + background: var(--sl-color-orange, #f5a623); + color: #111; + font-size: 0.7em; + font-weight: 600; + padding: 0.15em 0.5em; + border-radius: 4px; + margin-left: 0.5em; + vertical-align: middle; + } + [data-theme="dark"] .branch-beta-badge { + background: var(--sl-color-orange-high, #ffc670); + color: #111; + } + .branch-date { + color: var(--sl-color-gray-2, #666); + } + [data-theme="dark"] .branch-date { + color: var(--sl-color-gray-3, #aaa); + } + .branch-commits-link { + color: var(--sl-color-gray-2, #666); + font-size: 0.9em; + text-decoration: none; + } + .branch-commits-link:hover { + color: var(--sl-color-accent, #316431); + text-decoration: underline; + } + [data-theme="dark"] .branch-commits-link { + color: var(--sl-color-gray-3, #aaa); + } + [data-theme="dark"] .branch-commits-link:hover { + color: var(--sl-color-accent-high, #6ab549); + } + .branch-loading { + color: var(--sl-color-gray-3, #999); + font-style: italic; + } + @media (max-width: 600px) { + .github-branch-table th, + .github-branch-table td { + padding: 0.5em 0.6em; + font-size: 0.9em; + } + .github-branch-table th:nth-child(4), + .github-branch-table td:nth-child(4) { + display: none; + } + } + `; + document.head.appendChild(style); +} + +// Run immediately if DOM is already loaded, otherwise wait for it +function init() { + console.log('Branch table script initializing...'); + injectBranchTableStyles(); + loadBranchTable(); + console.log('Branch table script initialized'); +} + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', init); +} else { + init(); +} diff --git a/scripts/github-latest-release.js b/scripts/github-latest-release.js index cff23073..3cd9a2b4 100644 --- a/scripts/github-latest-release.js +++ b/scripts/github-latest-release.js @@ -20,18 +20,35 @@ function renderReleaseInfo({ tag_name, name, html_url, published_at, body }) { (match, url) => `Full Changelog` ); - notes = `
    ${notes}
    `; + notes = `
    ${notes}
    `; } return `
    - - ${name || tag_name} - - (${tag_name}) - ${date ? `
    Released: ${date}
    ` : ''} +
    + + + + + +
    + + ${name || tag_name} + + ${tag_name} +
    +
    + ${date ? `
    Released: ${date}
    ` : ''} ${notes} -
    - + @@ -69,56 +86,151 @@ function injectReleaseBoxStyles() { style.id = 'github-release-style'; style.textContent = ` .github-release-info { - border-radius: 12px; - padding: 1.25em 1.5em; - margin: 1.5em 0; - border: 1px solid #cbd3d8ff; - background: var(--sl-color-bg, #fff); - color: var(--sl-color-text, #316431); - box-shadow: 0 2px 8px 0 rgba(60,60,60,0.06); - transition: background 0.2s, color 0.2s, border-color 0.2s; + border-radius: 8px; + padding: 1em 1.25em; + margin: 1em 0; + border: 1px solid var(--sl-color-gray-5, #ddd); + border-left: 3px solid var(--sl-color-accent, #316431); + background: transparent; + color: var(--sl-color-text, #333); + transition: border-color 0.15s ease; + } + .github-release-info:hover { + border-color: var(--sl-color-accent, #316431); + border-left-color: var(--sl-color-accent, #316431); } [data-theme="dark"] .github-release-info { - background: var(--sl-color-bg, #161b22); - color: var(--sl-color-text, #6ab549); - border-color: #2d3133ff; - box-shadow: 0 2px 8px 0 rgba(0,0,0,0.10); + background: transparent; + color: var(--sl-color-text, #ccc); + border-color: var(--sl-color-gray-5, #2a2d35); + border-left-color: var(--sl-color-accent-high, #6ab549); } - .github-release-info a { + [data-theme="dark"] .github-release-info:hover { + border-color: var(--sl-color-accent-high, #6ab549); + } + .github-release-header { + display: flex; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.5rem; + } + .github-release-icon { color: var(--sl-color-accent, #316431); - text-decoration: none; - font-weight: 500; - transition: color 0.2s; + flex-shrink: 0; + opacity: 0.7; } - [data-theme="dark"] .github-release-info a { + [data-theme="dark"] .github-release-icon { color: var(--sl-color-accent-high, #6ab549); + opacity: 0.8; } - .github-release-info a:hover { + .github-release-title-group { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.5rem; + } + .github-release-title { + color: var(--sl-color-text, #111); + font-size: 1.15em; + font-weight: 600; + text-decoration: none; + } + .github-release-title:hover { text-decoration: underline; } - .github-release-info span { - color: #888; - font-size: 0.9em; - } - [data-theme="dark"] .github-release-info span { - color: #aaa; - } - .github-release-info strong { - color: #111; - font-size: 1.08em; - } - [data-theme="dark"] .github-release-info strong { + [data-theme="dark"] .github-release-title { color: #fff; } + .github-release-tag { + background: rgba(0,0,0,0.06); + color: var(--sl-color-gray-2, #666); + font-size: 0.75em; + font-weight: 600; + padding: 0.2em 0.6em; + border-radius: 4px; + } + [data-theme="dark"] .github-release-tag { + background: rgba(255,255,255,0.1); + color: var(--sl-color-gray-2, #aaa); + } + .github-release-date { + font-size: 0.9em; + color: var(--sl-color-gray-3, #666); + margin-bottom: 0.5rem; + } + [data-theme="dark"] .github-release-date { + color: var(--sl-color-gray-2, #aaa); + } .github-release-notes { + margin-top: 0.75em; + font-size: 0.95em; + color: var(--sl-color-text, #444); + white-space: pre-line; overflow-wrap: anywhere; word-break: break-word; + padding: 0.75em; + background: rgba(0,0,0,0.015); + border-radius: 6px; + border: 1px solid rgba(0,0,0,0.04); + } + [data-theme="dark"] .github-release-notes { + background: rgba(255,255,255,0.02); + border-color: rgba(255,255,255,0.05); + } + .github-release-links { + display: flex; + align-items: center; + gap: 1rem; + margin-top: 1rem; + flex-wrap: wrap; + } + .github-release-btn { + display: inline-flex; + align-items: center; + gap: 0.4rem; + background: var(--sl-color-accent, #316431); + color: #fff !important; + padding: 0.5em 1em; + border-radius: 6px; + font-size: 0.9em; + font-weight: 500; + text-decoration: none !important; + transition: background 0.2s, transform 0.2s; + } + .github-release-btn:hover { + opacity: 0.9; + transform: translateY(-1px); + } + [data-theme="dark"] .github-release-btn { + background: var(--sl-color-accent-high, #6ab549); + color: #111 !important; + } + [data-theme="dark"] .github-release-btn:hover { + opacity: 0.9; + } + .github-release-link { + color: var(--sl-color-accent, #316431); + font-size: 0.9em; + text-decoration: none; + } + .github-release-link:hover { + text-decoration: underline; + } + [data-theme="dark"] .github-release-link { + color: var(--sl-color-accent-high, #6ab549); } `; document.head.appendChild(style); } -window.addEventListener('DOMContentLoaded', () => { +// Run immediately if DOM is already loaded, otherwise wait for it +function initRelease() { injectReleaseBoxStyles(); fetchLatestRelease(); -}); +} + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initRelease); +} else { + initRelease(); +} diff --git a/sitemap-0.xml b/sitemap-0.xml index 61383a95..2419167b 100644 --- a/sitemap-0.xml +++ b/sitemap-0.xml @@ -1 +1 @@ -https://pages.nist.gov/macos_securityhttps://pages.nist.gov/macos_security/baselines/baseline-file-layout/https://pages.nist.gov/macos_security/baselines/how-to-generate-baselines/https://pages.nist.gov/macos_security/baselines/tailoring-a-baseline/https://pages.nist.gov/macos_security/baselines/what-are-baselines/https://pages.nist.gov/macos_security/compliance-scripts/compliance-script-layout/https://pages.nist.gov/macos_security/compliance-scripts/how-to-generate-compliance-scripts/https://pages.nist.gov/macos_security/compliance-scripts/what-are-compliance-scripts/https://pages.nist.gov/macos_security/configuration-profiles/configuration-profile-layout/https://pages.nist.gov/macos_security/configuration-profiles/how-to-generate-configuration-profiles/https://pages.nist.gov/macos_security/configuration-profiles/what-are-configuration-profiles/https://pages.nist.gov/macos_security/ddm-components/ddm-component-layout/https://pages.nist.gov/macos_security/ddm-components/how-to-generate-ddm-components/https://pages.nist.gov/macos_security/ddm-components/what-is-ddm/https://pages.nist.gov/macos_security/guidance/guidance-file-example/https://pages.nist.gov/macos_security/guidance/how-to-generate-guidance/https://pages.nist.gov/macos_security/guidance/what-is-guidance/https://pages.nist.gov/macos_security/more-information/additional-documents/https://pages.nist.gov/macos_security/more-information/contributing/https://pages.nist.gov/macos_security/more-information/faq/https://pages.nist.gov/macos_security/more-information/resources/https://pages.nist.gov/macos_security/more-information/vendor-attribution/https://pages.nist.gov/macos_security/other/generate-mapping/https://pages.nist.gov/macos_security/other/generate-scap/https://pages.nist.gov/macos_security/personalization/customize-rules/https://pages.nist.gov/macos_security/personalization/exempting-rules/https://pages.nist.gov/macos_security/personalization/tailoring-rules/https://pages.nist.gov/macos_security/repository/directory-layout/https://pages.nist.gov/macos_security/repository/includes-directory/https://pages.nist.gov/macos_security/repository/rule-file-layout/https://pages.nist.gov/macos_security/repository/script-arguments-list/https://pages.nist.gov/macos_security/repository/sections-file-layout/https://pages.nist.gov/macos_security/welcome/getting-started/https://pages.nist.gov/macos_security/welcome/introduction/https://pages.nist.gov/macos_security/welcome/quick-guide/ \ No newline at end of file +https://pages.nist.gov/macos_security/https://pages.nist.gov/macos_security/baselines/baseline-file-layout/https://pages.nist.gov/macos_security/baselines/how-to-generate-baselines/https://pages.nist.gov/macos_security/baselines/tailoring-a-baseline/https://pages.nist.gov/macos_security/baselines/what-are-baselines/https://pages.nist.gov/macos_security/compliance-scripts/compliance-script-layout/https://pages.nist.gov/macos_security/compliance-scripts/how-to-generate-compliance-scripts/https://pages.nist.gov/macos_security/compliance-scripts/what-are-compliance-scripts/https://pages.nist.gov/macos_security/configuration-profiles/configuration-profile-layout/https://pages.nist.gov/macos_security/configuration-profiles/how-to-generate-configuration-profiles/https://pages.nist.gov/macos_security/configuration-profiles/what-are-configuration-profiles/https://pages.nist.gov/macos_security/ddm-components/ddm-component-layout/https://pages.nist.gov/macos_security/ddm-components/how-to-generate-ddm-components/https://pages.nist.gov/macos_security/ddm-components/what-is-ddm/https://pages.nist.gov/macos_security/guidance/guidance-file-example/https://pages.nist.gov/macos_security/guidance/how-to-generate-guidance/https://pages.nist.gov/macos_security/guidance/what-is-guidance/https://pages.nist.gov/macos_security/more-information/additional-documents/https://pages.nist.gov/macos_security/more-information/contributing/https://pages.nist.gov/macos_security/more-information/faq/https://pages.nist.gov/macos_security/more-information/resources/https://pages.nist.gov/macos_security/more-information/vendor-attribution/https://pages.nist.gov/macos_security/mscp-2/overview/https://pages.nist.gov/macos_security/other/generate-mapping/https://pages.nist.gov/macos_security/other/generate-scap/https://pages.nist.gov/macos_security/personalization/customize-rules/https://pages.nist.gov/macos_security/personalization/exempting-rules/https://pages.nist.gov/macos_security/personalization/tailoring-rules/https://pages.nist.gov/macos_security/repository/directory-layout/https://pages.nist.gov/macos_security/repository/includes-directory/https://pages.nist.gov/macos_security/repository/rule-file-layout/https://pages.nist.gov/macos_security/repository/script-arguments-list/https://pages.nist.gov/macos_security/repository/sections-file-layout/https://pages.nist.gov/macos_security/welcome/getting-started/https://pages.nist.gov/macos_security/welcome/introduction/https://pages.nist.gov/macos_security/welcome/quick-guide/ \ No newline at end of file diff --git a/welcome/getting-started/index.html b/welcome/getting-started/index.html index 281fec13..69cf1294 100644 --- a/welcome/getting-started/index.html +++ b/welcome/getting-started/index.html @@ -1,4 +1,4 @@ - Getting Started | mSCP - Skip to content
    Skip to content

    Getting Started

    The macOS Security Compliance Project is developed and maintained on GitHub.
    -Each branch of the repository contains the rules and resources specific to a particular macOS version. To work with the project or run its workflows, there are some prerequisites you need to install first.

    +

    Getting Started

    Get the project files on your Mac and install the required packages. This takes about 5 minutes.

    +
    - -

    Before you begin, ensure you have the following installed on your system:

    -
      -
    • Git (optional, only needed if you want to clone the repository instead of downloading files directly from GitHub)
      -Download Git or use your system’s package manager (see note below).
    • -
    • Python 3 (required for running the project scripts and generating files)
      -Download Python or install via your package manager (see note below). -
        -
      • Python modules: -
          -
        • pyyaml
        • -
        • xlwt
        • -
        • These can be installed using pip after Python is set up.
          -For example: + +
            +
          1. + +

            macOS includes Python 3. Just install the required packages:

            Terminal window
            pip3 install pyyaml xlwt --user
            +

            Optional — for PDF output, also install Ruby gems:

            +
            Terminal window
            gem install asciidoctor asciidoctor-pdf rouge --user-install
            +
            Want isolated installs? Click to expand

            A virtual environment keeps packages separate from your system Python — useful if you don’t want to install packages globally or need to avoid conflicts.

            Python virtual environment:

            Terminal window
            # Create environment (once)
            python3 -m venv venv
            +
            # Activate before running scripts
            source venv/bin/activate
            +
            # Install packages inside the environment
            pip3 install -r requirements.txt
            +
            # When done, deactivate
            deactivate

            Ruby local bundle:

            Terminal window
            bundle install --path vendor/bundle
          2. -
        +
      • + +

        Option A: Clone with Git (recommended)

        +
        Terminal window
        git clone https://github.com/usnistgov/macos_security.git
        cd macos_security
        git checkout sequoia
        +

        Replace sequoia with your target macOS version.

        +

        Option B: Download ZIP

        +
          +
        1. Go to the GitHub repository
        2. +
        3. Click the branch dropdown and select your macOS version
        4. +
        5. Click CodeDownload ZIP
        6. +
        7. Extract and open the folder
        8. +
      • -
      +
    • + +

      Run this command to confirm everything works:

      +
      Terminal window
      ./scripts/generate_baseline.py -l
      +

      You should see a list of available baselines.

    • -
    • Ruby (optional, only needed for working with certain documentation formats)
      -Download Ruby or install via your package manager (see note below). + +
      + +

      With the project set up, you can:

        -
      • Gems: -
          -
        • asciidoctor
        • -
        • asciidoctor-pdf
        • -
        • rouge
        • -
        • These can be installed using gem or bundle after Ruby is set up.
        • -
        -
      • -
      -
    • +
    • Generate baselines — Create YAML files for security frameworks (NIST, CIS, DISA STIG, etc.)
    • +
    • Generate guidance — Produce HTML/PDF documentation for your baseline
    • +
    • Create configuration profiles — Deploy settings via MDM
    • +
    • Run compliance checks — Scan Macs against your baseline
    • +
    • Customize rules — Tailor settings to your organization’s needs

    - -

    You can obtain the project files in one of two ways:

    + + +

    Or explore specific topics:

    • -

      Download directly from GitHub:

      -

      Visit the GitHub repository, select the branch that matches your target OS version (e.g., sequoia) using the branch dropdown, then use the “Download ZIP” option.

      - -If you download the ZIP for the correct branch, you can skip to Working with Project Files. +How to Generate Baselines
    • -
    -

    OR

    -
    • -

      Clone using Git:

      -
      Terminal window
      git clone https://github.com/usnistgov/macos_security.git
      cd macos_security
      -

      Then, continue below to select the correct branch.

      +How to Generate Guidance
    • -
    -
    - -

    Before you begin working, select the repository branch that corresponds to the macOS version you intend to work with.

    - -

    To switch to the appropriate branch:

    -
    Terminal window
    git checkout sequoia
    -
    - -

    All the files you will work with are located in the macos_security folder. The contents of this folder are specific to the branch you have selected and include the tools and resources required to generate project outputs.

    -

    Within this folder, you can:

    -
      -
    • Generate baselines
    • -
    • Produce guidance documentation
    • -
    • Create DDM and SCAP content
    • -
    • Generate mappings and compliance scripts
    • -
    • Make exemptions
    • -
    • Customize and tailor the output content to your needs
    • -
    -

    For next steps, feel free to check out the Quick Guide for a quick overview, explore the Guides section of this website, or visit the project’s wiki.

    \ No newline at end of file +
  • +How to Generate Configuration Profiles +
  • +
    \ No newline at end of file diff --git a/welcome/introduction/index.html b/welcome/introduction/index.html index 3db000db..4f9e0513 100644 --- a/welcome/introduction/index.html +++ b/welcome/introduction/index.html @@ -1,4 +1,4 @@ - Introduction | mSCP - Skip to content
    Skip to content

    Introduction

    The macOS Security Compliance Project is an open source initiative providing a programmatic approach to generating security guidance for macOS. This project enables the creation of customized security baselines by leveraging a comprehensive library of rules mapped to compliance requirements from established security guides, or for developing custom guidance.

    -

    By mapping security-enhancing rules to existing guides and policies, this project supports multiple security frameworks and regulated industry policies. Documentation and QA are uniformly managed, simplifying and accelerating the annual update process through unified and standardized efforts.

    +

    Introduction

    The macOS Security Compliance Project (mSCP) is an open source effort to provide a programmatic approach to generating security guidance for macOS.

    +

    The project maintains a library of security rules, each mapped to one or more compliance frameworks (NIST 800-53, CIS Benchmarks, DISA STIG, and others). You select a framework, run a script, and generate tailored outputs: baseline YAML files, human-readable guidance documents, MDM configuration profiles, and shell scripts for checking and remediating settings.

    +

    mSCP was created by a collaboration of federal agencies including NIST, NASA, DISA, and Los Alamos National Lab. It is recognized by Apple and updated with each major macOS release to ensure guidance stays current.

    + +
    + +

    Run the scripts and generate:

    +
      +
    • Security baselines - YAML files defining which rules apply to your environment
    • +
    • Guidance documents - HTML and PDF documentation for auditors and teams
    • +
    • Configuration profiles - Ready-to-deploy .mobileconfig files for MDM
    • +
    • Compliance scripts - Shell scripts to check and fix settings on any Mac
    • +
    • SCAP/OVAL content - For compliance scanning tools
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RoleHow You’ll Use It
    System AdministratorsGenerate profiles and scripts to harden Macs
    Security ProfessionalsAudit systems against compliance frameworks
    Policy AuthorsCreate or customize baselines for your org
    MDM/Compliance VendorsIntegrate trusted security guidance into products
    Privacy OfficersVerify privacy controls are in place
    +
    + +

    Government

    Industry

    International

    • indigo Germany, iOS only
    • BIO Netherlands
    • NLMAPGOV Apple Baselines Base, Plus
    +
      -
    • Accelerate Adoption: Ensure guidance is available for new OS/hardware releases.
    • -
    • Reduce Global Effort: Unify and consolidate compliance work into a single project.
    • -
    • Foster Collaboration: Develop methodologies to reduce overhead and redundancy among baseline authors.
    • -
    • Standardize Controls: Unify the approach to setting security controls.
    • -
    • Inform Vendors: Provide MDM/EMM/security/audit vendors and Apple with insight into customer hardening needs.
    • -
    - -
    - -

    The project includes guidance from the following sources:

    - -
      -
    • NIST 800-53 (link) -
        -
      • FISMA High
      • -
      • FISMA Moderate
      • -
      • FISMA Low
      • -
      -
    • -
    • NIST 800-171 (link)
    • -
    • DISA STIG (link)
    • -
    • CMMC 2.0 (link)
    • -
    • CNSSI-1253 (link)
    • -
    • indigo (link) -
        -
      • indigo Base (iOS Only)
      • -
      • indigo High (iOS Only)
      • -
      -
    • -
    • BIO (Link and Link)
    • -
    • NLMAPGOV Apple Baselines -
        -
      • NLMAPGOV Base
      • -
      • NLMAPGOV Plus
      • -
      -
    • -
    - -
      -
    • CIS Benchmarks (link)
    • -
    • CIS Critical Security Controls v8 (link)
    • +
    • Ready when you are - Guidance available for new macOS releases
    • +
    • Single source of truth - One project, many frameworks
    • +
    • Community-driven - Collaborate instead of duplicating effort
    • +
    • Recognized by Apple - Built with input from Apple’s security team

    -

    This project is a collaboration between federal IT Security staff and macOS Administrators, published by:

    +

    A collaboration between federal IT security staff and macOS administrators:

    -
    - -

    To develop an extensible, modern approach to security guidance usable by any organization (Government, Enterprise, Education) needing to adhere to security compliance frameworks and policy. Project outputs include scripts, documentation, and configuration profile payloads for use with modern management tools.

    -
    - -
      -
    • System Administrators: Generate baseline documentation, configuration profile payloads, and scripts.
    • -
    • Security Professionals: Review reporting of applied controls against guidance.
    • -
    • Policy Authors: Map policy metadata to a library of verified controls to create or update baselines.
    • -
    • MDM/EMM/Security/Compliance Tool Vendors: Support configuration, verification, and reporting of security guidance and controls in products using trusted source material.
    • -
    • Privacy Officers: Ensure adequate privacy controls are enabled for institutional organizations.
    • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/welcome/quick-guide/index.html b/welcome/quick-guide/index.html index 538a10c5..2fc7b531 100644 --- a/welcome/quick-guide/index.html +++ b/welcome/quick-guide/index.html @@ -1,4 +1,4 @@ - Quick Guide | mSCP - Skip to content
    Skip to content

    Quick Guide

    If you’re new to the project, start with this Quick Guide for a high-level overview of the workflow. After reviewing these steps, check out each step’s corresponding “How To” section in the documentation menu. These sections explain in more detail what each step does, why it’s important, and what outputs to expect.

    -

    This quick guide provides a high-level overview of the steps required to generate all files with the macOS Security Compliance Project.

    - -
    1. 1. Prepare Your Environment
      • Ensure all prerequisites are installed (Python, required modules, etc.).
      • Download or clone the repository.
    2. 2. Verify and Select the Correct Branch
      • Checkout the branch that matches your target OS version (e.g., sequoia).
    3. 3. Generate a Baseline
    4. 4. Personalize: Customize RulesOptional
      • Customize rules by modifying or adding rule YAML files in the custom folder as needed.
    5. 5. Generate Guidance DocumentationOptional
    6. 6. Generate Configuration Profiles
      • Add the -p flag to generate_guidance.py to generate configuration profiles for supported rules.
    7. 7. Generate DDM Content
      • Add the -D flag to generate_guidance.py to generate Declarative Device Management (DDM) components.
    8. 8. Generate Compliance Scripts
      • Add the -s flag to generate_guidance.py to generate a compliance script for automated checking and remediation.
    9. 9. Make ExemptionsOptional
      • Customize or exempt specific rules as needed for your environment.
    -
    \ No newline at end of file +

    Quick Guide

    + + +
    + +Already completed Getting Started? Skip to Step 3: Generate a Baseline. +
      +
    1. + +

      macOS includes Python 3 and Ruby. You just need to install the packages:

      +

      Python packages (required):

      +
      Terminal window
      pip3 install pyyaml xlwt --user
      +

      Ruby gems (optional — only needed for PDF output):

      +
      Terminal window
      gem install asciidoctor asciidoctor-pdf rouge --user-install
      +
      Want isolated installs? Click to expand

      A virtual environment keeps packages separate from your system Python — useful if you don’t want to install packages globally or need to avoid conflicts.

      Python virtual environment:

      Terminal window
      # Create environment (once)
      python3 -m venv venv
      +
      # Activate before running scripts
      source venv/bin/activate
      +
      # Install packages inside the environment
      pip3 install -r requirements.txt
      +
      # When done, deactivate
      deactivate

      Ruby local bundle:

      Terminal window
      bundle install --path vendor/bundle
      +
    2. +
    3. + +
      Terminal window
      git clone https://github.com/usnistgov/macos_security.git
      cd macos_security
      git checkout sequoia
      +

      Replace sequoia with your target macOS version.

      +
    4. +
    5. + +

      List baselines: ./scripts/generate_baseline.py -l

      Generate: ./scripts/generate_baseline.py -k BASELINE_NAME

      With tailoring: ./scripts/generate_baseline.py -k BASELINE_NAME -t

      +
      Terminal window
      # Example: Generate NIST 800-53 Moderate baseline
      ./scripts/generate_baseline.py -k 800-53r5_moderate
      +
    6. +
    7. + +

      Run generate_guidance.py with the flags you need:

      +
      Terminal window
      ./scripts/generate_guidance.py [flags] baselines/BASELINE_NAME.yaml
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FlagOutput
      (none)Guidance docs (.adoc, .html, .pdf)
      -sCompliance script
      -pConfiguration profiles (one per payload)
      -PSingle consolidated profile
      -DDDM components
      -xExcel spreadsheet
      +

      Example — Generate all common outputs:

      +
      Terminal window
      ./scripts/generate_guidance.py -s -p -x baselines/800-53r5_moderate.yaml
      +
    8. +
    9. + +

      Everything goes to build/BASELINE_NAME/:

      +
      build/800-53r5_moderate/
      ├── 800-53r5_moderate.adoc
      ├── 800-53r5_moderate.html
      ├── 800-53r5_moderate.pdf
      ├── 800-53r5_moderate_compliance.sh
      ├── mobileconfigs/
      ├── preferences/
      ├── activations/ ← DDM (if -D used)
      ├── assets/
      └── configurations/
      +
    10. +
    +
    + + +

    Interactive mode:

    +
    Terminal window
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh
    +

    Automated mode:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagWhat it does
    --checkRun checks only
    --fixRun fixes only
    --cfcCheck → Fix → Check
    --statsShow last run statistics
    --compliantReport compliant count
    --non_compliantReport non-compliant count
    --resetClear results for this baseline
    --reset-allClear results for all baselines
    --quiet=1Show failed/exempt only
    --quiet=2Minimal output
    +
    Terminal window
    # Quick check
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh --check
    +
    # Full remediation
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh --cfc --quiet=2
    +
    + +

    Example baselines (may vary by branch):

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FrameworkBaseline Name
    NIST 800-53 Rev 5800-53r5_high, 800-53r5_moderate, 800-53r5_low
    NIST 800-171800-171
    DISA STIGDISA-STIG
    CIS Benchmarkscis_lvl1, cis_lvl2, cisv8
    CMMC 2.0cmmc_lvl1, cmmc_lvl2
    CNSSI 1253cnssi-1253_high, cnssi-1253_moderate, cnssi-1253_low
    All Rulesall_rules
    +
    + + +

    Creates the baseline YAML file.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagPurpose
    -lList available baselines
    -k NAMEGenerate baseline
    -tInteractive tailoring
    -cShow 800-53 controls
    + +

    Generates all outputs from a baseline.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagPurpose
    -sCompliance script
    -pConfig profiles
    -PConsolidated profile
    -DDDM components
    -xExcel file
    -l LOGOCustom logo
    -H HASHSign profiles
    -a NAMECustom audit name
    -r REFCustom reference ID
    + +

    Generates SCAP/OVAL content for compliance scanning tools.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FlagPurpose
    -xXCCDF file
    -oOVAL file
    -b NAMESpecific baseline
    -d FILEInclude DISA STIG references from file
    -lList tags
    +
    + + +

    Scan a Mac for compliance issues:

    +
    Terminal window
    ./scripts/generate_baseline.py -k 800-53r5_moderate
    ./scripts/generate_guidance.py -s baselines/800-53r5_moderate.yaml
    sudo ./build/800-53r5_moderate/800-53r5_moderate_compliance.sh --check
    + +

    Generate profiles and DDM for device management:

    +
    Terminal window
    ./scripts/generate_baseline.py -k DISA-STIG -t
    ./scripts/generate_guidance.py -p -D -s build/baselines/DISA-STIG.yaml
    + +

    Create all outputs for documentation and audit:

    +
    Terminal window
    ./scripts/generate_baseline.py -k cis_lvl2
    ./scripts/generate_guidance.py -s -p -x baselines/cis_lvl2.yaml
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    OptionDescriptionLink
    Tailor BaselineSelect rules and set Organization Defined ValuesLearn more →
    Customize RulesModify rules in custom/rules/ folderLearn more →
    Exempt RulesMark rules as approved exceptionsLearn more →
    Sign ProfilesSign with your certificate using -H HASHLearn more →
    \ No newline at end of file