From 8712817dab1fa43204a16848e097dbe6b3b78007 Mon Sep 17 00:00:00 2001 From: windmillcode0 Date: Mon, 5 Aug 2024 00:49:01 -0400 Subject: [PATCH] Updates --- 404.html | 42 + _astro/ec.3zb7u.js | 3 + _astro/ec.d6kn2.css | 1 + _astro/hoisted.DjmGYCTx.js | 1 + _astro/index.Dh9uT-rO.css | 1 + _astro/page.LS5KDvwX.js | 1 + _astro/ui-core.CFrVRioS.js | 2 + favicon.svg | 1 + index.html | 253 +++++ intro/wml-components-base/index.html | 935 +++++++++++++++++++ library/wml-accordion/index.html | 530 +++++++++++ library/wml-button/index.html | 593 ++++++++++++ library/wml-chips/index.html | 481 ++++++++++ library/wml-field/index.html | 590 ++++++++++++ library/wml-file-manager/index.html | 467 ++++++++++ library/wml-form/index.html | 187 ++++ library/wml-infinite-dropdown/index.html | 536 +++++++++++ library/wml-input/index.html | 519 +++++++++++ library/wml-mobile-nav/index.html | 436 +++++++++ library/wml-notify/index.html | 508 ++++++++++ library/wml-options/index.html | 240 +++++ library/wml-panel/index.html | 452 +++++++++ library/wml-popup/index.html | 407 ++++++++ library/wml-select/index.html | 449 +++++++++ library/wml-slicebox/index.html | 496 ++++++++++ library/wml-table/index.html | 182 ++++ library/wml-tabs/index.html | 494 ++++++++++ library/wml-toggle/index.html | 399 ++++++++ pagefind/fragment/en_1716535.pf_fragment | Bin 0 -> 3610 bytes pagefind/fragment/en_2713115.pf_fragment | Bin 0 -> 4292 bytes pagefind/fragment/en_2dc354d.pf_fragment | Bin 0 -> 3600 bytes pagefind/fragment/en_4e4f216.pf_fragment | Bin 0 -> 3386 bytes pagefind/fragment/en_5081b5e.pf_fragment | Bin 0 -> 1608 bytes pagefind/fragment/en_541effa.pf_fragment | Bin 0 -> 3722 bytes pagefind/fragment/en_77f44ad.pf_fragment | Bin 0 -> 2799 bytes pagefind/fragment/en_7aabf1c.pf_fragment | Bin 0 -> 3014 bytes pagefind/fragment/en_7edb6fd.pf_fragment | Bin 0 -> 4514 bytes pagefind/fragment/en_8d7a68a.pf_fragment | Bin 0 -> 3406 bytes pagefind/fragment/en_8db3823.pf_fragment | Bin 0 -> 3779 bytes pagefind/fragment/en_91aa80a.pf_fragment | Bin 0 -> 1636 bytes pagefind/fragment/en_94beebd.pf_fragment | Bin 0 -> 3629 bytes pagefind/fragment/en_95a6342.pf_fragment | Bin 0 -> 4508 bytes pagefind/fragment/en_984aeb4.pf_fragment | Bin 0 -> 2890 bytes pagefind/fragment/en_a073465.pf_fragment | Bin 0 -> 3216 bytes pagefind/fragment/en_a79b625.pf_fragment | Bin 0 -> 7727 bytes pagefind/fragment/en_cc84641.pf_fragment | Bin 0 -> 3364 bytes pagefind/fragment/en_d08c265.pf_fragment | Bin 0 -> 1761 bytes pagefind/fragment/en_e5aa753.pf_fragment | Bin 0 -> 3494 bytes pagefind/fragment/en_e793643.pf_fragment | Bin 0 -> 3347 bytes pagefind/index/en_bcf7da7.pf_index | Bin 0 -> 28537 bytes pagefind/index/en_d45f7bd.pf_index | Bin 0 -> 26790 bytes pagefind/index/en_eef98b5.pf_index | Bin 0 -> 35415 bytes pagefind/pagefind-entry.json | 1 + pagefind/pagefind-highlight.js | 1069 ++++++++++++++++++++++ pagefind/pagefind-modular-ui.css | 214 +++++ pagefind/pagefind-modular-ui.js | 8 + pagefind/pagefind-ui.css | 1 + pagefind/pagefind-ui.js | 2 + pagefind/pagefind.en_4bc1717bc6.pf_meta | Bin 0 -> 295 bytes pagefind/pagefind.js | 9 + pagefind/wasm.en.pagefind | Bin 0 -> 70907 bytes pagefind/wasm.unknown.pagefind | Bin 0 -> 66842 bytes schematics/wml-schematics/index.html | 436 +++++++++ sitemap-0.xml | 1 + sitemap-index.xml | 1 + 65 files changed, 10948 insertions(+) create mode 100644 404.html create mode 100644 _astro/ec.3zb7u.js create mode 100644 _astro/ec.d6kn2.css create mode 100644 _astro/hoisted.DjmGYCTx.js create mode 100644 _astro/index.Dh9uT-rO.css create mode 100644 _astro/page.LS5KDvwX.js create mode 100644 _astro/ui-core.CFrVRioS.js create mode 100644 favicon.svg create mode 100644 index.html create mode 100644 intro/wml-components-base/index.html create mode 100644 library/wml-accordion/index.html create mode 100644 library/wml-button/index.html create mode 100644 library/wml-chips/index.html create mode 100644 library/wml-field/index.html create mode 100644 library/wml-file-manager/index.html create mode 100644 library/wml-form/index.html create mode 100644 library/wml-infinite-dropdown/index.html create mode 100644 library/wml-input/index.html create mode 100644 library/wml-mobile-nav/index.html create mode 100644 library/wml-notify/index.html create mode 100644 library/wml-options/index.html create mode 100644 library/wml-panel/index.html create mode 100644 library/wml-popup/index.html create mode 100644 library/wml-select/index.html create mode 100644 library/wml-slicebox/index.html create mode 100644 library/wml-table/index.html create mode 100644 library/wml-tabs/index.html create mode 100644 library/wml-toggle/index.html create mode 100644 pagefind/fragment/en_1716535.pf_fragment create mode 100644 pagefind/fragment/en_2713115.pf_fragment create mode 100644 pagefind/fragment/en_2dc354d.pf_fragment create mode 100644 pagefind/fragment/en_4e4f216.pf_fragment create mode 100644 pagefind/fragment/en_5081b5e.pf_fragment create mode 100644 pagefind/fragment/en_541effa.pf_fragment create mode 100644 pagefind/fragment/en_77f44ad.pf_fragment create mode 100644 pagefind/fragment/en_7aabf1c.pf_fragment create mode 100644 pagefind/fragment/en_7edb6fd.pf_fragment create mode 100644 pagefind/fragment/en_8d7a68a.pf_fragment create mode 100644 pagefind/fragment/en_8db3823.pf_fragment create mode 100644 pagefind/fragment/en_91aa80a.pf_fragment create mode 100644 pagefind/fragment/en_94beebd.pf_fragment create mode 100644 pagefind/fragment/en_95a6342.pf_fragment create mode 100644 pagefind/fragment/en_984aeb4.pf_fragment create mode 100644 pagefind/fragment/en_a073465.pf_fragment create mode 100644 pagefind/fragment/en_a79b625.pf_fragment create mode 100644 pagefind/fragment/en_cc84641.pf_fragment create mode 100644 pagefind/fragment/en_d08c265.pf_fragment create mode 100644 pagefind/fragment/en_e5aa753.pf_fragment create mode 100644 pagefind/fragment/en_e793643.pf_fragment create mode 100644 pagefind/index/en_bcf7da7.pf_index create mode 100644 pagefind/index/en_d45f7bd.pf_index create mode 100644 pagefind/index/en_eef98b5.pf_index create mode 100644 pagefind/pagefind-entry.json create mode 100644 pagefind/pagefind-highlight.js create mode 100644 pagefind/pagefind-modular-ui.css create mode 100644 pagefind/pagefind-modular-ui.js create mode 100644 pagefind/pagefind-ui.css create mode 100644 pagefind/pagefind-ui.js create mode 100644 pagefind/pagefind.en_4bc1717bc6.pf_meta create mode 100644 pagefind/pagefind.js create mode 100644 pagefind/wasm.en.pagefind create mode 100644 pagefind/wasm.unknown.pagefind create mode 100644 schematics/wml-schematics/index.html create mode 100644 sitemap-0.xml create mode 100644 sitemap-index.xml diff --git a/404.html b/404.html new file mode 100644 index 0000000000..76b49e94f2 --- /dev/null +++ b/404.html @@ -0,0 +1,42 @@ + 404 | Windmillcode Angular CDK + Skip to content

404

Page not found. Check the URL or try using the search bar.
\ No newline at end of file diff --git a/_astro/ec.3zb7u.js b/_astro/ec.3zb7u.js new file mode 100644 index 0000000000..8c0e188ffc --- /dev/null +++ b/_astro/ec.3zb7u.js @@ -0,0 +1,3 @@ +try{(()=>{function i(e){if(!e)return;let r=e.getAttribute("tabindex")!==null,t=e.scrollWidth>e.clientWidth;t&&!r?e.setAttribute("tabindex","0"):!t&&r&&e.removeAttribute("tabindex")}function a(e){let r=new Set,t;return new ResizeObserver(u=>{u.forEach(o=>r.add(o.target)),t&&clearTimeout(t),t=setTimeout(()=>{t=void 0,r.forEach(o=>e(o)),r.clear()},250)})}function s(e,r){e.querySelectorAll?.(".expressive-code pre > code").forEach(t=>{let n=t.parentElement;n&&(i(n),r.observe(n))})}var d=a(i);s(document,d);var c=new MutationObserver(e=>e.forEach(r=>r.addedNodes.forEach(t=>{s(t,d)})));c.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document,d)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function i(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function l(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=i(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),e.before(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let c=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(c,1500),setTimeout(d,2500),e.addEventListener("blur",c),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function s(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",l))}s(document);var u=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{s(a)})));u.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/_astro/ec.d6kn2.css b/_astro/ec.d6kn2.css new file mode 100644 index 0000000000..64d518e2f5 --- /dev/null +++ b/_astro/ec.d6kn2.css @@ -0,0 +1 @@ +.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .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}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2);direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}:root,:root:not([data-theme='dark']) .expressive-code[data-theme='dark']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#011627;--ec-codeFg:#d6deeb;--ec-codeSelBg:#1d3b53;--ec-gtrFg:#556c80;--ec-gtrBrdCol:#556c8033;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#c5e4fd8e;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#234d708c;--ec-uiSelFg:#ffffff;--ec-focusBrd:#122d42;--ec-sbThumbCol:#ffffff17;--ec-sbThumbHoverCol:#ffffff49;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#ffffff17;--ec-tm-markBrdCol:#ffffff40;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#011627;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:var(--sl-color-gray-6);--ec-frm-edActTabFg:var(--sl-color-text);--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:var(--sl-color-black);--ec-frm-edTabBarBrdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg:var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa:0.75;--ec-frm-trmTtbBg:var(--sl-color-black);--ec-frm-trmTtbFg:var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg:var(--sl-color-gray-6);--ec-frm-inlBtnFg:var(--sl-color-text);--ec-frm-inlBtnBg:var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:var(--sl-color-text);--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#158744;--ec-frm-tooltipSuccessFg:white}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='dark']) .expressive-code[data-theme='dark'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-theme='dark']){--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root:not([data-theme='dark']) .expressive-code .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}}:root[data-theme='light'] .expressive-code:not([data-theme='dark']),.expressive-code[data-theme='light']{--ec-codeBg:#fbfbfb;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#7a8d96;--ec-gtrBrdCol:#7a8d9633;--ec-gtrHlFg:#403f53c3;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root[data-theme='light'] .expressive-code:not([data-theme='dark']) .ec-line :where(span[style^='--']:not([class])),.expressive-code[data-theme='light'] .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)} \ No newline at end of file diff --git a/_astro/hoisted.DjmGYCTx.js b/_astro/hoisted.DjmGYCTx.js new file mode 100644 index 0000000000..e8447c7897 --- /dev/null +++ b/_astro/hoisted.DjmGYCTx.js @@ -0,0 +1 @@ +const T="_top";class b extends HTMLElement{constructor(){super(),this._current=this.querySelector('a[aria-current="true"]'),this.minH=parseInt(this.dataset.minH||"2",10),this.maxH=parseInt(this.dataset.maxH||"3",10);const e=[...this.querySelectorAll("a")],t=n=>{if(n instanceof HTMLHeadingElement){if(n.id===T)return!0;const d=n.tagName[1];if(d){const c=parseInt(d,10);if(c>=this.minH&&c<=this.maxH)return!0}}return!1},i=n=>{if(!n)return null;const d=n;for(;n;){if(t(n))return n;for(n=n.previousElementSibling;n?.lastElementChild;)n=n.lastElementChild;const c=i(n);if(c)return c}return i(d.parentElement)},o=n=>{for(const{isIntersecting:d,target:c}of n){if(!d)continue;const m=i(c);if(!m)continue;const h=e.find(p=>p.hash==="#"+encodeURIComponent(m.id));if(h){this.current=h;break}}},r=document.querySelectorAll("main [id], main [id] ~ *, main .content > *");let s;const l=()=>{s&&s.disconnect(),s=new IntersectionObserver(o,{rootMargin:this.getRootMargin()}),r.forEach(n=>s.observe(n))};l();const u=window.requestIdleCallback||(n=>setTimeout(n,1));let g;window.addEventListener("resize",()=>{s&&s.disconnect(),clearTimeout(g),g=setTimeout(()=>u(l),200)})}set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}getRootMargin(){const e=document.querySelector("header")?.getBoundingClientRect().height||0,t=this.querySelector("summary")?.getBoundingClientRect().height||0,i=e+t+32,o=i+53,r=document.documentElement.clientHeight;return`-${i}px 0% ${o-r}px`}}customElements.define("starlight-toc",b);class L extends b{set current(e){super.current=e;const t=this.querySelector(".display-current");t&&(t.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const t=()=>{e.open=!1};e.querySelectorAll("a").forEach(i=>{i.addEventListener("click",t)}),window.addEventListener("click",i=>{e.contains(i.target)||t()}),window.addEventListener("keydown",i=>{if(i.key==="Escape"&&e.open){const o=e.contains(document.activeElement);if(t(),o){const r=e.querySelector("summary");r&&r.focus()}}})}}customElements.define("mobile-starlight-toc",L);class k extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const e=this.closest("nav");e&&e.addEventListener("keyup",t=>this.closeOnEscape(t))}setExpanded(e){this.setAttribute("aria-expanded",String(e)),document.body.toggleAttribute("data-mobile-menu-expanded",e)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(e){e.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",k);class x extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)})}}customElements.define("starlight-lang-select",x);const q="modulepreload",A=function(a){return"/Windmillcode-Angular-CDK-Docs/"+a},y={},C=function(e,t,i){let o=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),s=r?.nonce||r?.getAttribute("nonce");o=Promise.all(t.map(l=>{if(l=A(l),l in y)return;y[l]=!0;const u=l.endsWith(".css"),g=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${g}`))return;const n=document.createElement("link");if(n.rel=u?"stylesheet":q,u||(n.as="script",n.crossOrigin=""),n.href=l,s&&n.setAttribute("nonce",s),document.head.appendChild(n),u)return new Promise((d,c)=>{n.addEventListener("load",d),n.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${l}`)))})}))}return o.then(()=>e()).catch(r=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=r,window.dispatchEvent(s),!s.defaultPrevented)throw r})};class H extends HTMLElement{constructor(){super();const e=this.querySelector("button[data-open-modal]"),t=this.querySelector("button[data-close-modal]"),i=this.querySelector("dialog"),o=this.querySelector(".dialog-frame"),r=c=>{("href"in(c.target||{})||document.body.contains(c.target)&&!o.contains(c.target))&&l()},s=c=>{i.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),c?.stopPropagation(),window.addEventListener("click",r)},l=()=>i.close();e.addEventListener("click",s),e.disabled=!1,t.addEventListener("click",l),i.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",r)}),window.addEventListener("keydown",c=>{(c.metaKey===!0||c.ctrlKey===!0)&&c.key==="k"&&(i.open?l():s(),c.preventDefault())});let u={};try{u=JSON.parse(this.dataset.translations||"{}")}catch{}const d=this.dataset.stripTrailingSlash!==void 0?c=>c.replace(/(.)\/(#.*)?$/,"$1$2"):c=>c;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(m=>setTimeout(m,1)))(async()=>{const{PagefindUI:m}=await C(async()=>{const{PagefindUI:h}=await import("./ui-core.CFrVRioS.js");return{PagefindUI:h}},[]);new m({element:"#starlight__search",baseUrl:"/Windmillcode-Angular-CDK-Docs",bundlePath:"/Windmillcode-Angular-CDK-Docs".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:u,showSubResults:!0,processResult:h=>{h.url=d(h.url),h.sub_results=h.sub_results.map(p=>(p.url=d(p.url),p))}})})})}}customElements.define("site-search",H);const v="starlight-theme",S=a=>a==="auto"||a==="dark"||a==="light"?a:"auto",w=()=>S(typeof localStorage<"u"&&localStorage.getItem(v));function I(a){typeof localStorage<"u"&&localStorage.setItem(v,a==="light"||a==="dark"?a:"")}const M=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function E(a){StarlightThemeProvider.updatePickers(a),document.documentElement.dataset.theme=a==="auto"?M():a,I(a)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{w()==="auto"&&E("auto")});class P extends HTMLElement{constructor(){super(),E(w()),this.querySelector("select")?.addEventListener("change",e=>{e.currentTarget instanceof HTMLSelectElement&&E(S(e.currentTarget.value))})}}customElements.define("starlight-theme-select",P);class f extends HTMLElement{static#t=new Map;#e;constructor(){super();const e=this.querySelector('[role="tablist"]');if(this.tabs=[...e.querySelectorAll('[role="tab"]')],this.panels=[...this.querySelectorAll(':scope > [role="tabpanel"]')],this.#e=this.dataset.syncKey,this.#e){const t=f.#t.get(this.#e)??[];t.push(this),f.#t.set(this.#e,t)}this.tabs.forEach((t,i)=>{t.addEventListener("click",o=>{o.preventDefault();const r=e.querySelector('[aria-selected="true"]');o.currentTarget!==r&&this.switchTab(o.currentTarget,i)}),t.addEventListener("keydown",o=>{const r=this.tabs.indexOf(o.currentTarget),s=o.key==="ArrowLeft"?r-1:o.key==="ArrowRight"?r+1:o.key==="Home"?0:o.key==="End"?this.tabs.length-1:null;s!==null&&this.tabs[s]&&(o.preventDefault(),this.switchTab(this.tabs[s],s))})})}switchTab(e,t,i=!0){if(!e)return;const o=i?this.getBoundingClientRect().top:0;this.tabs.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1")}),this.panels.forEach(s=>{s.hidden=!0});const r=this.panels[t];r&&(r.hidden=!1),e.removeAttribute("tabindex"),e.setAttribute("aria-selected","true"),i&&(e.focus(),f.#n(this,e.innerText),window.scrollTo({top:window.scrollY+(this.getBoundingClientRect().top-o)}))}static#n(e,t){const i=e.#e;if(!i||!t)return;const o=f.#t.get(i);if(o)for(const r of o){if(r===e)continue;const s=r.tabs.findIndex(l=>l.innerText===t);s!==-1&&r.switchTab(r.tabs[s],s,!1)}}}customElements.define("starlight-tabs",f);export{C as _}; diff --git a/_astro/index.Dh9uT-rO.css b/_astro/index.Dh9uT-rO.css new file mode 100644 index 0000000000..5f49f9da5d --- /dev/null +++ b/_astro/index.Dh9uT-rO.css @@ -0,0 +1 @@ +: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-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}}*,*: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)}:root{--astro-code-color-text: var(--sl-color-white);--astro-code-color-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)}.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)}.sl-banner:where(.astro-laz2plt2){--__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-laz2plt2) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-7nkwcw3z){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-7nkwcw3z)+.content-panel:where(.astro-7nkwcw3z){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-7nkwcw3z){max-width:var(--sl-content-width)}.sl-container:where(.astro-7nkwcw3z)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-7nkwcw3z){margin-inline:var(--sl-content-margin-inline, auto)}}svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}p:where(.astro-opzsrvew){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:-moz-max-content;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)}a:where(.astro-eez2twj6){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-eez2twj6):hover{color:var(--sl-color-white)}.pagination-links:where(.astro-u2l5gyhi){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-u2l5gyhi){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-u2l5gyhi)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-u2l5gyhi):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-u2l5gyhi){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-u2l5gyhi){flex-shrink:0}:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle}.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:not(:last-of-type):after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}footer:where(.astro-3yyafb3n){flex-direction:column;gap:1.5rem}.meta:where(.astro-3yyafb3n){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-3yyafb3n)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-3yyafb3n){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-3yyafb3n) svg{color:var(--sl-color-orange)}.kudos:where(.astro-3yyafb3n):hover{color:var(--sl-color-white)}label:where(.astro-4yphtoen){--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-4yphtoen):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-4yphtoen){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-4yphtoen){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-4yphtoen){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-4yphtoen){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;-webkit-appearance:none;-moz-appearance:none;appearance:none}option:where(.astro-4yphtoen){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-4yphtoen){font-size:var(--sl-text-sm)}}.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);-moz-appearance:none;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;-moz-appearance:revert;appearance:revert}.pagefind-ui--reset ::-moz-placeholder{color:unset}.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;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::-moz-placeholder{opacity:.2}.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)}[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-child: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}site-search:where(.astro-v37mnknz){display:contents}button:where(.astro-v37mnknz)[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-v37mnknz)[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-v37mnknz)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-v37mnknz)[data-open-modal]>:last-child:where(.astro-v37mnknz){margin-inline-start:auto}}button:where(.astro-v37mnknz)>kbd:where(.astro-v37mnknz){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-v37mnknz){font-family:var(--__sl-font)}dialog:where(.astro-v37mnknz){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-v37mnknz)[open]{display:flex}dialog:where(.astro-v37mnknz)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-v37mnknz){flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-v37mnknz)[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-v37mnknz){--pagefind-ui-primary: var(--sl-color-accent-light);--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;--sl-search-cancel-space: 5rem}@media (min-width: 50rem){#starlight__search:where(.astro-v37mnknz){--sl-search-cancel-space: 0px}dialog:where(.astro-v37mnknz){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:-moz-max-content;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-v37mnknz){padding:1.5rem}}.site-title:where(.astro-m46x6ez3){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}img:where(.astro-m46x6ez3){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:0 50%;object-position:0 50%}a:where(.astro-wy4te6ga){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-wy4te6ga):hover{opacity:.66}.header:where(.astro-kmkmnagf){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-kmkmnagf){overflow:hidden}.right-group:where(.astro-kmkmnagf),.social-icons:where(.astro-kmkmnagf){gap:1rem;align-items:center}.social-icons:where(.astro-kmkmnagf):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-kmkmnagf){--__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}}.action:where(.astro-yjy4zhro){gap:.5em;align-items:center;border-radius:999rem;padding:.5rem 1.125rem;color:var(--sl-color-white);line-height:1.1875;text-decoration:none;font-size:var(--sl-text-sm)}.action:where(.astro-yjy4zhro).primary{background:var(--sl-color-text-accent);color:var(--sl-color-black)}.action:where(.astro-yjy4zhro).secondary{border:1px solid}.action:where(.astro-yjy4zhro).minimal{padding-inline:0}@media (min-width: 50rem){.action:where(.astro-yjy4zhro){font-size:var(--sl-text-base);padding:1rem 1.25rem}}.hero:where(.astro-jbfsktt5){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){-o-object-fit:contain;object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-jbfsktt5){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-jbfsktt5){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-jbfsktt5)>:where(.astro-jbfsktt5){max-width:50ch}h1:where(.astro-jbfsktt5){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-jbfsktt5){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-jbfsktt5){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-jbfsktt5){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){order:2;width:min(100%,25rem)}.stack:where(.astro-jbfsktt5){text-align:start}.copy:where(.astro-jbfsktt5){align-items:flex-start}.actions:where(.astro-jbfsktt5){justify-content:flex-start}}.sl-markdown-content :not(a,strong,em,del,span,input,code)+:not(a,strong,em,del,span,input,code,:where(.not-content *)){margin-top:1rem}.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>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)){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);-moz-tab-size:2;-o-tab-size:2;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)}[data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}}button:where(.astro-jif73yzw){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-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-2);box-shadow:none}[data-theme=light] button:where(.astro-jif73yzw){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-5)}.page:where(.astro-vrdttmbt){flex-direction:column;min-height:100vh}.header:where(.astro-vrdttmbt){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-vrdttmbt){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-vrdttmbt){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-vrdttmbt){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-vrdttmbt){height:100%;min-height:-moz-max-content;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-vrdttmbt):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-vrdttmbt){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-vrdttmbt){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-vrdttmbt){--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)}}ul:where(.astro-g2bywc46){padding:0;list-style:none}a:where(.astro-g2bywc46){--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-g2bywc46)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46){--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-g2bywc46):first-child>li:where(.astro-g2bywc46):first-child>a:where(.astro-g2bywc46){border-top:0}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true],.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:hover,.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[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}nav:where(.astro-doynk5tl){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-doynk5tl){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-doynk5tl){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-doynk5tl)::marker,summary:where(.astro-doynk5tl)::-webkit-details-marker{display:none}.toggle:where(.astro-doynk5tl){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);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}details:where(.astro-doynk5tl)[open] .toggle:where(.astro-doynk5tl){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-doynk5tl) .toggle:where(.astro-doynk5tl):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-doynk5tl){transform:rotate(180deg)}details:where(.astro-doynk5tl)[open] .caret:where(.astro-doynk5tl){transform:rotate(90deg)}.display-current:where(.astro-doynk5tl){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-doynk5tl){--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}.right-sidebar-panel:where(.astro-pb3aqygn){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-pb3aqygn){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-pb3aqygn) 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-pb3aqygn) :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-pb3aqygn) :where(a):hover{color:var(--sl-color-white)}@media (min-width: 72rem){.sl-container:where(.astro-pb3aqygn){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}h1:where(.astro-j6tvhyss){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.social-icons:where(.astro-wu23bvmt){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-wu23bvmt):empty{display:none}.mobile-preferences:where(.astro-wu23bvmt){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);-moz-column-gap:1rem;column-gap:1rem;padding:.5rem 0}ul:where(.astro-3ii7xxms){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-3ii7xxms){overflow-wrap:anywhere}ul:where(.astro-3ii7xxms) ul:where(.astro-3ii7xxms) li:where(.astro-3ii7xxms){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-3ii7xxms){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.75rem}summary:where(.astro-3ii7xxms){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}summary:where(.astro-3ii7xxms)::marker,summary:where(.astro-3ii7xxms)::-webkit-details-marker{display:none}.caret:where(.astro-3ii7xxms){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-3ii7xxms){transform:rotate(180deg)}:where(.astro-3ii7xxms)[open]>summary:where(.astro-3ii7xxms) .caret:where(.astro-3ii7xxms){transform:rotate(90deg)}a:where(.astro-3ii7xxms){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-3ii7xxms):hover,a:where(.astro-3ii7xxms):focus{color:var(--sl-color-white)}:where(.astro-3ii7xxms)[aria-current=page],:where(.astro-3ii7xxms)[aria-current=page]:hover,:where(.astro-3ii7xxms)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child),.group-label:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.5rem}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-base)}a:where(.astro-3ii7xxms){font-size:var(--sl-text-sm)}}a:where(.astro-7q3lir66){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-7q3lir66):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)}.main-pane:where(.astro-67yu43on){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-67yu43on){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-67yu43on){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-gray-6);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-67yu43on){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-67yu43on){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}.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)}*,:before,:after{border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: }html,:host{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}:root{--sl-font: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sl-color-white: #fff;--sl-color-gray-1: #e5e7eb;--sl-color-gray-2: #d1d5db;--sl-color-gray-3: #9ca3af;--sl-color-gray-4: #4b5563;--sl-color-gray-5: #374151;--sl-color-gray-6: #1f2937;--sl-color-black: #111827;--sl-color-accent-low: #083d08;--sl-color-accent: #2cb32c;--sl-color-accent-high: #a0eba0}:root[data-theme=light]{--sl-color-white: #111827;--sl-color-gray-1: #1f2937;--sl-color-gray-2: #374151;--sl-color-gray-3: #6b7280;--sl-color-gray-4: #9ca3af;--sl-color-gray-5: #d1d5db;--sl-color-gray-6: #e5e7eb;--sl-color-gray-7: #f3f4f6;--sl-color-black: #fff;--sl-color-accent-low: #a0eba0;--sl-color-accent: #2cb32c;--sl-color-accent-high: #106610}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.block{display:block}.flex{display:flex}.table{display:table}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--sl-color-white: #bfbfbf;--sl-color-gray-1: #e5e7eb;--sl-color-gray-2: #a1a1a1;--sl-color-gray-3: #808080;--sl-color-gray-4: #666666;--sl-color-gray-5: #4d4d4d;--sl-color-gray-6: #333333;--sl-color-black: rgb(24,26,27)}iframe{width:100%;height:31.25em!important}.sl-container{width:100%;max-width:none}.main-pane{flex:1 0 78%}*{::-webkit-scrollbar{max-width:auto;min-width:calc(5/10.6 * 1em)}::-webkit-scrollbar-thumb{background-color:#000;border-radius:1.25em;border:6px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--wml-black))}}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-bguv2lll){padding-bottom:3vh}@media (min-width: 50em){:where(.astro-bguv2lll)[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/page.LS5KDvwX.js b/_astro/page.LS5KDvwX.js new file mode 100644 index 0000000000..f8839f1208 --- /dev/null +++ b/_astro/page.LS5KDvwX.js @@ -0,0 +1 @@ +const d=new Set,c=new WeakSet;let f=!0,h,l=!1;function v(e){l||(l=!0,f??=!1,h??="hover",g(),p(),w(),L())}function g(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,t=>{i(t.target,"tap")&&s(t.target.href,{ignoreSlowConnection:!0})},{passive:!0})}function p(){let e;document.body.addEventListener("focusin",n=>{i(n.target,"hover")&&t(n)},{passive:!0}),document.body.addEventListener("focusout",o,{passive:!0}),u(()=>{for(const n of document.getElementsByTagName("a"))c.has(n)||i(n,"hover")&&(c.add(n),n.addEventListener("mouseenter",t,{passive:!0}),n.addEventListener("mouseleave",o,{passive:!0}))});function t(n){const r=n.target.href;e&&clearTimeout(e),e=setTimeout(()=>{s(r)},80)}function o(){e&&(clearTimeout(e),e=0)}}function w(){let e;u(()=>{for(const t of document.getElementsByTagName("a"))c.has(t)||i(t,"viewport")&&(c.add(t),e??=y(),e.observe(t))})}function y(){const e=new WeakMap;return new IntersectionObserver((t,o)=>{for(const n of t){const r=n.target,a=e.get(r);n.isIntersecting?(a&&clearTimeout(a),e.set(r,setTimeout(()=>{o.unobserve(r),e.delete(r),s(r.href)},300))):a&&(clearTimeout(a),e.delete(r))}})}function L(){u(()=>{for(const e of document.getElementsByTagName("a"))i(e,"load")&&s(e.href)})}function s(e,t){const o=t?.ignoreSlowConnection??!1;if(S(e,o))if(d.add(e),document.createElement("link").relList?.supports?.("prefetch")&&t?.with!=="fetch"){const n=document.createElement("link");n.rel="prefetch",n.setAttribute("href",e),document.head.append(n)}else fetch(e,{priority:"low"})}function S(e,t){if(!navigator.onLine||!t&&m())return!1;try{const o=new URL(e,location.href);return location.origin===o.origin&&(location.pathname!==o.pathname||location.search!==o.search)&&!d.has(e)}catch{}return!1}function i(e,t){if(e?.tagName!=="A")return!1;const o=e.dataset.astroPrefetch;return o==="false"?!1:t==="tap"&&(o!=null||f)&&m()?!0:o==null&&f||o===""?t===h:o===t}function m(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",()=>{if(!t){t=!0;return}e()})}v(); diff --git a/_astro/ui-core.CFrVRioS.js b/_astro/ui-core.CFrVRioS.js new file mode 100644 index 0000000000..773c977e7f --- /dev/null +++ b/_astro/ui-core.CFrVRioS.js @@ -0,0 +1,2 @@ +import{_ as xs}from"./hoisted.DjmGYCTx.js";var qs=Object.defineProperty,F=(e,t)=>{for(var u in t)qs(e,u,{get:t[u],enumerable:!0})};function L(){}function hu(e){return e()}function ye(){return Object.create(null)}function J(e){e.forEach(hu)}function mu(e){return typeof e=="function"}function fe(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,t){return oe||(oe=document.createElement("a")),oe.href=t,e===oe.href}function Vs(e){return Object.keys(e).length===0}function A(e,t){e.appendChild(t)}function T(e,t,u){e.insertBefore(t,u||null)}function v(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,t){for(let u=0;ue.removeEventListener(t,u,r)}function g(e,t,u){u==null?e.removeAttribute(t):e.getAttribute(t)!==u&&e.setAttribute(t,u)}function Gs(e){return Array.from(e.childNodes)}function j(e,t){t=""+t,e.data!==t&&(e.data=t)}function ze(e,t){e.value=t??""}function K(e,t,u){e.classList[u?"add":"remove"](t)}var Ws=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,u=null){this.e||(this.is_svg?this.e=Ks(t.nodeName):this.e=p(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(u)}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 t=0;te.indexOf(r)===-1?t.push(r):u.push(r)),u.forEach(r=>r()),$=t}var _e=new Set,W;function ae(){W={r:0,c:[],p:W}}function ne(){W.r||J(W.c),W=W.p}function z(e,t){e&&e.i&&(_e.delete(e),e.i(t))}function U(e,t,u,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),W.c.push(()=>{_e.delete(e),r&&(u&&e.d(1),r())}),e.o(t)}else r&&r()}function ul(e,t){U(e,1,1,()=>{t.delete(e.key)})}function tl(e,t,u,r,s,l,a,n,i,d,_,h){let m=e.length,f=l.length,c=m;const o={};for(;c--;)o[e[c].key]=c;const E=[],B=new Map,R=new Map,k=[];for(c=f;c--;){const b=h(s,l,c),D=u(b);let w=a.get(D);w?k.push(()=>w.p(b,t)):(w=d(D,b),w.c()),B.set(D,E[c]=w),D in o&&R.set(D,Math.abs(c-o[D]))}const y=new Set,q=new Set;function P(b){z(b,1),b.m(n,_),a.set(b.key,b),_=b.first,f--}for(;m&&f;){const b=E[f-1],D=e[m-1],w=b.key,x=D.key;b===D?(_=b.first,m--,f--):B.has(x)?!a.has(w)||y.has(w)?P(b):q.has(x)?m--:R.get(w)>R.get(x)?(q.add(w),P(b)):(y.add(x),m--):(i(D,a),m--)}for(;m--;){const b=e[m];B.has(b.key)||i(b,a)}for(;f;)P(E[f-1]);return J(k),E}function rl(e,t,u){const r=e.$$.props[t];r!==void 0&&(e.$$.bound[r]=u,u(e.$$.ctx[r]))}function ke(e){e&&e.c()}function Ee(e,t,u,r){const{fragment:s,after_update:l}=e.$$;s&&s.m(t,u),r||Te(()=>{const a=e.$$.on_mount.map(hu).filter(mu);e.$$.on_destroy?e.$$.on_destroy.push(...a):J(a),e.$$.on_mount=[]}),l.forEach(Te)}function de(e,t){const u=e.$$;u.fragment!==null&&(el(u.after_update),J(u.on_destroy),u.fragment&&u.fragment.d(t),u.on_destroy=u.fragment=null,u.ctx=[])}function sl(e,t){e.$$.dirty[0]===-1&&(X.push(e),Xs(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const c=f.length?f[0]:m;return d.ctx&&s(d.ctx[h],d.ctx[h]=c)&&(!d.skip_bound&&d.bound[h]&&d.bound[h](c),_&&sl(e,h)),m}):[],d.update(),_=!0,J(d.before_update),d.fragment=r?r(d.ctx):!1,t.target){if(t.hydrate){const h=Gs(t.target);d.fragment&&d.fragment.l(h),h.forEach(v)}else d.fragment&&d.fragment.c();t.intro&&z(e.$$.fragment),Ee(e,t.target,t.anchor,t.customElement),gu()}re(i)}var me=class{$destroy(){de(this,1),this.$destroy=L}$on(e,t){if(!mu(t))return L;const u=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return u.push(t),()=>{const r=u.indexOf(t);r!==-1&&u.splice(r,1)}}$set(e){this.$$set&&!Vs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Q(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}function V(e){return O(e)||Q(e)}var ll=["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"},al={}.hasOwnProperty;function Ru(e,t={}){const u=Oe(),r=String(e),s=r.toLowerCase();let l=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(al.call(je,s)){const n=je[s];return(t.normalize===void 0||t.normalize===null||t.normalize)&&typeof n=="string"?Ru(n):(u[ll.includes(s)?"regular":"irregular"]=r,u)}for(;O(s.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(u.language=r.slice(0,l),l<4){let n=0;for(;s.charCodeAt(l)===45&&O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&O(s.charCodeAt(l+3))&&!O(s.charCodeAt(l+4));){if(n>2)return a(l,3,"Too many extended language subtags, expected at most 3 subtags");u.extendedLanguageSubtags.push(r.slice(l+1,l+4)),l+=4,n++}}for(s.charCodeAt(l)===45&&O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&O(s.charCodeAt(l+3))&&O(s.charCodeAt(l+4))&&!O(s.charCodeAt(l+5))&&(u.script=r.slice(l+1,l+5),l+=5),s.charCodeAt(l)===45&&(O(s.charCodeAt(l+1))&&O(s.charCodeAt(l+2))&&!O(s.charCodeAt(l+3))?(u.region=r.slice(l+1,l+3),l+=3):Q(s.charCodeAt(l+1))&&Q(s.charCodeAt(l+2))&&Q(s.charCodeAt(l+3))&&!Q(s.charCodeAt(l+4))&&(u.region=r.slice(l+1,l+4),l+=4));s.charCodeAt(l)===45;){const n=l+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return a(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))u.variants.push(r.slice(n,i)),l=i;else break}for(;s.charCodeAt(l)===45&&!(s.charCodeAt(l+1)===120||!V(s.charCodeAt(l+1))||s.charCodeAt(l+2)!==45||!V(s.charCodeAt(l+3)));){let n=l+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const d=n+1;for(n=d+2,i++;V(s.charCodeAt(n));){if(n-d>7)return a(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return a(n,4,"Empty extension, extensions must have at least 2 characters of content");u.extensions.push({singleton:r.charAt(l+1),extensions:r.slice(l+3,n).split("-")}),l=n}}else l=0;if(l===0&&s.charCodeAt(l)===120||s.charCodeAt(l)===45&&s.charCodeAt(l+1)===120){l=l?l+2:1;let n=l;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=l+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return a(n,5,"Too long private-use area, expected at most 8 characters");n++}u.privateuse.push(r.slice(l+1,n)),l=n}}if(l!==r.length)return a(l,6,"Found superfluous content after tag");return u;function a(n,i,d){return t.warning&&t.warning(d,i,n),t.forgiving?u:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,t,u){const r=e.slice();return r[8]=t[u][0],r[9]=t[u][1],r}function nl(e){let t,u,r,s,l,a=e[0]&&Ie();return{c(){a&&a.c(),t=M(),u=p("div"),r=p("p"),r.textContent=`${e[3](30)}`,s=M(),l=p("p"),l.textContent=`${e[3](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){a&&a.m(n,i),T(n,t,i),T(n,u,i),A(u,r),A(u,s),A(u,l)},p(n,i){n[0]?a||(a=Ie(),a.c(),a.m(t.parentNode,t)):a&&(a.d(1),a=null)},d(n){a&&a.d(n),n&&v(t),n&&v(u)}}}function il(e){let t,u,r,s,l=e[1].meta?.title+"",a,n,i,d,_=e[1].excerpt+"",h,m=e[0]&&Le(e),f=e[2].length&&xe(e);return{c(){m&&m.c(),t=M(),u=p("div"),r=p("p"),s=p("a"),a=S(l),i=M(),d=p("p"),h=M(),f&&f.c(),g(s,"class","pagefind-ui__result-link svelte-j9e30"),g(s,"href",n=e[1].meta?.url||e[1].url),g(r,"class","pagefind-ui__result-title svelte-j9e30"),g(d,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(u,"class","pagefind-ui__result-inner svelte-j9e30")},m(c,o){m&&m.m(c,o),T(c,t,o),T(c,u,o),A(u,r),A(r,s),A(s,a),A(u,i),A(u,d),d.innerHTML=_,A(u,h),f&&f.m(u,null)},p(c,o){c[0]?m?m.p(c,o):(m=Le(c),m.c(),m.m(t.parentNode,t)):m&&(m.d(1),m=null),o&2&&l!==(l=c[1].meta?.title+"")&&j(a,l),o&2&&n!==(n=c[1].meta?.url||c[1].url)&&g(s,"href",n),o&2&&_!==(_=c[1].excerpt+"")&&(d.innerHTML=_),c[2].length?f?f.p(c,o):(f=xe(c),f.c(),f.m(u,null)):f&&(f.d(1),f=null)},d(c){m&&m.d(c),c&&v(t),c&&v(u),f&&f.d()}}}function Ie(e){let t;return{c(){t=p("div"),g(t,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(u,r){T(u,t,r)},d(u){u&&v(t)}}}function Le(e){let t,u=e[1].meta.image&&Pe(e);return{c(){t=p("div"),u&&u.c(),g(t,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){T(r,t,s),u&&u.m(t,null)},p(r,s){r[1].meta.image?u?u.p(r,s):(u=Pe(r),u.c(),u.m(t,null)):u&&(u.d(1),u=null)},d(r){r&&v(t),u&&u.d()}}}function Pe(e){let t,u,r;return{c(){t=p("img"),g(t,"class","pagefind-ui__result-image svelte-j9e30"),ce(t.src,u=e[1].meta?.image)||g(t,"src",u),g(t,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,l){T(s,t,l)},p(s,l){l&2&&!ce(t.src,u=s[1].meta?.image)&&g(t,"src",u),l&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&g(t,"alt",r)},d(s){s&&v(t)}}}function xe(e){let t,u=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function _l(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:l={data:async()=>{}}}=t;const a=["title","image","image_alt","url"];let n,i=[];const d=async h=>{u(1,n=await h.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([m])=>!a.includes(m)))},_=(h=30)=>". ".repeat(Math.floor(10+Math.random()*h));return e.$$set=h=>{"show_images"in h&&u(0,r=h.show_images),"process_result"in h&&u(4,s=h.process_result),"result"in h&&u(5,l=h.result)},e.$$.update=()=>{e.$$.dirty&32&&d(l)},[r,n,i,_,s,l]}var cl=class extends me{constructor(e){super(),he(this,e,_l,ol,fe,{show_images:0,process_result:4,result:5})}},fl=cl;function Ke(e,t,u){const r=e.slice();return r[11]=t[u][0],r[12]=t[u][1],r}function Ge(e,t,u){const r=e.slice();return r[15]=t[u],r}function El(e){let t,u,r,s,l,a=e[0]&&We();return{c(){a&&a.c(),t=M(),u=p("div"),r=p("p"),r.textContent=`${e[5](30)}`,s=M(),l=p("p"),l.textContent=`${e[5](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(u,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){a&&a.m(n,i),T(n,t,i),T(n,u,i),A(u,r),A(u,s),A(u,l)},p(n,i){n[0]?a||(a=We(),a.c(),a.m(t.parentNode,t)):a&&(a.d(1),a=null)},d(n){a&&a.d(n),n&&v(t),n&&v(u)}}}function dl(e){let t,u,r,s,l=e[1].meta?.title+"",a,n,i,d,_,h=e[0]&&Je(e),m=e[4]&&Ye(e),f=e[3],c=[];for(let E=0;Ee.toLocaleUpperCase();function ml(e,t,u){let{show_images:r=!0}=t,{process_result:s=null}=t,{result:l={data:async()=>{}}}=t;const a=["title","image","image_alt","url"];let n,i=[],d=[],_=!1;const h=(c,o)=>{if(c.length<=o)return c;const E=[...c].sort((B,R)=>R.locations.length-B.locations.length).slice(0,3).map(B=>B.url);return c.filter(B=>E.includes(B.url))},m=async c=>{u(1,n=await c.data()),u(1,n=s?.(n)??n),u(2,i=Object.entries(n.meta).filter(([o])=>!a.includes(o))),Array.isArray(n.sub_results)&&(u(4,_=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),_?u(3,d=h(n.sub_results.slice(1),3)):u(3,d=h([...n.sub_results],3)))},f=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return e.$$set=c=>{"show_images"in c&&u(0,r=c.show_images),"process_result"in c&&u(6,s=c.process_result),"result"in c&&u(7,l=c.result)},e.$$.update=()=>{e.$$.dirty&128&&m(l)},[r,n,i,d,_,f,s,l]}var Cl=class extends me{constructor(e){super(),he(this,e,ml,hl,fe,{show_images:0,process_result:6,result:7})}},gl=Cl;function uu(e,t,u){const r=e.slice();return r[10]=t[u][0],r[11]=t[u][1],r[12]=t,r[13]=u,r}function tu(e,t,u){const r=e.slice();return r[14]=t[u][0],r[15]=t[u][1],r[16]=t,r[17]=u,r}function ru(e){let t,u,r=e[4]("filters_label",e[5],e[6])+"",s,l,a=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function Bl(e,t,u){let{available_filters:r=null}=t,{show_empty_filters:s=!0}=t,{open_filters:l=[]}=t,{translate:a=()=>""}=t,{automatic_translations:n={}}=t,{translations:i={}}=t,{selected_filters:d={}}=t,_=!1,h=!1;function m(f,c){d[`${f}:${c}`]=this.checked,u(0,d)}return e.$$set=f=>{"available_filters"in f&&u(1,r=f.available_filters),"show_empty_filters"in f&&u(2,s=f.show_empty_filters),"open_filters"in f&&u(3,l=f.open_filters),"translate"in f&&u(4,a=f.translate),"automatic_translations"in f&&u(5,n=f.automatic_translations),"translations"in f&&u(6,i=f.translations),"selected_filters"in f&&u(0,d=f.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!_){u(8,_=!0);let f=Object.entries(r||{});f.length===1&&Object.entries(f[0][1])?.length<=6&&u(7,h=!0)}},[d,r,s,l,a,n,i,h,_,m]}var Al=class extends me{constructor(e){super(),he(this,e,Bl,Rl,fe,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},pl=Al,Bu={};F(Bu,{comments:()=>pu,default:()=>vl,direction:()=>vu,strings:()=>Tu,thanks_to:()=>Au});var Au="Jan Claasen ",pu="",vu="ltr",Tu={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]"},vl={thanks_to:Au,comments:pu,direction:vu,strings:Tu},Fu={};F(Fu,{comments:()=>bu,default:()=>Tl,direction:()=>Mu,strings:()=>Su,thanks_to:()=>ku});var ku="Maruf Alom ",bu="",Mu="ltr",Su={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:ku,comments:bu,direction:Mu,strings:Su},Du={};F(Du,{comments:()=>wu,default:()=>Fl,direction:()=>Nu,strings:()=>yu,thanks_to:()=>Hu});var Hu="Pablo Villaverde ",wu="",Nu="ltr",yu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure mées 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]..."},Fl={thanks_to:Hu,comments:wu,direction:Nu,strings:yu},zu={};F(zu,{comments:()=>Ou,default:()=>kl,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Dalibor Hon ",Ou="",Uu="ltr",Iu={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]..."},kl={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Lu={};F(Lu,{comments:()=>xu,default:()=>bl,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Pu});var Pu="Jonas Smedegaard ",xu="",qu="ltr",Vu={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]..."},bl={thanks_to:Pu,comments:xu,direction:qu,strings:Vu},Ku={};F(Ku,{comments:()=>Wu,default:()=>Ml,direction:()=>Ju,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jan Claasen ",Wu="",Ju="ltr",Zu={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]"},Ml={thanks_to:Gu,comments:Wu,direction:Ju,strings:Zu},Yu={};F(Yu,{comments:()=>Qu,default:()=>Sl,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Liam Bigelow ",Qu="",$u="ltr",et={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]..."},Sl={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};F(ut,{comments:()=>rt,default:()=>Dl,direction:()=>st,strings:()=>lt,thanks_to:()=>tt});var tt="Pablo Villaverde ",rt="",st="ltr",lt={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]..."},Dl={thanks_to:tt,comments:rt,direction:st,strings:lt},at={};F(at,{comments:()=>it,default:()=>Hl,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Valtteri Laitinen ",it="",ot="ltr",_t={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]..."},Hl={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};F(ct,{comments:()=>Et,default:()=>wl,direction:()=>dt,strings:()=>ht,thanks_to:()=>ft});var ft="Nicolas Friedli ",Et="",dt="ltr",ht={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]..."},wl={thanks_to:ft,comments:Et,direction:dt,strings:ht},mt={};F(mt,{comments:()=>gt,default:()=>Nl,direction:()=>Rt,strings:()=>Bt,thanks_to:()=>Ct});var Ct="Pablo Villaverde ",gt="",Rt="ltr",Bt={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]..."},Nl={thanks_to:Ct,comments:gt,direction:Rt,strings:Bt},At={};F(At,{comments:()=>vt,default:()=>yl,direction:()=>Tt,strings:()=>Ft,thanks_to:()=>pt});var pt="Amit Yadav ",vt="",Tt="ltr",Ft={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] की खोज की जा रही है..."},yl={thanks_to:pt,comments:vt,direction:Tt,strings:Ft},kt={};F(kt,{comments:()=>Mt,default:()=>zl,direction:()=>St,strings:()=>Dt,thanks_to:()=>bt});var bt="Diomed ",Mt="",St="ltr",Dt={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]..."},zl={thanks_to:bt,comments:Mt,direction:St,strings:Dt},Ht={};F(Ht,{comments:()=>Nt,default:()=>jl,direction:()=>yt,strings:()=>zt,thanks_to:()=>wt});var wt="Adam Laki ",Nt="",yt="ltr",zt={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..."},jl={thanks_to:wt,comments:Nt,direction:yt,strings:zt},jt={};F(jt,{comments:()=>Ut,default:()=>Ol,direction:()=>It,strings:()=>Lt,thanks_to:()=>Ot});var Ot="Nixentric",Ut="",It="ltr",Lt={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]..."},Ol={thanks_to:Ot,comments:Ut,direction:It,strings:Lt},Pt={};F(Pt,{comments:()=>qt,default:()=>Ul,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Cosette Bruhns Alonso, Andrew Janco ",qt="",Vt="ltr",Kt={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]..."},Ul={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};F(Gt,{comments:()=>Jt,default:()=>Il,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Wt});var Wt="Tate",Jt="",Zt="ltr",Yt={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]を検索しています"},Il={thanks_to:Wt,comments:Jt,direction:Zt,strings:Yt},Xt={};F(Xt,{comments:()=>$t,default:()=>Ll,direction:()=>er,strings:()=>ur,thanks_to:()=>Qt});var Qt="Seokho Son ",$t="",er="ltr",ur={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] 검색 중..."},Ll={thanks_to:Qt,comments:$t,direction:er,strings:ur},tr={};F(tr,{comments:()=>sr,default:()=>Pl,direction:()=>lr,strings:()=>ar,thanks_to:()=>rr});var rr="",sr="",lr="ltr",ar={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]..."},Pl={thanks_to:rr,comments:sr,direction:lr,strings:ar},nr={};F(nr,{comments:()=>or,default:()=>xl,direction:()=>_r,strings:()=>cr,thanks_to:()=>ir});var ir="Paul van Brouwershaven",or="",_r="ltr",cr={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]..."},xl={thanks_to:ir,comments:or,direction:_r,strings:cr},fr={};F(fr,{comments:()=>dr,default:()=>ql,direction:()=>hr,strings:()=>mr,thanks_to:()=>Er});var Er="Christopher Wingate",dr="",hr="ltr",mr={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]"},ql={thanks_to:Er,comments:dr,direction:hr,strings:mr},Cr={};F(Cr,{comments:()=>Rr,default:()=>Vl,direction:()=>Br,strings:()=>Ar,thanks_to:()=>gr});var gr="",Rr="",Br="ltr",Ar={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]..."},Vl={thanks_to:gr,comments:Rr,direction:Br,strings:Ar},pr={};F(pr,{comments:()=>Tr,default:()=>Kl,direction:()=>Fr,strings:()=>kr,thanks_to:()=>vr});var vr="Jonatah",Tr="",Fr="ltr",kr={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]..."},Kl={thanks_to:vr,comments:Tr,direction:Fr,strings:kr},br={};F(br,{comments:()=>Sr,default:()=>Gl,direction:()=>Dr,strings:()=>Hr,thanks_to:()=>Mr});var Mr="Bogdan Mateescu ",Sr="",Dr="ltr",Hr={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]..."},Gl={thanks_to:Mr,comments:Sr,direction:Dr,strings:Hr},wr={};F(wr,{comments:()=>yr,default:()=>Wl,direction:()=>zr,strings:()=>jr,thanks_to:()=>Nr});var Nr="Aleksandr Gordeev",yr="",zr="ltr",jr={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]"},Wl={thanks_to:Nr,comments:yr,direction:zr,strings:jr},Or={};F(Or,{comments:()=>Ir,default:()=>Jl,direction:()=>Lr,strings:()=>Pr,thanks_to:()=>Ur});var Ur="Andrija Sagicc",Ir="",Lr="ltr",Pr={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]..."},Jl={thanks_to:Ur,comments:Ir,direction:Lr,strings:Pr},xr={};F(xr,{comments:()=>Vr,default:()=>Zl,direction:()=>Kr,strings:()=>Gr,thanks_to:()=>qr});var qr="Montazar Al-Jaber ",Vr="",Kr="ltr",Gr={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]..."},Zl={thanks_to:qr,comments:Vr,direction:Kr,strings:Gr},Wr={};F(Wr,{comments:()=>Zr,default:()=>Yl,direction:()=>Yr,strings:()=>Xr,thanks_to:()=>Jr});var Jr="",Zr="",Yr="ltr",Xr={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] தேடப்படுகின்றது"},Yl={thanks_to:Jr,comments:Zr,direction:Yr,strings:Xr},Qr={};F(Qr,{comments:()=>es,default:()=>Xl,direction:()=>us,strings:()=>ts,thanks_to:()=>$r});var $r="Taylan Özgür Bildik",es="",us="ltr",ts={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..."},Xl={thanks_to:$r,comments:es,direction:us,strings:ts},rs={};F(rs,{comments:()=>ls,default:()=>Ql,direction:()=>as,strings:()=>ns,thanks_to:()=>ss});var ss="Vladyslav Lyshenko ",ls="",as="ltr",ns={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]"},Ql={thanks_to:ss,comments:ls,direction:as,strings:ns},is={};F(is,{comments:()=>_s,default:()=>$l,direction:()=>cs,strings:()=>fs,thanks_to:()=>os});var os="Long Nhat Nguyen",_s="",cs="ltr",fs={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]..."},$l={thanks_to:os,comments:_s,direction:cs,strings:fs},Es={};F(Es,{comments:()=>hs,default:()=>ea,direction:()=>ms,strings:()=>Cs,thanks_to:()=>ds});var ds="Amber Song",hs="",ms="ltr",Cs={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]..."},ea={thanks_to:ds,comments:hs,direction:ms,strings:Cs},gs={};F(gs,{comments:()=>Bs,default:()=>ua,direction:()=>As,strings:()=>ps,thanks_to:()=>Rs});var Rs="Amber Song",Bs="",As="ltr",ps={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]..."},ua={thanks_to:Rs,comments:Bs,direction:As,strings:ps},vs={};F(vs,{comments:()=>Fs,default:()=>ta,direction:()=>ks,strings:()=>bs,thanks_to:()=>Ts});var Ts="Amber Song",Fs="",ks="ltr",bs={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]..."},ta={thanks_to:Ts,comments:Fs,direction:ks,strings:bs},ra=[Bu,Fu,Du,zu,Lu,Ku,Yu,ut,at,ct,mt,At,kt,Ht,jt,Pt,Gt,Xt,tr,nr,fr,Cr,pr,br,wr,Or,xr,Wr,Qr,rs,is,Es,gs,vs],sa=ra,la=["../../translations/af.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.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/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,t,u){const r=e.slice();return r[51]=t[u],r}function _u(e){let t,u,r;function s(a){e[37](a)}let l={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&&(l.selected_filters=e[0]),t=new pl({props:l}),le.push(()=>rl(t,"selected_filters",s)),{c(){ke(t.$$.fragment)},m(a,n){Ee(t,a,n),r=!0},p(a,n){const i={};n[0]&32&&(i.show_empty_filters=a[5]),n[0]&64&&(i.open_filters=a[6]),n[0]&262144&&(i.available_filters=a[18]),n[0]&524288&&(i.automatic_translations=a[19]),n[0]&128&&(i.translations=a[7]),!u&&n[0]&1&&(u=!0,i.selected_filters=a[0],Qs(()=>u=!1)),t.$set(i)},i(a){r||(z(t.$$.fragment,a),r=!0)},o(a){U(t.$$.fragment,a),r=!1},d(a){de(t,a)}}}function cu(e){let t,u,r,s;const l=[na,aa],a=[];function n(i,d){return i[14]?0:1}return u=n(e),r=a[u]=l[u](e),{c(){t=p("div"),r.c(),g(t,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,d){T(i,t,d),a[u].m(t,null),s=!0},p(i,d){let _=u;u=n(i),u===_?a[u].p(i,d):(ae(),U(a[_],1,1,()=>{a[_]=null}),ne(),r=a[u],r?r.p(i,d):(r=a[u]=l[u](i),r.c()),z(r,1),r.m(t,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&v(t),a[u].d()}}}function aa(e){let t,u,r,s=[],l=new Map,a,n,i;function d(o,E){return o[13].results.length===0?_a:o[13].results.length===1?oa:ia}let _=d(e),h=_(e),m=e[13].results.slice(0,e[17]);const f=o=>o[51].id;for(let o=0;oe[17]&&Eu(e);return{c(){t=p("p"),h.c(),u=M(),r=p("ol");for(let o=0;oo[17]?c?c.p(o,E):(c=Eu(o),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null)},i(o){if(!i){for(let E=0;E{i[m]=null}),ne(),s=i[r],s?s.p(t,h):(s=i[r]=n[r](t),s.c()),z(s,1),s.m(l.parentNode,l))},i(_){a||(z(s),a=!0)},o(_){U(s),a=!1},d(_){_&&v(u),i[r].d(_),_&&v(l)}}}function Eu(e){let t,u=e[20]("load_more",e[19],e[7])+"",r,s,l;return{c(){t=p("button"),r=S(u),g(t,"type","button"),g(t,"class","pagefind-ui__button svelte-e9gkc3")},m(a,n){T(a,t,n),A(t,r),s||(l=G(t,"click",e[22]),s=!0)},p(a,n){n[0]&524416&&u!==(u=a[20]("load_more",a[19],a[7])+"")&&j(r,u)},d(a){a&&v(t),s=!1,l()}}}function du(e){let t,u=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){t=p("p"),r=S(u),g(t,"class","pagefind-ui__message svelte-e9gkc3")},m(s,l){T(s,t,l),A(t,r)},p(s,l){l[0]&589952&&u!==(u=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,u)},d(s){s&&v(t)}}}function Ea(e){let t,u,r,s,l,a,n=e[20]("clear_search",e[19],e[7])+"",i,d,_,h,m,f,c,o,E=e[12]&&_u(e),B=e[15]&&cu(e);return{c(){t=p("div"),u=p("form"),r=p("input"),l=M(),a=p("button"),i=S(n),d=M(),_=p("div"),E&&E.c(),h=M(),B&&B.c(),g(r,"class","pagefind-ui__search-input svelte-e9gkc3"),g(r,"type","text"),g(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),g(r,"autocapitalize","none"),g(r,"enterkeyhint","search"),r.autofocus=e[8],g(a,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(a,"pagefind-ui__suppressed",!e[9]),g(_,"class","pagefind-ui__drawer svelte-e9gkc3"),K(_,"pagefind-ui__hidden",!e[15]),g(u,"class","pagefind-ui__form svelte-e9gkc3"),g(u,"role","search"),g(u,"aria-label",m=e[20]("search_label",e[19],e[7])),g(u,"action","javascript:void(0);"),g(t,"class","pagefind-ui svelte-e9gkc3"),K(t,"pagefind-ui--reset",e[1])},m(R,k){T(R,t,k),A(t,u),A(u,r),ze(r,e[9]),e[34](r),A(u,l),A(u,a),A(a,i),e[35](a),A(u,d),A(u,_),E&&E.m(_,null),A(_,h),B&&B.m(_,null),f=!0,e[8]&&r.focus(),c||(o=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(a,"click",e[36]),G(u,"submit",da)],c=!0)},p(R,k){(!f||k[0]&524416&&s!==(s=R[20]("placeholder",R[19],R[7])))&&g(r,"placeholder",s),(!f||k[0]&256)&&(r.autofocus=R[8]),k[0]&512&&r.value!==R[9]&&ze(r,R[9]),(!f||k[0]&524416)&&n!==(n=R[20]("clear_search",R[19],R[7])+"")&&j(i,n),(!f||k[0]&512)&&K(a,"pagefind-ui__suppressed",!R[9]),R[12]?E?(E.p(R,k),k[0]&4096&&z(E,1)):(E=_u(R),E.c(),z(E,1),E.m(_,h)):E&&(ae(),U(E,1,1,()=>{E=null}),ne()),R[15]?B?(B.p(R,k),k[0]&32768&&z(B,1)):(B=cu(R),B.c(),z(B,1),B.m(_,null)):B&&(ae(),U(B,1,1,()=>{B=null}),ne()),(!f||k[0]&32768)&&K(_,"pagefind-ui__hidden",!R[15]),(!f||k[0]&524416&&m!==(m=R[20]("search_label",R[19],R[7])))&&g(u,"aria-label",m),(!f||k[0]&2)&&K(t,"pagefind-ui--reset",R[1])},i(R){f||(z(E),z(B),f=!0)},o(R){U(E),U(B),f=!1},d(R){R&&v(t),e[34](null),e[35](null),E&&E.d(),B&&B.d(),c=!1,J(o)}}}var da=e=>e.preventDefault();function ha(e,t,u){const r={},s=la.map(C=>C.match(/([^\/]+)\.json$/)[1]);for(let C=0;CN[C]??H[C]??"";Js(()=>{let C=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=Ru(C.toLocaleLowerCase());u(19,He=r[`${H.language}-${H.script}-${H.region}`]||r[`${H.language}-${H.region}`]||r[`${H.language}`]||r.en)}),Zs(()=>{D?.destroy?.(),D=null});const we=async()=>{if(!Ce&&(u(12,Ce=!0),!D)){let C;try{C=await xs(()=>import(`${l}pagefind.js`),[])}catch(N){console.error(N),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join(` +`))}_||u(24,_=d?12:30);let H={...E||{},excerptLength:_};await C.options(H);for(const N of B){if(!N.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=N.bundlePath;delete N.bundlePath,await C.mergeIndex(I,N)}D=C,Ds()}},Ds=async()=>{D&&(De=await D.filters(),(!ue||!Object.keys(ue).length)&&u(18,ue=De))},Hs=C=>{let H={};return Object.entries(C).filter(([,N])=>N).forEach(([N])=>{let[I,Z]=N.split(/:(.*)$/);H[I]=H[I]||[],H[I].push(Z)}),H};let te;const ws=async(C,H)=>{if(!C){u(15,Re=!1),te&&clearTimeout(te);return}const N=Hs(H),I=()=>Ns(C,N);o>0&&C?(te&&clearTimeout(te),te=setTimeout(I,o),await Ne(),D.preload(C,{filters:N})):I(),ys()},Ne=async()=>{for(;!D;)we(),await new Promise(C=>setTimeout(C,50))},Ns=async(C,H)=>{u(16,Se=C||""),typeof m=="function"&&(C=m(C)),u(14,ge=!0),u(15,Re=!0),await Ne();const N=++Me,I={filters:H};q&&typeof q=="object"&&(I.sort=q);const Z=await D.search(C,I);Me===N&&(Z.filters&&Object.keys(Z.filters)?.length&&u(18,ue=Z.filters),u(13,be=Z),u(14,ge=!1),u(17,Be=a))},ys=()=>{const C=x.offsetWidth;C!=Ms&&u(10,w.style.paddingRight=`${C+2}px`,w)},zs=C=>{C?.preventDefault(),u(17,Be+=a)},js=C=>{C.key==="Escape"&&(u(9,b=""),w.blur()),C.key==="Enter"&&C.preventDefault()};function Os(){b=this.value,u(9,b),u(23,R)}function Us(C){le[C?"unshift":"push"](()=>{w=C,u(10,w)})}function Is(C){le[C?"unshift":"push"](()=>{x=C,u(11,x)})}const Ls=()=>{u(9,b=""),w.blur()};function Ps(C){P=C,u(0,P)}return e.$$set=C=>{"base_path"in C&&u(25,l=C.base_path),"page_size"in C&&u(26,a=C.page_size),"reset_styles"in C&&u(1,n=C.reset_styles),"show_images"in C&&u(2,i=C.show_images),"show_sub_results"in C&&u(3,d=C.show_sub_results),"excerpt_length"in C&&u(24,_=C.excerpt_length),"process_result"in C&&u(4,h=C.process_result),"process_term"in C&&u(27,m=C.process_term),"show_empty_filters"in C&&u(5,f=C.show_empty_filters),"open_filters"in C&&u(6,c=C.open_filters),"debounce_timeout_ms"in C&&u(28,o=C.debounce_timeout_ms),"pagefind_options"in C&&u(29,E=C.pagefind_options),"merge_index"in C&&u(30,B=C.merge_index),"trigger_search_term"in C&&u(23,R=C.trigger_search_term),"translations"in C&&u(7,k=C.translations),"autofocus"in C&&u(8,y=C.autofocus),"sort"in C&&u(31,q=C.sort),"selected_filters"in C&&u(0,P=C.selected_filters)},e.$$.update=()=>{e.$$.dirty[0]&8388608&&R&&(u(9,b=R),u(23,R="")),e.$$.dirty[0]&513&&ws(b,P)},[P,n,i,d,h,f,c,k,y,b,w,x,Ce,be,ge,Re,Se,Be,ue,He,Ss,we,zs,R,_,l,a,m,o,E,B,q,js,Os,Us,Is,Ls,Ps]}var ma=class extends me{constructor(e){super(),he(this,e,ha,Ea,fe,{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])}},Ca=ma,Fe;try{Fe=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1]}catch{Fe="/pagefind/"}var Ra=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",u=e.bundlePath??Fe,r=e.pageSize??5,s=e.resetStyles??!0,l=e.showImages??!0,a=e.showSubResults??!1,n=e.excerptLength??0,i=e.processResult??null,d=e.processTerm??null,_=e.showEmptyFilters??!0,h=e.openFilters??[],m=e.debounceTimeoutMs??300,f=e.mergeIndex??[],c=e.translations??[],o=e.autofocus??!1,E=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 B=t instanceof HTMLElement?t:document.querySelector(t);B?this._pfs=new Ca({target:B,props:{base_path:u,page_size:r,reset_styles:s,show_images:l,show_sub_results:a,excerpt_length:n,process_result:i,process_term:d,show_empty_filters:_,open_filters:h,debounce_timeout_ms:m,merge_index:f,translations:c,autofocus:o,sort:E,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[u,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)t[`${u}:${s}`]=!0;else t[`${u}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};export{Ra as PagefindUI}; diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 0000000000..cba5ac140a --- /dev/null +++ b/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000000..a47cd3c91d --- /dev/null +++ b/index.html @@ -0,0 +1,253 @@ + Windmillcode Angular CDK | Windmillcode Angular CDK + Skip to content

Windmillcode Angular CDK

Welcome to the Windmillcode Angular Library, a comprehensive suite of Angular components designed to help you build engaging, robust, and user-friendly web applications. This library, also known as the Windmillcode Angular Component Development Kit (CDK), provides a collection of reusable UI components, each crafted with attention to detail and performance.

+

The project is still in beta because we want to make fundamental changes to our component library concerning animation, conformity, and accessing fuctionality w/o the need of a component for greater customization refer below to which packages you can use in production.

+

Roadmap

+
    +
  • Library Conformity
  • +
  • Leverage WMLAnimateUIProperty to increase the ease and capabilities of animation
  • +
  • Components with Functionality in Props
  • +
  • Backport current version to all previous angular versions
  • +
+

Features

+

Feels Like React

+
    +
  • You have a component and you have your props and you also have setState. This design makes it easier for those with a React/Nextjs background to transition to Angular if using our library
  • +
+

Plug And Play

+

Angular can get rather a verbose language we aim to simplify angular with plug and play mentaility +With plug and play every compoonent has its props as in react +this props is a class and you simply pass the prop the to class to render the component

+
app.component.ts
// Standalone there are default values to see how the component works
props = new WMLInputZeroProps({})
+
// To pass arguments/customize
props = new WMLInputZeroProps({
datetime:new WMLInputZeroDatetimeProps({
type:"datetime",
min =new Date("[YOUR BIRTHDAY FOR EXAMPLE]")
})
})
+
app.component.html
<wml-input-zero [props]=props>
</wml-input-zero>
+

Constant and conforming updates :

+
    +
  • Since around Angular 16.2 for every angular version we create a new version of the library. The versions are based on @angular-core This means that you can be sure that the library is always up to date with the latest angular version. down to the patch version. However as of 18.1.3 the library has been unified for production use
  • +
+

Extensive Component Collection

+

Our library includes a wide array of components, ranging from UI elements like buttons and input fields to complex constructs like file upload and dropdowns. Each component is designed to be modular, making it easy to integrate into your existing Angular projects.

+

Customizable and Themable

+

Components are designed to be easily customizable and themable, allowing you to align them with your application’s branding and design guidelines.Via modifying the css variables specific to each component you can get granular control over the look and feel of the components.

+ +

PREMIUM

+

Internationalization - All components are i18n compatible under ngx-translate. Use the default en.json file in your project and update and pass the i18n strings to the appropriate keys in the props that are passed to the component

+

Caveats

+
    +
  • fonts are not set so you can set global fonts without worry of overrides
  • +
  • “The changelog only represents the premium version of the package from PrivJS which are not available as of yet. The free versions start at around 18.1.3000, although there are plans for backporting to every patch version of angular. (non-guarantted) use npm install [PACKAGE NAMES] —force for versions older than 18
  • +
+

Packages

+

The Windmillcode Angular Library offers a diverse range of components, each designed to fulfill specific UI requirements in your Angular applications. Below is a list of available components along with brief descriptions:

+
    +
  1. WML Components Base:
  2. +
+
    +
  • NO TESTS
  • +
+

This is the foundational package that our whole library focuses on. Its foundation is the WMLUIProperty the very basic building block of our Angular Application. From here the basis of pagination, animation ,dynamic components, and more are built.

+
    +
  1. WML Schematics:
  2. +
+
    +
  • NO TESTS
  • +
+

Our own angular schematics to generate Angular classes according to our angular project template

+
    +
  1. WML Accordion:
  2. +
+
    +
  • NO TESTS
  • +
+

An accordion component that allows you to display content in a collapsible format. It’s useful for FAQs, lists, or any content that benefits from a compact presentation.

+
    +
  1. WML Button:
  2. +
+
    +
  • NO TESTS
  • +
+

A customizable button component that can be used across your application, ensuring consistency and themability.

+
    +
  1. WML Carousel:
  2. +
+
    +
  • NO TESTS
  • +
+

A carousel component that enables the display of multiple items in a sliding or rotating fashion, perfect for galleries or showcasing multiple products.

+
    +
  1. WML Chips:
  2. +
+
    +
  • NO TESTS
  • +
+

A component that represents input, attributes, or actions as compact elements, commonly used for tags, contact information, or interactive elements.

+
    +
  1. WML Field:
  2. +
+
    +
  • NO TESTS
  • +
+

A field component, potentially for forms, providing a standardized way to input data.

+
    +
  1. WML File Manager:
  2. +
+
    +
  • NO TESTS
  • +
+

A comprehensive component for handling file interactions, including uploading, downloading(in backlog), and displaying file information.

+
    +
  1. WML Form:
  2. +
+
    +
  • NO TESTS
  • +
+

A component or set of components designed to create consistent and functional forms, including various form controls.

+
    +
  1. WML Infinite Dropdown:
  2. +
+
    +
  • NO TESTS
  • +
+

A dropdown component that expands infinitely. Great for menus with a large amount of navigation content

+
    +
  1. WML Input:
  2. +
+
    +
  • NO TESTS
  • +
+

A versatile input component for forms, providing a uniform way to collect user input.

+
    +
  1. WML Mobile Nav:
  2. +
+
    +
  • NO TESTS
  • +
+

A navigation component designed specifically for mobile user interfaces, providing an optimized menu for smaller screens.

+
    +
  1. WML Notify:
  2. +
+
    +
  • NO TESTS
  • +
+

A notification component, allowing you to display alerts, messages, or other important information to users.

+
    +
  1. WML Options:
  2. +
+
    +
  • NO TESTS
  • +
+

A component that provides a set of selectable options, possibly as a more advanced dropdown or select component.

+
    +
  1. WML Panel:
  2. +
+
    +
  • NO TESTS
  • +
+

A flyout component component used to provide auxillary content, information or controls, often used in dashboards or as part of complex interfaces.

+
    +
  1. WML Penrose:
  2. +
+
    +
  • NO TESTS
  • +
+

A custom loading component

+
    +
  1. WML Popup:
  2. +
+
    +
  • NO TESTS
  • +
+

A component for displaying pop-up content, such as modals, dialogues, or tooltips.

+
    +
  1. WML Select:
  2. +
+
    +
  • NO TESTS
  • +
+

A select component that provides a dropdown list of options for users to choose from.

+
    +
  1. WML Slicebox:
  2. +
+
    +
  • NEEDS WORK
  • +
+

based on jquery slicebox +more fluid way of implementing a carousel

+
    +
  1. WML Table:
  2. +
+
    +
  • NO TESTS
  • +
+

A table component designed for displaying tabular data, with features including sorting, filtering, and pagination.

+
    +
  1. WML Tabs:
  2. +
+
    +
  • NO TESTS
  • +
+

A component for creating tabbed interfaces, allowing users to switch between different views or content sections within the same context.

+
    +
  1. WML Toggle:
  2. +
+
    +
  • NO TESTS
  • +
+

A toggle switch component, providing an intuitive way for users to make binary choices, such as enabling/disabling settings.

+
+

Each component is crafted to address specific UI needs while ensuring consistency and ease of integration into your Angular projects. For more detailed information on each component, including usage examples and configuration options, refer to the library’s detailed documentation.

+

Getting Started

+
    +
  • Click on the any of the links of the component you need and install with npm, or your preferred package manager
  • +
+

Documentation

+

Each component is documented with details on how to use it, its input/output properties, and event emitters. To dive deeper into a specific component, refer to its README.md dedicated documentation section.

+

Contributing

+

Instructions coming soon

+ +

License

+

The Windmillcode Angular Library is MIT licensed.

+

Contact

+

If you have any questions or feedback, please don’t hesitate to reach out to us via email. We’re always looking to improve our library and help the developer community.

+

Enjoy building with the Windmillcode Angular Library!

diff --git a/intro/wml-components-base/index.html b/intro/wml-components-base/index.html new file mode 100644 index 0000000000..f61f583250 --- /dev/null +++ b/intro/wml-components-base/index.html @@ -0,0 +1,935 @@ + WML Components Base | Windmillcode Angular CDK + Skip to content

WML Components Base

When working on web applications, there is no standard baseline. The Angular WML Components Base Library establishes a foundation for your application, ensuring consistency and scalability. The core of this library is the WMLUIProperty, which represents the basic building block of every element in a web application. This property encapsulates all the essential features, and there are several subclasses like WMLRoute for routes, WMLView to leverage change detection, WMLImage for images and WMLAnimateUIProperty for CSS animations. Each class has properties and methods to optimize your work in those features of your application. You can use this package and leave out the rest of the library and you will get very far building very robust and scalable applications

+

Installation

+
Terminal window
npm install -s @windmillcode/angular-wml-components-base
+

Usage

+

WMLUIProperty

+

The Building Blocks Of Web Apps

+ + +

WMLAnimateUIProperty

+

Using Animations

+ +

WMLCustomComponent

+

Custom Components

+ +

References

+

WMLUIProperty

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
isPresentbooleanIndicates whether the target HTMLElement is present. Default is true.
valueVThe value property. Default is an empty string ("").
textstringOptional text.
classstringGets or sets the CSS class of the target HTMLElement.
stylePartial<CSSStyleDeclaration>Partial CSS styles for the target HTMLElement.
typeTType property for when an entity can have more than one type.
click(evt?: Event) => voidClick event handler for the target HTMLElement.
idstringIdentifier for the target HTMLElement. Default is an empty string ("").
+

WMLView

+ + + + + + + + + + + + + + + +
PropertyTypeDescription
cdrefChangeDetectorRefAngular ChangeDetectorRef associated with the component.
+

WMLRoute

+ + + + + + + + + + + + + + + +
PropertyTypeDescription
routestringRoute property specific to WMLRoute. Default is "/".
+

WMLAnimateUIProperty

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
beginOpenStylesWMLUIProperty["style"]Styles for the beginning of the open animation.
beginCloseStylesWMLUIProperty["style"]Styles for the beginning of the close animation.
endOpenStylesWMLUIProperty["style"]Styles for the end of the open animation.
endCloseStylesWMLUIProperty["style"]Styles for the end of the close animation.
helperStylesWMLUIProperty["style"]Helper styles to prevent animation jank. Can be overwritten with {} if it interferes with your work.
animationClassstringCSS class specifically for animations.
animationStateWMLAnimateUIPropertyStateCurrent state of the animation.
animationEndEventSubject<WMLAnimateUIPropertyState>Triggers when the animation is finally opened or closed.
+

Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodSignatureDescription
getGroupAnimationState() => WMLAnimateUIPropertyStateReturns the current state of the animation.
animationEnd(evt?: Event) => voidHandles the animation end event.
openAnimation() => voidTriggers the open animation.
closeAnimation() => voidTriggers the close animation.
toggleAnimation(val: 'forward' | 'reverse') => voidToggles the animation based on the direction.
+

WMLImage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
srcstringSource URL for the image.
altstringAlternative text for the image.
ariaLabelstringARIA label for accessibility.
ariaExpandedbooleanARIA expanded state for accessibility. Default is false.
onErrorFunctionError handler for the image.
routestringRoute property specific to WMLRoute. Default is "/".
linkstringOptional link URL.
routerLinkstringOptional Angular router link.
cdrefChangeDetectorRefAngular ChangeDetectorRef associated with the component.
+

Functions

+

addCustomComponent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterTypeDescription
vcfViewContainerRefAngular ViewContainerRef for creating the component.
cpntType<any>Component type to be created.
propsanyProperties to be passed to the component.
returnComponentRef<any>Returns a reference to the created component.
,
+

Changelog

+

v0.9.4 +added WMLQueue just a regular Queue data structure thats all

+

v0.9.5 +added index accessing for WMLQueue

+

0.10.0

+

add generateRandomNumber, generateRandomColor,and selectRandomOptionFromArraywml

+

0.10.1

+

returned the ref created by addCustomComponent

+

0.10.2

+

WMLAPIPaginationRequestModel[“sort”][number][“direction”] enums are now “ASC” |“DESC” | ""

+

0.10.3

+

add WMLAPIPaginationResponseModel[“columns”] of type

+
Array<{
value:string,
type?:string
}>
+

to provide the developer column information

+

0.10.4

+

made WMLAPIPaginationResponseModel[“data”] Array generic

+

0.10.5

+

added generateClassPrefix method to functions

+

0.10.6

+
    +
  • updated Function signatuire on WMLUIProperty##click so the event option is optional
  • +
+

0.11.0

+
    +
  • provided WMLNGXTranslateLoader to work with ngx-translate
  • +
  • provided WMLModuleForRootProps to work with
  • +
+

0.11.1

+
    +
  • attempting to deal with an issue where numbers are being returned if no feature is present
  • +
+

1.0.0

+
    +
  • major change +functions##addCustomComponent ref.instance.ngOnInit?.() only gets called if the angular versions is less than 14.1.0
  • +
+

1.1.0

+
    +
  • minor change
  • +
  • added WMLDeepPartial, a utility types that will make all your nested properties optional
  • +
  • modified WMLNGXTranslateLoader##i18nLocation to return undefined so numbers dont turn to the indexes of the string
  • +
+

2.0.0

+
    +
  • MAJOR rename to angular-wml-components-base
  • +
+

2.1.1

+
    +
  • added fn replaceValuesWithPaths which will recursively go through an object and return a new obj with its values in path representation great for i18n
  • +
+

2.1.2

+
    +
  • made a fix in genearate random color, where some times 5 digits where returned
  • +
+

2.2.0

+
    +
  • WMLUIProperty.id by default is "" should help with type should hurt if your code depends on it it is still optional
  • +
+

2.2.3

+
    +
  • generateClassPrefix prefix parameter supports ="" as default use case,ids and will remove the subsequent _ if its there
  • +
  • WMLUIProperty[“id”] default param is ""
  • +
+

16.2.5-0

+
    +
  • provided access to WMLOptionsProps to the the container cpnt
  • +
+

16.2.70

+
    +
  • wmlapipaginationrequestmodel##filter[].value is now the any type +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package
  • +
+

16.2.92

+
    +
  • provided spyOnForES6Imports, which finally allows you to spyOnFunctions on es6 imports however refer to the stack overflow project on how to configure your angular app in order to get this to work it will not work alone
  • +
+

*in test.ts

+
...
const { defineProperty } = Object;
Object.defineProperty = function(object, name, meta) {
if (meta.get && !meta.configurable) {
// it might be an ES6 exports object
return defineProperty(object, name, {
...meta,
configurable: true,
});
}
+
return defineProperty(object, name, meta);
};
+
...
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
+
    +
  • tsconfig.spec.json
  • +
+
...
"compilerOptions": {
"outDir": "./out-tsc/spec",
"types": [
"jasmine","node"
],
"module": "commonjs"
},
...
+

16.2.93

+
    +
  • added mockDeclarations to wmltestutils so users can add their declarations +,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features
  • +
+

v16.2.112

+
    +
  • update type inference for replaceValuesWithPaths to be more friendly
  • +
+

v16.2.113

+
    +
  • added createBasicObservableError and WMLTestHttpHandler for interceptor test cases and throwing observable errors +,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package
  • +
+

v17.0.21

+
    +
  • added data-source-utils.ts to help with pagination and data source logic +,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package
  • +
+

v17.0.7300

+
    +
  • added WMLAnimateUIProperty as the basis for all entities meant to be animated
  • +
+

,

+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v17.0.8300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package
  • +
+

v17.0.8100

+
    +
  • prevented animation end event from propagating to child events, given the children are not exactly the same as the parent, +,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.8102

+
    +
  • added WMLAnimateUIProperty[“helperStyles”] to help animations run more smootly its value is
  • +
+
helperStyles:WMLUIProperty["style"]={
transform:"translate3d(0,0,0)"
}
+

and you can overwrite it as necessary +,

+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.9001

+
    +
  • added generateIdPrefix +,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package
  • +
+

v17.1.2

+
    +
  • [BREAKING CHANGE] added WMLAnimateUIProperty.autoOpen, by default animations dont don anything +if you need your animations to autoOpen simply go through all your class instances and make the update
  • +
+

,

+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • added toggle functionality for updateClassString +,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3001 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package
  • +
+

v17.2.3001 [3/22/24]

+
    +
  • created WMLComponentBaseZero which shortens and hides the complex logic of +our WMLComponents
  • +
+
New Features
+
    +
  • Introduced WMLComponentBaseZero, a new base class designed to simplify and encapsulate the complex logic associated with WML components. This enhancement aims to provide a cleaner and more intuitive interface for working with WML components.
  • +
+
Enhancements in component-base.ts:
+
    +
  1. +

    Refactored WMLComponentBaseZeroProps:

    +
      +
    • Transitioned from a traditional class-based approach to a mixin-based pattern using WMLComponentBaseZeroPropsMixin. This change is intended to enhance flexibility and reusability across different component implementations.
    • +
    • The mixin WMLComponentBaseZeroPropsMixin is now used to dynamically extend a base class, incorporating custom properties and methods essential for WML components.
    • +
    • Introduced a new setState method within the mixin, providing a streamlined way to update component state.
    • +
    +
  2. +
  3. +

    Introduced WMLComponentBaseZero:

    +
      +
    • This new base class leverages WMLComponentBaseZeroProps to offer a robust foundation for component development.
    • +
    • The constructor now initializes class and ID prefixes if they are provided, enabling more consistent and predictable styling and DOM structure.
    • +
    • Enhanced the listenForSetState method to work seamlessly with the new state management approach, ensuring changes are propagated efficiently and reliably.
    • +
    +
  4. +
+
Key Changes to Note:
+
    +
  • The listenForSetState method now listens to changes from setStateSubj, aligning with the new state management strategy.
  • +
  • Destructor (ngOnDestroy) logic has been updated to ensure proper cleanup, reducing the risk of memory leaks and ensuring better resource management.
  • +
+
Usage:
+
    +
  • To leverage the new WMLComponentBaseZero, extend your components from this base class and utilize the provided mechanisms for state management and lifecycle handling.
  • +
  • The mixin approach offers enhanced customization, allowing developers to inject additional properties or methods as needed.
  • +
+
Recommendations:
+
    +
  • Review the updated implementation details in WMLComponentBaseZero and WMLComponentBaseZeroPropsMixin to fully understand the new component structure and behavior.
  • +
  • Test your components thoroughly to ensure compatibility with the new base class and to leverage the improvements in state management and lifecycle handling.
  • +
+

This update signifies our commitment to improving the developer experience and streamlining component development within the WML ecosystem. +,

+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • +

    [UPDATE] Added a new fields array of type Array<{value:any}> to the WMLAPIPaginationRequestModel class in data-source-utils.ts. This new field is designed to hold additional data fields that may be required during pagination requests.

    +
  • +
  • +

    [PATCH] Modified the animationEnd method in the WMLAnimateUIProperty class within models.ts. The condition now removes any spaces from this.animationClass before checking its presence in the event target’s className. This ensures the animation end logic accurately identifies the target regardless of space characters in the class name. +,

    +
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • [PATCH] In wml-components-base/src/lib/component-base.ts, added a new ReplaySubject called setStateEvent, which enhances state management within the component. Also adjusted the RxJS pipe in the setState method to include an additional operation that emits the updated state to setStateEvent, improving the reactivity of the component state.
  • +
+

,

+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • added onError to wmlimage prperty +,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package
  • +
+

v17.3.5110 [4/20/24]

+
    +
  • [UPDATE] ensure dervied class passed type to base classes +Updated models.ts by add the WMLConstructorDecorator function, to streamline and optimize object initialization practices within the framework.
  • +
+
constructor(props:Partial<T>={}){
let origProps = Object.entries(props).filter(([key, val]) => {
return !key.startsWith('param');
});
Object.assign(this, { ...Object.fromEntries(origProps) });
}
+

so as not to overwhelm developers +to use

+
@WMLConstructorDecorator
export class T {
constructor(props: Partial<T> = {}) { }
}
+

,

+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/4/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.0 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package
  • +
+

v18.0.4 [5/25/2024 12:50:12 AM EST]

+

[UPDATE] Modified replaceValuesWithPaths function in functions.ts to include a predicate for custom assignments.

+

File: functions.ts +Section: replaceValuesWithPaths +Function: replaceValuesWithPaths() +,

+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package +,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package
  • +
+

v18.0.3010 [6/18/2024 ]

+
    +
  • [FIX] projects/wml-components-base/src/lib/models.ts - WMLConstructorDecorator function: Added props to this.wmlInit?.(props). This means developers can now pass props to wmlInit. +,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4010 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.0 [7/10/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.0 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.3000 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.3 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package
  • +
+

v18.1.6 [7/14/24]

+
    +
  • [FIX] fixed an error with WMLConstructorDecorator where WMLInit was not being called +,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package
  • +
+

v18.1.2300

+

7/27/2024 02:15:42 PM EST

+

[update] WMLRoute now extends WMLView in models.ts. If you were using WMLRoute, you now have access to WMLView’s properties, like cdref.

+

[update] Added new properties link and routerLink to WMLRoute in models.ts. This gives more flexibility for routing in your components.

+

[UPDATE] Changed WMLImage class to extend WMLRoute instead of WMLUIProperty in models.ts. This means WMLImage now includes routing properties route, link, and routerLink as well as cdref from WMLView +,

+

v18.1.2230 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3000 []

+
    +
  • [MAJOR BREAKING CHANGES]
  • +
  • WMLUIProperty id attribute is undefined by default this is for accessbility and QA so values are not all defined with "" +,
  • +
+

v18.1.3000-beta0 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3000-beta13 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • +

    updated package to conform with @windmillcode/angular-wml-components-base

    +
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-accordion/index.html b/library/wml-accordion/index.html new file mode 100644 index 0000000000..d4e7aaa155 --- /dev/null +++ b/library/wml-accordion/index.html @@ -0,0 +1,530 @@ + WML Accordion | Windmillcode Angular CDK + Skip to content

WML Accordion

The Windmillcode Angular WML Accordion library provides a set of components and services to create accordion functionalities in Angular applications. This library facilitates the development of accordions with customizable sections, and animation controls, using WMLUIProperty to ensure consistency in development practices. Developers can construct accordions that are responsive and adaptable to various content types and user interactions, enhancing the informational architecture of Angular-based web applications.

+

WMLAccordionZeroComponent is the container which is populated with WMLAccordionZeroItemComponent to populate the accordion. WMLAccordionZeroItemComponent is a dynamic component and by defuault is uses WMLAccordionZeroSampleComponent as the accordion body and WMLAccordionZeroTitleComponent as the title of the accordion. you will want to replace

+

Installation

+
Terminal window
npm install -s @windmillcode/angular-wml-accordion
+

Usage

+

Below are some usage examples of the WML Accordion Zero library for various development needs:

+

Getting Started

+

at its very core this is all you need to get started with the accordion +as default parameters already exist to show you how to use the accordion

+ +

To configure the amount of sections:

+

items is a 2D array of WMLAccordionZeroItemProps so if you want x sections you can add WMLAccordionZeroItemProps in whatever Array 2d configuration you like

+ +

Use Custom Components

+ +

Dynamic Update

+

This example shows how to dynamically load content into the accordion sections:

+ +

Programmatically Open And Close

+ + +

Customization

+

There are the color pallete +, media queries ,spacing and common that you can use to customize the accordion. in your css simply replace the values with the ones you want to use and the component will take on the look. the variables are very specific and even named after the component to avoid any overlapping issues

+ +

Docs

+

WMLAccordionZeroProps

+ + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
idstringAn optional identifier for the accordion component.
items<WMLAccordionZeroItemProps[][]>A 2D array of accordion item parameters to define each section.
+

WMLAccordionZeroItemProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
idstringAn optional identifier for the accordion item.
propTitlestringThe title text for the accordion item.
isClosedbooleanIndicates whether the accordion item is initially closed.
toggleAccordionEventSubject<boolean>An event that toggles the accordion item’s open/close state.
toggleAccordionSubjSubject<{ val: boolean; emit: boolean }>Subject to programmatically toggle the accordion’s state.
accordionBodyWMLCustomComponentThe component to render as the accordion item’s body.
updateAccordionBodySubjSubject<WMLCustomComponent>Subject to dynamically update the content of the accordion body.
startHeightstringCSS value for the starting height during the opening animation.
endHeight0stringCSS value for the end height during the opening animation.
endHeight1stringCSS value for the end height during the closing animation.
animationDuration0stringDuration of the opening animation.
animationDuration1stringDuration of the closing animation.
+

WMLAccordionZeroSampleProps

+ + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionDefault Value
idstringIdentifier for the sample component.""
+

WMLAccordionZeroTitleProps

+ + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescriptionDefault Value
idstringIdentifier for the sample component.""
titlestringText for the accordion title."My Accordion Title"
+

These tables provide an overview of the key elements within the WML Accordion Zero library that developers can interact with to customize and control accordion behavior in their Angular applications.

+

Changelog

+

v0.0.1

+
    +
  • can specify multiple accordion with in the component and specifiy your child compoennt as well
  • +
  • if you want the accordion body to be the same width as its header fintd the target accordion and specify its width
  • +
+
.WMLAccordionZeroPod0 wml-accordion-zero-item:nth-child(1){
flex: 0 0 20%!;
}
+

v 0.0.2

+
    +
  • coorect dependencies
  • +
+

v 0.0.3

+
    +
  • end devs can now decide whether an accordion is open on init or not
  • +
+

v 16.2.5-0

+
    +
  • end devs can control animations values for the the accordion +here are the default values that get passed to the scss
  • +
+
startHeight = "calc(0/10.6 * 1rem)"
endHeight0 = "calc(20000/10.6 * 1rem)"
endHeight1 = "calc(2000/10.6 * 1rem)"
animationDuration0 = "10s"
animationDuration1 = "1.25s"
+

,

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package
  • +
+

v17.2.1001 [2/21/24]

+
    +
  • [UPDATE] added WMLAccordionZeroItemProps.updateAccordionBodySubj to toggle the accordion body as needed,
  • +
  • [UPDATE] you can customize the title via WMLAccordionZeroItemProps.accordionTitle +,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.0 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base , +,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.0 [7/10/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.3 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3000-beta13 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-button/index.html b/library/wml-button/index.html new file mode 100644 index 0000000000..30a9fd52ff --- /dev/null +++ b/library/wml-button/index.html @@ -0,0 +1,593 @@ + WML Button | Windmillcode Angular CDK + Skip to content

WML Button

The wml-button library is an Angular-focused toolkit designed to provide developers with versatile and customizable button components. Its primary goal is to offer a streamlined approach to implementing interactive buttons within Angular applications, addressing common challenges such as dynamic content loading, user interaction handling, and flexible styling. By delivering a set of modular and adaptable components, the library aims to enhance the development workflow and enrich the user experience across diverse application scenarios.

+

The library includes two primary components:

+
    +
  • WmlButtonZeroComponent: A comprehensive component offering deep customization options.
  • +
  • WmlButtonOneComponent: A simpler alternative for basic button needs with less complexity.
  • +
+

Installation

+
Terminal window
npm install -s @windmillcode/angular-wml-button
+

WMLButtonOne

+

Usage

+

Getting Started

+

IMPORTANT YOU NEED TO SET SKIP LIB CHECK TO TRUE IN tsconfig.json +Button-One is suitable for most tasks

+ +

Change Button Text

+ +

Create Click Action

+ +

Set Icon

+

Use the url to any icon of your choice

+ +

Change Button Types

+ +

WMLButtonZero

+

Usage

+

Getting Started

+

IMPORTANT YOU NEED TO SET SKIP LIB CHECK TO TRUE IN tsconfig.json +Button-One is suitable for most tasks

+ +

Create Click Action

+ +

Change Text

+ +

Set Icon

+

Use the url to any icon of your choice

+ +

Change Button Types

+ +

Reference

+

Properties

+

WmlButtonZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
idstringUnique identifier for the button component.
cdrefChangeDetectorRefOptional. Angular’s ChangeDetectorRef associated with the component for triggering change detection manually.
updateSubjSubject<Partial<WmlButtonZeroProps>>Subject to emit updates for the component. Useful for reactive programming patterns.
typeWMLButtonPropsTypeEnumThe type of the button, determining its styling. Can be PRIMARY, SECONDARY, or TERTIARY.
textWMLUIPropertyOverrides the text property to set the button’s display text.
buttonWMLUIPropertyOverrides the button property to customize click behavior.
iconsArray<WMLImage<any, WMLButtonIconType>>Overrides the icons property to customize the button’s icons.
+

WmlButtonOneProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
btnClassstringGets or sets the button’s primary CSS class.
btnStylePartial<CSSStyleDeclaration>Partial CSS styles for the button.
btnIsPresentbooleanIndicates whether the button is present in the DOM.
typeWMLButtonPropsTypeEnumThe type of the button, influencing its styling. Can be PRIMARY, SECONDARY, or TERTIARY.
iconTypeWMLButtonIconTypeThe type of icon used in the button.
textstringThe display text of the button.
updateSubjSubject<Partial<WmlButtonOneProps>>Subject to emit updates for the component.
+

Methods

+

WmlButtonZeroProps

+
    +
  • constructor(props: Partial<WmlButtonZeroProps> = {}): Initializes a new instance of the WmlButtonZeroProps class with optional parameters for customization.
  • +
  • updateBtnClasses(value: WMLButtonPropsTypeEnum): Updates the button’s classes based on the specified type (PRIMARY, SECONDARY, or TERTIARY).
  • +
+

WmlButtonOneProps

+
    +
  • constructor(props: Partial<WmlButtonOneProps> = {}): Initializes a new instance of the WmlButtonOneProps class with optional parameters for customization.
  • +
  • updateBtnClassString(value: string): Updates the button’s primary CSS class.
  • +
  • updateBtnClasses(value: WMLButtonPropsTypeEnum): Updates the button’s classes based on the specified type (PRIMARY, SECONDARY, or TERTIARY).
  • +
  • click(evt?): Custom click handler for the button.
  • +
+

Changelog

+
    +
  • v0.0.1 +button is ready to be used
  • +
  • v0.0.2 +include cursor pointer for the button view
  • +
  • v0.0.3 +gave hover functionality to the button
  • +
  • 1.0.0 +BREAKING change WmlButtonZeroProps.icon changed to WmlButtonZeroProps.icons to represent the multiple icons one can have on the button +WmlButtonZeroProps.icons[number] which is a WMLImage now has type of img or icon, if a type is not specified an img is used +the icon comes before the text and not after the text
  • +
  • 2.0.0 +BREAKING CHANGE +WmlButtonZeroPropsTypeEnum renamed to WMLButtonPropsTypeEnum +created wml-button-one component which leverages wmlButton for easier button creation
  • +
  • 2.1.0 +
      +
    • full support for wml-button-one
    • +
    +
  • +
  • 2.1.1 +
      +
    • add WmlButtonOneProps.btnIsPresent to show and hide buttons
    • +
    +
  • +
  • 3.0.0 +
      +
    • ensured that there is support for ngx-translate and non ngx-translate features
    • +
    • to enable translation
    • +
    +
  • +
+
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
+
HttpClientModule,
WmlButtonZeroModule
.forChild(
new WMLModuleForRootProps({
ngxTranslateLoaderFactory:HttpLoaderFactory
})
),
+
    +
  • to disable translation
  • +
+
WmlButtonZeroModule
+

4.0.1

+
    +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlButtonZeroNGXTranslateModule
// for regular
WmlButtonZeroModule
+

4.0.5

+
    +
  • added css id support, and made cdref available on the props
  • +
+

4.0.7

+
    +
  • add id support on the selector element itself
  • +
+

16.2.70

+
    +
  • for wmlbuttonzero, added additional wmluiproperty to button zero
  • +
+

,

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6s of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.8103

+
    +
  • [FIX] ensured that change detection was working for buttons +,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.8104

+
    +
  • [FIX] toggle margin between icon and text for wml-button-one when iconIsPresent is set to true +,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.9002

+
    +
  • updated WmlButtonOneProps.click to have optional evt paramaeter +,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.1.2002 [2/8/24]

+
    +
  • corrected code so no text should wrap if the text overflows the button +,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package
  • +
+

17.2.1001 [2/21/24]

+
    +
  • [UPDATE] added WmlButtonZeroProps.listenForUpdate amd WmlButtonOneProps.listenForUpdate so changes that dont reflect by assignment would reflect this way
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.0 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.0 [7/10/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.3 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package
  • +
+

v18.1.5 [7/13/24]

+
    +
  • [FIX] - fixed a bug with the default type not showing +,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package
  • +
+

v18.1.2300

+

[7/26/2024 4:05:00 PM EST]

+

[UPDATE] Updated wml-button-one.component.html, added conditional links for props.link and props.routerLink +[UPDATE] Updated wml-button-one.component.scss, added styles for links and removed unnecessary comments +[BREAKING CHANGE] Added encapsulation: ViewEncapsulation.None in wml-button-one.component.ts +[UPDATE] Added RouterModule to imports in wml-button-zero.module.ts +,

+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta0 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-chips/index.html b/library/wml-chips/index.html new file mode 100644 index 0000000000..2e6c02305d --- /dev/null +++ b/library/wml-chips/index.html @@ -0,0 +1,481 @@ + WML Chips | Windmillcode Angular CDK + Skip to content

WML Chips

The Angular WML Chips library provides a highly customizable chips component for Angular applications. It offers a variety of features to enhance user interaction and improve the overall user experience.

+

Installation

+

To install the Angular WML Chips Zero library, use the following command:

+
Terminal window
npm install @windmillcode/angular-wml-chips
+

Usage

+

WMLChipsZeroComponent

+

Getting Started

+ +

Custom Placeholder

+ +

Limit Chips

+ +

Custom Form Array

+ + +

Custom Button

+ +

CSS Customization

+

The WML Chips Zero component comes with several CSS variables and SCSS mixins that allow you to customize its appearance to fit your design needs.

+

CSS Variables

+

The following CSS variables can be customized:

+
:root {
--wml-chips-white: 255,255,255;
--wml-chips-black: 0,0,0;
--wml-chips-primary: 144,238,144;
--wml-chips-secondary: 112,112,112;
--wml-chips-primary-gradient: radial-gradient(farthest-corner at 100% 0px, rgb(144,238,144) 0%, rgb(112,112,112) 150%);
--wml-chips-secondary-gradient: radial-gradient(farthest-corner at 100% 0px, grey 0%, rgb(0,0,0) 150%);
}
+

SCSS Mixins

+

FlexColumnCenter

+
@mixin FlexColumnCenter {
display: flex;
flex-direction: column;
align-items: center;
}
+

Media Queries

+
$mobile: 'only screen and (max-width: 767px)';
$desktop: 'only screen and (min-width: 1200px)';
+

Spacing Variables

+
$wml-chips-spacing0: calc(1/16* 1rem);
$wml-chips-spacing1: calc(2/16* 1rem);
$wml-chips-spacing2: calc(4/16* 1rem);
$wml-chips-spacing3: calc(8/16* 1rem);
$wml-chips-spacing4: calc(12/16* 1rem);
$wml-chips-spacing5: calc(16/16* 1rem);
+

Reference

+

WMLChipsZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
limitnumberThe maximum number of chips allowed. Default is Infinity.
wmlFieldWMLFieldZeroPropsThe field properties for the WML Chips component.
formArrayFormArrayThe form array to store the chip values.
updateFormArrayPredicate(val: string) => anyFunction to transform chip value before adding to form array.
placeholderstringPlaceholder text for the input.
userInputsAriaLabelstringARIA label for user inputs.
removeChipAriaLabelstringARIA label for the remove chip button.
userInputsArray<string>The list of user inputs (chips).
clearBtnWMLButtonOnePropsProperties for the clear button.
+ +

Changelog

+

v1.0.0

+
    +
  • ensured that there is support for ngx-translate and non ngx-translate features
  • +
  • to enable translation
  • +
+
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
HttpClientModule,
WMLChipsZeroModule
.forChild(
new WMLModuleForRootProps({
ngxTranslateLoaderFactory:HttpLoaderFactory
})
),
+
    +
  • to disable translation
  • +
+
WMLChipsZeroModule
+

v1.0.1 -> v1.0.2

+
    +
  • atteptimg to fix dependencies
  • +
+

2.0.0

+
    +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WMLChipsZeroNGXTranslateModule
// for regular
WmlChipsModule
+

3.0.0

+
    +
  • MAJOR : reanme to angular-wml-chips-zero +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package +,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package
  • +
+

v17.3.5100 [4/23/24]

+
    +
  • [BREAKING CHANGE] - removed mat-autocomplete from chip control
  • +
+

v17.3.5110 [4/27/24]

+
    +
  • [UPDATE] added wmlField so now formArray does not need to be specified and comes from wml-form +[UPDATE] +Updated chip styling in wml-chips-zero component for a more modern look and feel.
  • +
+

[PATCH] +Removed dependency on @angular/material in wml-chips-zero, reducing the package’s dependency footprint +[UPDATE] +Introduced @windmillcode/angular-wml-button-zero in dependencies to enhance button functionalities in wml-chips-zero. +,

+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.0 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.0 [7/10/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.3 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-field/index.html b/library/wml-field/index.html new file mode 100644 index 0000000000..5a2d9c8511 --- /dev/null +++ b/library/wml-field/index.html @@ -0,0 +1,590 @@ + WML Field | Windmillcode Angular CDK + Skip to content

WML Field

The Angular WML Field library is an Angular-based framework designed to enhance the functionality and management of form fields within web applications. It provides a robust set of components and services that simplify the creation, validation, and handling of form fields, addressing common challenges faced by developers in form management. The library integrates seamlessly with Angular’s reactive forms module, offering additional utilities for field state management, validation messaging, and dynamic content loading, thereby streamlining the form development process and improving user interaction.

+

At the core of the angular-wml-field library are several central components, including WMLFieldZero and WMLLabelZero, each serving a distinct purpose within the form management ecosystem. WMLFieldZero acts as a container for individual form fields, encapsulating the logic for field rendering, validation, and interaction. It allows for the integration of custom components, enhancing flexibility and extensibility. WMLLabelZero, on the other hand, is dedicated to managing field labels and validation messages, supporting dynamic content capabilities. These components are designed to work in unison, with WMLFieldZero typically serving as a parent container that orchestrates the behavior of nested label and input components. Developers can customize these components through various input parameters and methods, enabling the creation of tailored form experiences that cater to specific application needs.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-field
# needed to practically work with the field
npm install -d @windmillcode/angular-wml-input
+

Usage

+

WMLFieldZero

+

Getting Started

+
    +
  • For advanced customization you can have as many labels and errors
  • +
+ +

Error Messages

+ +

Editing Field Features

+ +

Advanced Setup

+ +

Reference

+

WMLFieldZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
self.type"standalone" | "wml-card"Determines the type of field, either standalone or wrapped in a card.
label.type"custom"Specifies the type of label component; currently, only custom labels are supported.
field.type"input" | "custom"Indicates the type of field, either a standard input or a custom field component.
field.parentFormFormGroupThe parent FormGroup instance to which this field belongs.
field.formControlNamestringThe name of the form control within the parent form group.
error.type"custom"Specifies the type of error display; currently, only custom error components are supported.
+

WMLFieldZeroProps Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodSignatureDescription
getReactiveFormControl() => AbstractControlRetrieves the AbstractControl associated with this field.
getParentForm() => FormGroupReturns the parent FormGroup of this field.
getFormControlName() => stringGets the name of the form control associated with this field.
getLabel() => stringRetrieves the label’s text value.
getRequiredLabel() => stringFetches the required label’s text value if it exists.
updateLabel(label: string) => voidUpdates the label’s text value.
updateRequiredLabel(label: string) => voidUpdates the required label’s text value.
deleteLabel() => voidRemoves the label text.
deleteRequiredLabelPart() => voidRemoves the required label text.
+

WMLLabelZeroProps Class Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
cdrefChangeDetectorRef?Optional reference to Angular’s change detection mechanism.
type'label' | 'error'Determines the label type, either for standard labels or error messages.
isPresentbooleanFlag indicating if the label should be displayed.
errorMsgsObjectAn object containing error message mappings.
labelsArray<Array<{ type?: 'default' | 'error' | 'required' | 'errorLink' | 'defaultLink', value: string, isPresent?: boolean }>>Defines the label parts and their properties.
wmlFieldWMLFieldZeroPropsReference to the associated WMLField instance.
+

WMLLabelZeroProps Class Methods

+ + + + + + + + + + + + + + + +
MethodSignatureDescription
toggleErrors(formControl: AbstractControl) => string[]Determines which error messages to display based on the form control’s state. Used interally probably triggerable plans to make it fully triggerable so if the errorMsgs are updated you can manually update the erros in the view
+

Changelog

+

v0.0.6

+

added updateLabel and updateRequiredLabel wrappers for updateLabelPart which allow to update the input of a field

+

v1.0.0

+
    +
  • ensured that there is support for ngx-translate and non ngx-translate features
  • +
  • to enable translation
  • +
+
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
HttpClientModule,
WMLFieldModule
.forChild(
new WMLModuleForRootProps({
ngxTranslateLoaderFactory:HttpLoaderFactory
})
),
+
    +
  • to disable translation
  • +
+
WMLFieldModule
+

2.0.0

+
    +
  • MAJOR rename to angular-wml-field +
      +
    • fixed major problems concerning ngx-translate
    • +
    +
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WMLFieldNGXTranslateModule
// for regular
WMLFieldModule
+
    +
  • package uses @windmillcode/angular-wml-components-base
  • +
+

2.1.0

+
    +
  • provided serveral methods to help with retrieving different values realted to the fields
  • +
+
getReactiveFormControl
getLabel
getRequiredLabel
getLabelPart
updateLabel
updateRequiredLabel
updateLabelPart
deleteLabelPart
deleteRequiredLabelPart
deleteLabel
+

2.1.1

+
    +
  • made id accessible on selector itself, access via wmlField.view.id
  • +
+

16.2.60

+
    +
  • added +WMLField#getParentForm +WMLField#getFormControlName +as additional methods
  • +
+

16.2.70

+
    +
  • added addititional features +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package
  • +
+

v16.2.92

+
    +
  • made BREAKING CHANGES to wmlfield replacing all WMLCustomComponent.meta with WMLCustomComponent.props +,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +[PATCH] +Enhanced WMLField class in wml-field.component.ts by adding generic types for form control and parameters, allowing more flexible and type-safe custom component integrations.
  • +
+

[UPDATE] +Added getFieldProps and updated getReactiveFormControl methods in WMLField class for better handling and customization of form controls and their properties. +,

+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.3 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package
  • +
+

v18.1.2100 [7/26/24]

+
    +
  • [BREAKING CHANGE] replaced main tags with div tags +,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001

+
    +
  • [BREAKING CHANGES] WMLFieldZero props default constructor object property is now a WMLDeepPartial of the class
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-file-manager/index.html b/library/wml-file-manager/index.html new file mode 100644 index 0000000000..e758416b0e --- /dev/null +++ b/library/wml-file-manager/index.html @@ -0,0 +1,467 @@ + WML File Manager | Windmillcode Angular CDK + Skip to content

WML File Manager

The Angular WML File Manager library is designed to enhance Angular applications by providing robust file upload capabilities. This library streamlines the process of integrating file upload functionality, addressing common challenges such as handling multiple file formats, validating file sizes, and providing feedback on the upload process. Its primary goal is to offer a configurable and efficient solution for developers to incorporate file upload features into their applications, with a focus on ease of use and flexibility.

+

At the heart of the library are several key components that facilitate its core functionality. The library includes components for file selection, upload progress indication, and error handling. These components work in concert to provide a seamless user experience, allowing for the asynchronous upload of files with real-time progress feedback. Developers have the ability to customize these components, tailoring the file upload experience to their application’s specific needs. Parameters and services are exposed to enable customization, such as defining file size limits, specifying allowed file types, and customizing the UI elements. The library also supports interactivity, offering hooks and events that developers can leverage to create dynamic responses to the file upload process. In terms of implementation, the library encourages a modular approach, where developers can integrate and configure the file upload components within their existing Angular applications, ensuring flexibility and adaptability to various use cases.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-file-manager
+

Usage

+

WMLFileUploadZero

+

Getting Started

+ +

Change Field Text

+ +

Change Limit

+ +

Allow Duplicates

+ +

Custom Validation

+
    +
  • when this is applied you are replacing validation for duplicates and limit and must reimplement again its planned to make it plug and play
  • +
+ + +

Handling File Upload

+

Diode Reverse Proxy

+ +

Reference

+

WMLFileUploadZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
filesWMLFileUploadZeroItem[]The list of files to be uploaded.
dragDropTextstringText displayed for the drag-and-drop area.
browseFileTextstringText displayed on the browse button.
limitnumberThe maximum number of files that can be uploaded.
formArrayFormArray<AbstractControl>Angular FormArray to track the state of uploads.
duplicatesbooleanWhether to allow duplicate files.
uploadFn(item:WMLFileUploadZeroItem)=> Observable<any>Function to call when a file is uploaded. This is where you usually upload files to a server
updateFormArrayPredicateFunctionFunction to update the FormArray based on current files.
uploadAllowedPredicate(file: File, fileList: File[]) => booleanFunction to determine if a file upload is allowed.
afterUploadPredicate() => WMLFileUploadZeroItem[]Function called after files are selected/uploaded.
+ +

Changelog

+

0.1.7

+

uploadAllowedPredicate - allows developer to edit the files list after the uploadAllowedPredicate validation for additional modfication or aux tasks as needed +be sure to return WMLFileUploadZeroItem[] | this.props.files as necessary

+

1.0.0

+
    +
  • ensured that there is support for ngx-translate and non ngx-translate features
  • +
  • to enable translation
  • +
+
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
HttpClientModule,
WmlFileManagerModule
.forChild(
new WMLModuleForRootProps({
ngxTranslateLoaderFactory:HttpLoaderFactory
})
),
+
    +
  • to disable translation
  • +
+
WmlFileManagerModule
+

1.0.1

+
    +
  • minor dependency update
  • +
+

2.0.0

+
    +
  • MAJOR rename to angular-wml-file-manager +
      +
    • fixed major problems concerning ngx-translate
    • +
    +
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlFileManagerNGXTranslateModule
// for regular
WmlFileManagerModule
+

%!(EXTRA string=

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • [UPDATE] +Changed the updateFormArrayPredicate function in WMLFileUploadZeroComponent of wml-file-upload.component.ts to wrap the file parameter in a new WMLFileUploadZeroItem. This helps ensure that items are handled correctly in the form array, affecting how files are uploaded using the component. +,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-form/index.html b/library/wml-form/index.html new file mode 100644 index 0000000000..2ef0d7752c --- /dev/null +++ b/library/wml-form/index.html @@ -0,0 +1,187 @@ + WML Form | Windmillcode Angular CDK + Skip to content

WML Form

The Angular WML Form Libary is a versatile and customizable library designed to streamline form creation and management in Angular applications. This component offers the following features:

+
    +
  • Dynamic Field Management: Easily manage and update fields dynamically using the updateFields and updateFieldsWrapper methods.
  • +
  • Flexible Layouts: Define field sections to organize and layout fields in a structured manner.
  • +
  • Responsive Design: Ensures forms look great on various screen sizes with built-in media queries.
  • +
  • Custom Styling: Supports custom styles including glassmorphism effects for a modern UI.
  • +
  • Input Handling: Handles various types of inputs including standalone fields and WML cards.
  • +
  • Event Handling: Emits events when fields are updated, allowing for reactive and interactive forms.
  • +
+

Installation

+
Terminal window
npm install @windmillcode/angular-wml-form
# to populate the field, submit form
npm install @windmillcode/angular-wml-field
npm install @windmillcode/angular-wml-input
npm install @windmillcode/angular-wml-button
+

Usage

+

WMLFormZero

+

Basic Form Setup

+ +

Form Submission

+
    +
  • the FormGroup is applied at the field level not the form level so essentiallly you do not need wml-form-zero to create your custom form
  • +
+ +

Dynamic Field Update

+
    +
  • it replaces so you need the orginal field in case of adding fields
  • +
+ +

Field Sections

+
    +
  • using field sections helps style the layout of the form
  • +
  • All you have to do is to apply display flex to the target form
  • +
+ + +

Reference

+

WMLFormZeroComponent Properties

+ + + + + + + + + + + + + + + +
PropertyTypeDescription
propsWMLFormZeroPropsThe main properties object for configuring the form.
+

WMLFormZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
viewWMLViewView configuration for the form.
fieldsArray<WMLFieldZeroProps>List of fields in the form.
fieldSectionsArray<number>Array defining the layout sections of the fields.
fieldsUpdatedEventSubject<void>Event emitted when fields are updated.
resetFieldSections() => voidMethod to reset field sections.
updateFields(fields: Array<WMLFieldZeroProps>) => voidMethod to update fields.
+ + +

This structured and organized documentation provides a clear and comprehensive guide for developers to understand and use the WMLFormZero component effectively.

+

Changelog

+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-infinite-dropdown/index.html b/library/wml-infinite-dropdown/index.html new file mode 100644 index 0000000000..de4482c17c --- /dev/null +++ b/library/wml-infinite-dropdown/index.html @@ -0,0 +1,536 @@ + WML Infinite Dropdown | Windmillcode Angular CDK + Skip to content

WML Infinite Dropdown

The Angular WML Infinite Dropdown library library provides a flexible and dynamic dropdown component for Angular applications, aiming to enhance user interfaces with nested and infinitely cascading options. It addresses the need for a versatile dropdown menu in Angular projects, offering a solution that supports multiple levels of navigation and interaction. This library is particularly useful for developers looking to implement complex menu structures without the hassle of managing intricate state logic or nested structures manually.

+

Central to this library is the WmlInfiniteDropdownComponent, which serves as the main container for the dropdown items. This component can be dynamically populated with a variety of options and sub-options, allowing for deep nesting and a hierarchical menu structure. Alongside it, the WmlInfiniteDropdownItemComponent represents individual items within the dropdown, which can be further customized using the WmlSampleInfiniteDropdownItemComponent. These components work in tandem to render the dropdown menu, manage its state, and handle user interactions. Developers can customize the appearance and behavior of the dropdown through parameters like WmlInfiniteDropdownProps and WmlInfiniteDropdownOption, which offer control over the items’ content, styling, and interaction handlers. This level of interactivity and customization enables the creation of complex menu systems that are both functional and visually appealing. The library’s design encourages a modular approach, where the main dropdown component acts as a container that can be filled with various configurable options, promoting reusability and maintainability in Angular applications.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-infinite-dropdown
+

Usage

+

To integrate the wml-infinite-dropdown component into your Angular project, you can follow these examples to cater to various development needs. The examples demonstrate how to use the component in your template (HTML) and how to configure it in your TypeScript file.

+

WMLInfiniteDropdownZero

+

Basic Example

+ +

Customizing Dropdown Options

+ +

Adding Options

+
    +
  • open the preview in a browser and view the hierachy for the true infinite dropdown
  • +
+ + +

Clicking On A Menu Item

+ +

Reference

+

WMLInfiniteDropdownZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
optionsArray<WMLInfiniteDropdownZeroOption | WMLInfiniteDropdownZeroProps>List of options or sub-dropdowns.
customizeObjectObject to customize dropdown and option properties.
optionsSubjSubject<WMLInfiniteDropdownZeroInputOptions>Subject to handle options updates.
styleanyStyle object for custom styling.
openClassstringClass name to be applied when the dropdown is open.
closedClassstringClass name to be applied when the dropdown is closed.
updateOptionsFunctionFunction to update the dropdown options.
getDropdownStatesFunctionFunction to get the open and closed states of the dropdown.
toggleDropdownViaDropdownFunctionFunction to toggle the dropdown on hover interaction.
toggleDropdownFunctionFunction to programmatically toggle the dropdown.
+

WMLInfiniteDropdownZeroOption

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
textstringDisplay text for the dropdown option.
dropdownWMLInfiniteDropdownZeroPropsNested dropdown parameters, if any.
openDropdownFunctionFunction to programmatically open the dropdown.
closeDropdownFunctionFunction to programmatically close the dropdown.
customWMLCustomComponentCustom component to be used as the dropdown item.
detectChangeSubjSubject<void>Subject to handle change detection.
clickPredicateFunctionPredicate function to be called on click.
+

Changelog

+

.0.0.1

+

infinite dropdown supported

+

. 0.0.2

+

custom dropdown entries supported

+

. 0.1.0

+

able to customerize option containers +able to specficy an interactionType of hover or click

+

0.1.1

+

safari ios support replaced option tag with p tag to get component options to render

+

0.1.2

+

proivded WmlInfiniteDropdownOption.detectChangeSubj the end developer can call to detectChanges when the developer makes an update that should reflect visually on the UI

+

0.1.3

+

removed unneeded WmlInfiniteDropdownComponent.listenForOptions changes

+

0.1.4

+

removed a console.log stmt

+

0.1.5

+
    +
  • added cursor pointer to the WmlInfiniteDropdownItemComponent
  • +
+

0.2.0

+
    +
  • added closeDropdown and openDropdown
  • +
+

0.2.1

+
    +
  • addded WMLInfiniteDropdownOptionBase to help with typing issues using as base for options and dropdown classes. added id for optionsProps for e2e testing
  • +
+

1.0.1

+
    +
  • MAJOR rename to angular-wml-infinite-dropdown +
      +
    • fixed major problems concerning ngx-translate
    • +
    +
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlInfiniteDropdownZeroNGXTranslateModule
// for regular
WmlInfiniteDropdownZeroModule
+

1.0.2

+
    +
  • added isPresnt support to hide the p tag for wml-sample-dropdown-option
  • +
+

1.0.3

+
    +
  • remove max width for dropdown items
  • +
+

1.1.0

+
    +
  • added cdref access to WmlInfiniteDropdownOption and WmlInfiniteDropdownProps which extends WMLView
  • +
+

1.1.1

+
    +
  • added components cdref to WmlInfiniteDropdownProps +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to reflect the version v16.2.93 of @angular/core package, ,
  • +
+

v16.2.100

+
    +
  • updated package to reflect the version v16.2.100 of @angular/core package, ,
  • +
+

v16.2.110

+
    +
  • updated package to reflect the version v16.2.110 of @angular/core package, ,
  • +
+

v16.2.120

+
    +
  • updated package to reflect the version v16.2.120 of @angular/core package, ,
  • +
+

v17.0.10

+
    +
  • updated package to reflect the version v17.0.10 of @angular/core package, ,
  • +
+

v17.0.11

+
    +
  • updated package to reflect the version v17.0.11 of @angular/core package,
  • +
+

v17.0.12

+
    +
  • updated css and scss variables for the component to be indepent of windmillcode applications +,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package
  • +
+

v17.1.3001 [2/8/24]

+
    +
  • added isPresent to WmlInfiniteDropdownProps constructor +,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package
  • +
+

v18.1.2300 [7/26/2024 3:45:00 PM EST]

+

[UPDATE] Updated models.ts file, replaced WMLView with WMLRoute for WMLInfiniteDropdownOptionBase

+

[UPDATE] Added conditional links to wml-sample-infinite-dropdown-item.component.html for routerLink and href properties

+

[CHECKPOINT] Updated *ngIf conditions to handle props.routerLink and props.link in wml-sample-infinite-dropdown-item.component.html +,

+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-input/index.html b/library/wml-input/index.html new file mode 100644 index 0000000000..43e2208b5f --- /dev/null +++ b/library/wml-input/index.html @@ -0,0 +1,519 @@ + WML Input | Windmillcode Angular CDK + Skip to content

WML Input

The Angular WML Input library is a specialized Angular component designed to enhance the form input experience in Angular applications. It provides a robust set of features that simplify the process of creating, validating, and managing form inputs, particularly focusing on user interaction and data binding. The library aims to solve common problems associated with form handling in Angular, such as maintaining sync between the UI and the model, providing instant feedback to users, and integrating seamlessly with Angular’s form validation mechanisms. By offering a comprehensive suite of input-related functionalities helps developers build more interactive, user-friendly forms with less boilerplate code.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-input @windmillcode/angular-wml-field
+

Usage

+

WMLInputZero

+

Getting Started

+

Input Fields

+ +

Reference

+

WMLInputZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
inputWMLInputZeroAreaPropsInput area parameters
textareaWMLInputZeroAreaPropsTextarea parameters
rangeWMLInputZeroAreaPropsRange input parameters
checkboxWMLInputZeroCheckboxPropsCheckbox input parameters
datetimeWMLInputZeroDatetimePropsDatetime input parameters
type”datetime” | “range” | “input” | “number” | “password” | “email” | “tel” | “textarea” | “checkbox”Input type
wmlFieldWMLFieldWMLField instance for customization
+

WMLInputZeroAreaProps

+ + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
placeholderstringPlaceholder for input area
autocompletestringString values for the autocomplete attribute
+

WMLInputZeroCheckboxProps

+ + + + + + + + + + + + + + + +
PropertyTypeDescription
descanyDescription for checkbox input
+

WMLInputZeroDatetimeProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
minDateMinimum date for input
maxDateMaximum date for input
htmlMinstringHTML-formatted minimum date
htmlMaxstringHTML-formatted maximum date
autocompletestringString values for the autocomplete attribute
+

Changelog

+

2.0.0

+

BREAKING CHANGE +WmlInputProps.input,WmlInputProps.textarea now have the type WMLInputAreaProps which extends WMLUIProperty with the placeholder +application code will break must be updated

+

3.0.1

+
    +
  • MAJOR rename to angular-wml-input +
      +
    • fixed major problems concerning ngx-translate
    • +
    +
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlInputNGXTranslateModule
// for regular
WmlInputModule
+
    +
  • all input types have id properties
  • +
+

16.2.6-0

+
    +
  • added in datetime support along with min max controls
  • +
  • example
  • +
+
new WmlInputProps({
type:"datetime",
datetime:new WMLInputDatetimeProps({
min:new Date()
})
}),
+

16.2.61

+
    +
  • added support to help customize checkbox
  • +
+

16.2.70

+
    +
  • additional updates
  • +
+

16.2.71

+

[BREAKING CHANGE]

+
    +
  • input does not use the id from the wmlfield.view, it uses its own corresponding type id +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.8101

+
    +
  • replaced ControlValueAccessor with the use of the formcontrol from wmlField.getReactiveFormControl, making integration without wml-form much easier +,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.1.1001 [2/5/24]

+
    +
  • added feature where each type can get its own class added to the target input element
  • +
+

,

+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3001 [8/2/24]

+

[BREAKING CHANGE] removed WMLInputZeroProps.checkboxDesc

+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-mobile-nav/index.html b/library/wml-mobile-nav/index.html new file mode 100644 index 0000000000..efa162f29a --- /dev/null +++ b/library/wml-mobile-nav/index.html @@ -0,0 +1,436 @@ + WML Mobile Nav | Windmillcode Angular CDK + Skip to content

WML Mobile Nav

The Angular WML Mobile Nav library offers a comprehensive solution for integrating a mobile navigation menu into Angular applications. It’s designed to enhance user experience on mobile devices by providing a dynamic and responsive navigation system. The library leverages Angular’s powerful framework to offer a seamless and interactive menu system, which is both easy to integrate and customizable to fit the specific needs of an application. The primary goal of the library is to simplify the implementation of a mobile navigation menu, providing developers with a set of tools that facilitate the creation of a multi-level, collapsible, and accessible navigation structure.

+

Central to the library is the WMLMobileNavZeroComponent, which acts as the main container for the navigation system. This component utilizes the WMLInfiniteDropdownZeroProps to dynamically generate a mobile-friendly, nested dropdown structure. The interactivity within the components allows for a highly customizable user experience, enabling developers to define their navigation hierarchy and visual style with ease. Customization is further supported through a variety of parameters and methods, allowing for dynamic content loading and real-time updates to the navigation structure. The typical implementation involves integrating the WMLMobileNavZeroComponent within an Angular application, configuring its parameters to define the navigation items, and customizing its appearance and behavior to match the application’s design and functional requirements.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-mobile-nav @windmillcode/angular-wml-infinite-dropdown
+

Usage

+

WMLMobileNavZero

+

Getting Started

+ +

Adding A Logo Header

+
    +
  • This is the same as adding custom components
  • +
+ +

For more guides refer to WML Infinite Dropdown

+

Reference

+

WMLMobileNavZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
cdrefArrayArray<ChangeDetectorRef>Array of ChangeDetectorRef instances for manual triggering of change detection
itemsArray<WMLInfiniteDropdownZeroProps>Array of dropdown properties to define navigation items
openedSubject<void>Subject that emits when the navigation is opened
closedSubject<void>Subject that emits when the navigation is closed
isPresentbooleanBoolean flag to control the presence of the navigation on the DOM
state”open” | “closed”Current state of the navigation
+

Changelog

+

v0.0.1

+
    +
  • project is not yet ready should be able to open and close
  • +
+

v0.0.2

+
    +
  • component is fully operational
  • +
+

1.0.4

+
    +
  • you can safely rely on isPresent to by default show and hide the mobile nav on the dom
  • +
  • corrected dependencies
  • +
  • ensure if mobileProps.isPresent is set to true the component would appear on the dom
  • +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlMobileNavZeroNGXTranslateModule
// for regular
WmlMobileNavZeroModule
+
    +
  • +

    mobile nav can scroll if mobile screens are too big

    +
  • +
  • +

    fixed a css issues where nav items that opened to the side were not seen

    +
  • +
+

16.2.4-0

+
    +
  • started to name packages after angular core versioning
  • +
+

16.2.4-1

+
    +
  • isolated css to not interfere with applcation css
  • +
+

16.2.5-0

+
    +
  • made it easier to style component +%!(EXTRA string=
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-notify/index.html b/library/wml-notify/index.html new file mode 100644 index 0000000000..238d4b5725 --- /dev/null +++ b/library/wml-notify/index.html @@ -0,0 +1,508 @@ + WML Notify | Windmillcode Angular CDK + Skip to content

WML Notify

The Angular WML Notify library is an Angular-based toolkit designed to enhance user notifications and messaging within applications. Its primary objective is to offer a streamlined and efficient way for developers to integrate and manage notifications, alerts, and informational messages in their Angular projects. The library provides a set of components and services that enable the display of various types of messages, such as errors, information, success, and warnings, with customizable options to cater to different needs and scenarios. It leverages Angular’s powerful features to create a responsive and interactive user experience, addressing common challenges in handling user notifications with ease and precision.

+

At the heart of the wml-notify library are two central components: WMLNotifyOneComponent and WMLNotifyOneMsgComponent. WMLNotifyOneComponent acts as a container for individual notifications, managing their display and behavior, including auto-hiding, user-initiated closure, and actions. It integrates with the WMLNotifyOneService to listen for notification events and render them appropriately. WMLNotifyOneMsgComponent, on the other hand, is responsible for rendering the message content, supporting both default text messages and custom Angular components for more dynamic and interactive content. Developers can customize notifications using various attributes and methods provided by these components, such as message types, auto-hide functionality, and custom action handlers. The library encourages a modular approach, allowing developers to leverage these components either independently or together, facilitating a versatile implementation that aligns with the specific requirements of their Angular applications.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-notify
+

Usage

+

WMLNotifyOne

+

Getting Started

+ +

Different Alerts

+ +

Hide Functionality

+ +

Reference

+

WMLNotifyOneBarModel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
autoHidebooleanDetermines if the notification should auto-hide.
closedbooleanIndicates if the notification is closed.
closeablebooleanDetermines if the notification can be manually closed by the user.
hideDelaynumberTime in milliseconds before the notification auto-hides.
hideOnHoverbooleanDetermines if the notification should hide when hovered.
idnumberUnique identifier for the notification.
stylePartial<CSSStyleDeclaration>Styles to be applied to the notification bar.
msgtype”default” | “custom”Defines the message type (default or custom).
customWMLCustomComponentCustom component to be used as the notification content.
messagestringThe message to be displayed in the notification.
typeWMLNotifyOneBarTypeThe type of the notification (Error, Info, Success, Warning).
typeValuestringThe string value of the notification type.
shouldDisplayfunctionFunction to determine if the notification should be displayed.
+ +

WMLNotifyOneService Methods

+ + + + + + + + + + + + + + + + + + + + +
MethodParametersDescription
createnotificationBar: WMLNotifyOneBarModelCreates and displays a new notification.
clearNoneClears all displayed notifications.
+

WMLNotifyOneComponent Events

+ + + + + + + + + + + + + + + + + + + + +
EventParametersDescription
actionnotificationBar: WMLNotifyOneBarModelEmitted when an action on a notification is triggered.
closednotificationBar: WMLNotifyOneBarModelEmitted when a notification is closed.
+

WMLNotifyOneBarType Enumeration

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ValueDescription
ErrorRepresents an error notification.
InfoRepresents an informational notification.
SuccessRepresents a success notification.
WarningRepresents a warning notification.
+

Changelog

+

v1.0.0

+
    +
  • MAJOR rename to angular-wml-notify
  • +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlNotifyNGXTranslateModule
// for regular
WmlNotifyModule
+

%!(EXTRA string=

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2000 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-options/index.html b/library/wml-options/index.html new file mode 100644 index 0000000000..eb8e19de70 --- /dev/null +++ b/library/wml-options/index.html @@ -0,0 +1,240 @@ + WML Options | Windmillcode Angular CDK + Skip to content

WML Options

The wml-options library is an Angular-based toolkit designed to enhance the selection and management of options within applications. Its primary objective is to provide a streamlined and efficient way for developers to integrate and manage multiple choice selections, toggles, and option-related actions in their Angular projects. The library offers a set of components and services that enable the display and interaction with various types of options, supporting both default and custom components for dynamic and interactive content.

+

Key features of the wml-options library include:

+
    +
  • Customizable option items with dynamic content.
  • +
  • Support for reactive forms, allowing easy integration with Angular’s form system.
  • +
  • Ability to handle a large number of options efficiently.
  • +
  • Customizable appearance through CSS and SCSS.
  • +
  • Modular and flexible design, facilitating independent or combined usage of components.
  • +
+

Installation

+
Terminal window
npm install @windmillcode/angular-wml-options
+

Usage

+

WMLOptionsZero

+

Getting Started

+ +

Displaying a List of Options

+ +

Custom Option Content

+ +

Handling Option Selection

+ +

Default Values

+

IMPORTANT WMLOptionZeroItemProps.isChosen is the only way to set default values on options!!!

+ +

Reference

+

WMLOptionsZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
hasBeenInitalizedbooleanIndicates if the component has been initialized.
chosenWMLOptionsZeroProps["options"][]The list of chosen options.
optionsWMLOptionZeroItemProps[]The list of available options.
limitnumberMaximum number of selectable options.
wmlFieldWMLFieldZeroPropsThe associated WML field for reactive form integration.
formArrayFormArrayThe form array for managing selected options.
listenForClearedFormIsEnabledbooleanEnables listening for form clear events.
updateFormArrayPredicate(val: any) => anyPredicate function to update the form array.
restoreInitalValuesInFormArray() => voidFunction to restore initial values in the form array.
+

WMLOptionZeroItemProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
isChosenbooleanIndicates if the option is chosen.
textstringThe display text for the option.
toggleClassstringCSS class to toggle for the option.
clickPredicateFunctionPredicate function to handle option click events.
wmlOptionsWMLOptionsZeroPropsThe parent options configuration.
customCpntWMLCustomComponentCustom component for the option content.
+

WMLOptionsZeroComponent Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodParametersDescription
listenForClearedFormNoneListens for form clear events and updates option states.
populateFieldsinit: booleanPopulates fields based on the selected options.
updateFormArrayNoneUpdates the form array with the selected options.
toggleChosenbtn: WMLOptionZeroItemProps, init: booleanToggles the chosen state of an option.
ngAfterViewInitNoneLifecycle hook for after view initialization.
ngOnDestroyNoneLifecycle hook for component destruction.
+

Changelog

+

v18.1.3000-beta1 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3000

+
    +
  • +

    fixed a bug with default options

    +
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-panel/index.html b/library/wml-panel/index.html new file mode 100644 index 0000000000..94d13703d1 --- /dev/null +++ b/library/wml-panel/index.html @@ -0,0 +1,452 @@ + WML Panel | Windmillcode Angular CDK + Skip to content

WML Panel

The Angular WML Panel library is a sophisticated Angular module designed to offer a robust and versatile panel component system within Angular applications. This library is meticulously engineered to provide developers with a seamless and intuitive interface for creating, managing, and interacting with panels in their web applications. The core objective of the library is to streamline the process of panel management, offering a suite of features that cater to various panel-related needs, such as dynamic content loading, customization, and responsive layout management.

+

Central to the Angular WML Panel library are its principal components, which include the main panel container and various subcomponents designed for specific functionalities. The main panel component acts as the container, orchestrating the overall behavior and layout of the panel, while the subcomponents provide granular control over the panel’s content and interactive features. Developers can leverage these components to build intricate panel layouts, customize appearance and behavior, and dynamically load content based on application context or user interactions. The library emphasizes modularity and reusability, encouraging developers to utilize these components in a composable manner to construct complex yet maintainable panel structures. Furthermore, the library provides APIs and services that enable extensive customization and interactivity, allowing developers to tailor the panel’s functionality to meet the specific requirements of their applications.

+

Installation

+

To install the Angular WML Panel library, use the following npm command:

+
Terminal window
npm install @windmillcode/angular-wml-panel
+

Usage

+

WMLPanelZeroComponent

+

Getting Started

+ +

Custom Panel

+
    +
  • TRY YOUR self you can add additional panels to the items array and open and close them with ease
  • +
  • TRY to get the panels to be different lengths so it can be more interactive
  • +
+ +

Reference

+

WMLPanelZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
containerWMLUIPropertyA property to customize the container of the panel.
itemsArray<WMLPanelZeroItemProps>An array of WMLPanelZeroItemProps to define panel items.
+

WMLPanelZeroItemProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
openedBehaviorSubject<boolean | null>A subject to control the opening of the panel item.
closedBehaviorSubject<boolean | null>A subject to control the closure of the panel item.
state"open" | "closed"Represents the current state of the panel item.
customWMLCustomComponentA custom component to be used as the panel item’s content.
+

WMLPanelZeroItemProps Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodSignatureDescription
toggle() => voidToggles the state of the panel item.
open() => voidOpens the panel item.
close() => voidCloses the panel item.
+

Changelog

+

0.1.0

+

made WMLPanelItemProps.state private and ensured that you can have default state by calling WMLPanelItemProps.open if you want the panel open

+

0.1.1

+
    +
  • closed panels dont slide back
  • +
+

0.1.2

+
    +
  • update to v16
  • +
+

0.1.3

+
    +
  • added a feature where the developer can added the container class
  • +
+

0.2.0

+
    +
  • fixed an issue where on it the panel would animate into the closed position
  • +
+

v1.0.0

+
    +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlPanelNGXTranslateModule
// for regular
WmlPanelModule
+

%!(EXTRA string=

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/22/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-popup/index.html b/library/wml-popup/index.html new file mode 100644 index 0000000000..c47d38a9ad --- /dev/null +++ b/library/wml-popup/index.html @@ -0,0 +1,407 @@ + WML Popup | Windmillcode Angular CDK + Skip to content

WML Popup

The Angular WML Popup library is an Angular-based toolkit designed to simplify the creation and management of pop-up components within web applications. It provides developers with a streamlined approach to integrate pop-ups, facilitating interactions and enhancing user engagement without the need for extensive boilerplate code. The library is crafted to address common challenges associated with pop-up management, such as dynamic content loading, positioning, and responsiveness, ensuring a versatile solution adaptable to various application scenarios.

+

Central to the Angular WML Popup library is the WMLPopupZeroComponent, which serves as the foundational element for pop-up creation and manipulation. This component is designed to be flexible, allowing for the embedding of custom content and the adjustment of its behavior and appearance through a range of input parameters. Developers can leverage the WMLPopupProps class to configure the pop-up, defining properties such as the component to display, its initialization parameters, and control mechanisms for opening and closing the pop-up. The library emphasizes interactivity and customization, providing mechanisms such as the togglePopupSubj subject to programmatically control the pop-up’s visibility. Furthermore, the library supports inter-component communication and dynamic content loading, enabling developers to create rich, interactive user experiences. By adhering to the library’s design patterns, such as utilizing WMLPopupZeroComponent as a container for dynamic content, developers can implement consistent and effective pop-up functionalities within their Angular applications.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-popup
+

Usage WMLPopupZeroComponent

+

Getting Started

+ +

Reference

+

WMLPopupZeroProps Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodSignatureDescription
cpntType<any>Component to be displayed within the popup.
openPopup() => voidOpens the popup.
closePopup() => voidCloses the popup.
togglePopupSubjSubject<boolean>Subject to toggle popup visibility (true for open, false for close).
+

Changelog

+
    +
  • v1.0.0 +
      +
    • added optional support for ngx translate to use ngxtranslate
    • +
    +
  • +
+
// to use ngxtranslate
WMLPopupNgxTranslateModule
+
// to use regaular
WMLPopupModule
+

v1.0.0

+
    +
  • MAJOR rename to @windmillcode/angular-wml-popup
  • +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WmlPanelNGXTranslateModule
// for regular
WmlPanelModule
+

%!(EXTRA string=

+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package
  • +
+

v17.0.71

+
    +
  • added openPopup closePopup and togglePopupSubj so developers can write less code +,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v17.0.9002

+

[UPDATE] can now set id on the popup by calling props.openPopup +or props.closePopup for example

+
this.baseService.popupProps.view.id = this.idPrefix("Pricing")
this.baseService.popupProps.openPopup()
+

,

+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package
  • +
+

v17.1.0001

+
    +
  • [FIX] fixed a bug where the param key passed to the WMLPopupProps was filtered out causing the component to not work properly +,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/23/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package
  • +
+

v18.0.2 [5/24/2024 12:45:23 PM EST]

+

[UPDATE] when clicking on the outer space of the popup the popup now closes without having to provide a feature to close it

+

v18.0.3 [5/24/2024 11:03:23 AM EST]

+

[FIX] prevent the popup from closing click on the non-close area +,

+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta2 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-select/index.html b/library/wml-select/index.html new file mode 100644 index 0000000000..3138e4a861 --- /dev/null +++ b/library/wml-select/index.html @@ -0,0 +1,449 @@ + WML Select | Windmillcode Angular CDK + Skip to content

WML Select

The Angular WML Select library is a specialized Angular component library designed to enhance form inputs by providing a robust and flexible select component. Its primary objective is to offer a more dynamic and feature-rich alternative to the native HTML select element, catering to the diverse needs of modern web applications. With its advanced functionalities, the library addresses common challenges faced in creating user-friendly, interactive forms, such as handling dynamic data sets, enabling search and filtering capabilities, and offering better control over the styling and behavior of select menus.

+

At the core of the Angular WML Select library are its central components: WMLSelectZeroComponent and WMLSelectZeroOptionComponent. The WMLSelectZeroComponent acts as the main container for the select functionality, encapsulating the logic for opening and closing the dropdown, managing selections, and triggering custom events. The WMLSelectZeroOptionComponent represents individual selectable items within the dropdown, providing a flexible structure for displaying options and handling user interactions. Developers can leverage these components to create highly interactive and customizable select menus, with support for single or multiple selections, search and filtering, and even asynchronous data loading. The library’s design encourages a modular approach, where the WMLSelectZeroComponent can be dynamically populated with WMLSelectZeroOptionComponent instances, allowing for a high degree of customization and adaptability in different usage scenarios.

+

Installation

+
Terminal window
npm install -s @windmillcode/angular-wml-select @windmillcode/angular-wml-infinite-dropdown @windmillcode/angular-wml-field
+

Usage WMLSelectZero

+

Getting Started

+ +

Customize Prompt ,Options …

+

Remember you can replace the components for select and options with your own custom component refer to the infinite-dropdown docs

+ +

Reactive Forms Integration

+ +

Reference

+

WMLSelectZeroProps Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
formControlAbstractControlReactive form control linked with the select component.
optionItemsWMLInfiniteDropdownZeroOption[]Array of options available in the dropdown.
chosenTextstringText of the currently chosen option.
component.
selectWMLInfiniteDropdownZeroOption | stringSelected option object. For input can be string or WMLInfiniteDropdownZeroOption will resolve to WMLInfiniteDropdownZeroOption
optionsWMLInfiniteDropdownZeroInputOptionsArray of options displayed in the dropdown.
dropdownWMLInfiniteDropdownZeroPropsProperties of the dropdown component.
cdrefChangeDetectorRefChange detector reference for the component.
wmlFieldWMLFieldZeroPropsProperties for the WML field component.
initSubjBehaviorSubject<boolean>Subject to trigger initialization.
+

WMLSelectZeroProps Methods

+ + + + + + + + + + + + + + + + + + + + + + + + + +
MethodSignatureDescription
initvoidInitializes the select component.
resetvoidResets the select component properties.
+

Changelog

+

v0.0.1

+
    +
  • wml-select complete and ready +
      +
    • disabled support
    • +
    • default value support
    • +
    • update component support
    • +
    • update via formcontrol support
    • +
    +
  • +
+

v0.0.2

+
    +
  • added WMLSelectZeroProps.updateOptionValuesWithOptionText so that if users wanted text and value they can use
  • +
  • made a minor change that will allow defaulr fields to populate under certain circumstances
  • +
+

16.2.60

+
    +
  • updated dependencies
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/23/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-slicebox/index.html b/library/wml-slicebox/index.html new file mode 100644 index 0000000000..3499770e87 --- /dev/null +++ b/library/wml-slicebox/index.html @@ -0,0 +1,496 @@ + WML Slicebox | Windmillcode Angular CDK + Skip to content

WML Slicebox

The Angular WML Slicebox library is an Angular-based library designed to enhance the visual interactivity of web applications by introducing a 3D slicebox carousel component. This library provides a sophisticated and engaging way to display images or content in a carousel format, with a 3D rotation effect that adds depth and dynamism to the user experience. Aimed at integrating seamlessly with Angular applications, Angular WML Slicebox offers a set of configurable options to tailor the carousel’s behavior and appearance, making it a versatile tool for developers looking to enhance their UI with 3D interactive elements.

+

At the heart of the Angular WML Slicebox library is the WMLSliceboxZeroComponent, which serves as the central component orchestrating the 3D slicebox carousel’s functionality. This component manages the carousel’s state, handles user interactions, and renders the 3D slices that comprise the carousel’s visual structure. Developers can customize the carousel through a variety of parameters, such as orientation, rotation speed, and disperse factor, allowing for a high degree of control over the carousel’s behavior and appearance. Additionally, the library provides mechanisms for dynamically loading content into the carousel and responding to user interactions, making it a flexible solution for presenting content in an engaging and interactive format. The component’s design encourages modularity and reusability, adhering to Angular’s component-based architecture, and offering developers a straightforward way to incorporate 3D carousel functionality into their applications.

+

Installation

+
Terminal window
npm install -s @windmillcode/wml-slicebox
+

Usage WMLSliceboxZeroModule

+

Getting Started

+ +

Full Example

+ +

Reference

+

WMLSliceboxZeroProps Configurations

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault Value
autoplaybooleanWhether the carousel should continue or nottrue
colorHiddenSideshex value, rgba, hslaColor of the sides of the cuboid where the image is not shown’#222’
cuboidsCountnumberThe number of cuboids to be used in the slicebox9
disperseFactornumberHow far away in pixels should the cuboids coordinate to move away from the center40
disperseSpeednumberTime in ms of how fast the cuboids coordinate to move away from the center4000
easingcss animation easing typesThe animation type’ease-out’
imagesWMLSliceboxZeroImg[]An array of images to provide to the slicebox[]
intervalnumberMilliseconds before the carousel navigates if autoplay is true3000
jumpToSlideSubjsubjectNot to be edited; used to indicate to the slicebox to jump to a specific slide when autoplay is false-
moveToNextSlideSubjsubjectNot to be edited; used to indicate to the slicebox to move to the next slide when autoplay is false-
moveToPrevSlideSubjsubjectNot to be edited; used to indicate to the slicebox to move to the previous slide when autoplay is false-
nextRotationDegreecss degree stringWhen provided, overrides the default rotation to have the next slides rotate according to your desires'-90deg' if reverse is true, else '90deg'
orientation’v’ | ‘h’Whether to rotate vertically or horizontally’v’
perspectivepx valueSame as perspective definition in graphic design10000
prevRotationDegreecss degree stringWhen provided, overrides the default rotation to have the next slides rotate according to your desiresOpposite of nextRotationDegree
resizeDelaynumberAmount of time to debounce before the carousel resizes itself10
reversebooleanWhether to reverse the default rotation overwritten of nextRotationDegree is setfalse
sequentialFactornumberTime in ms before each cuboid consecutively rotates350
sliceboxSizeUseProvidedValuesbooleanWhether to resize to fill the parent element or use specified height and width of the sliceboxfalse
speednumberHow fast each cuboid is supposed to rotate15660
+

Feel free to explore and use these configurations and methods to create a highly interactive and visually appealing carousel for your Angular applications!

+

Changelog

+

v0.0.1

+
    +
  • wml-select complete and ready +
      +
    • disabled support
    • +
    • default value support
    • +
    • update component support
    • +
    • update via formcontrol support
    • +
    +
  • +
+

v0.0.2

+
    +
  • added WMLSelectZeroProps.updateOptionValuesWithOptionText so that if users wanted text and value they can use
  • +
  • made a minor change that will allow defaulr fields to populate under certain circumstances
  • +
+

16.2.60

+
    +
  • updated dependencies
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package),
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/23/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001

+

[BREAKING CHANGES] changed from wml-slicebox to wml-slicebox-zero and replaced all Params with Props

+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-table/index.html b/library/wml-table/index.html new file mode 100644 index 0000000000..d66fbac906 --- /dev/null +++ b/library/wml-table/index.html @@ -0,0 +1,182 @@ + WML Table (Beta Unstable Unmaintainable) | Windmillcode Angular CDK + Skip to content

WML Table (Beta Unstable Unmaintainable)

The Angular WML Table library is an Angular-based toolkit designed to enhance the development of table components within Angular applications. It focuses on providing developers with a streamlined and efficient way to create and manage tables, addressing common challenges such as data binding, sorting, and pagination. The library’s aim is to simplify the integration of complex table functionalities, ensuring that developers can focus on the unique aspects of their applications while leveraging robust, pre-built solutions for table management.

+

Central to the Angular WML Table library are its core components, which facilitate the creation and manipulation of tables. One of the key components is the WMLTableZeroComponent, which serves as the primary interface for table creation and configuration. This component allows for the dynamic loading of data, sorting, and pagination, making it a versatile tool for developers. Additionally, the library offers customization options through various parameters and services, enabling developers to tailor the table’s behavior and appearance to their specific needs. Through the use of these components, the Angular WML Table library promotes a pattern of modularity and reusability, encouraging developers to construct table functionalities in a scalable and maintainable manner.

+

Installation

+
Terminal window
npm install -d @windmillcode/angular-wml-table
+

Usage

+

Basic Table Setup

+ +

Customizing Columns

+ +

Handling User Interactions

+ +

Integrating Pagination

+ +

Reference

+

WMLTableZeroProps

+

Configuration parameters for wml-table-zero component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
columnsWmlTableColumn[]Array defining the columns of the table, including header text and corresponding field names in the data.
rowsany[]Array containing the data to be displayed in the table rows. Each object in the array represents a row.
sortablebooleanDetermines if the table columns are sortable.
paginationConfigPaginationConfigConfiguration object for pagination, specifying items per page and other related settings.
filterConfigFilterConfigConfiguration for enabling and handling data filtering.
+

PaginationConfig

+

Configuration for table pagination.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
itemsPerPagenumberNumber of items to display per page.
currentPagenumberCurrent active page.
totalItemsnumberTotal number of items across all pages.
+

FilterConfig

+

Configuration for table filtering.

+ + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
enabledbooleanDetermines if filtering is enabled for the table.
fieldsstring[]Array of field names that can be filtered.
+

WmlTableColumn

+

Defines the structure and behavior of a table column.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
headerstringThe text to display in the column header.
fieldstringThe field name in the row data to display in this column.
sortablebooleanIndicates if the column is sortable.
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-tabs/index.html b/library/wml-tabs/index.html new file mode 100644 index 0000000000..51122286f2 --- /dev/null +++ b/library/wml-tabs/index.html @@ -0,0 +1,494 @@ + WML Tabs | Windmillcode Angular CDK + Skip to content

WML Tabs

The WML Tabs Zero component is a customizable tab component for Angular applications. It offers the following features:

+
    +
  • Customizable Headers: Each tab can have a custom header or a predefined WML tab header.
  • +
  • Dynamic Tab Content: The body of each tab can be customized to include any component.
  • +
  • Event Handling: The component provides events for tab changes and updates.
  • +
  • Responsive Design: The component is designed to be responsive and adapts to various screen sizes.
  • +
  • Custom Styling: Supports custom styles through SCSS variables and mixins.
  • +
+

Installation

+

To install the WML Tabs Zero component, use the following command:

+
Terminal window
npm install @windmillcode/angular-wml-tabs
+

Usage

+

Here are some possible examples of how to use the WML Tabs Zero component:

+

Getting Started

+ +

Custom Body

+ +

Custom Header

+ +

Change Tab Programtically

+ +

Listen For Tab Change

+ +

Reference

+

WMLTabsZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
tabsArray<WMLTabsZero>Array of tab configurations.
setState(<WMLTabsZeroPropsUpdateTabsSubjProps | void>)=> voidSubject for updating tabs.
tabChangedEventSubject<WMLTabsZero>Event emitted when a tab is changed.
+

WMLTabsZero

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
indexnumberIndex of the tab.
isChosenbooleanIndicates if the tab is currently selected.
headerobjectHeader configuration for the tab.
header.type"custom" | "wmlTabHeader"Type of header to use.
header.wmlTabHeaderWMLTabHeaderConfiguration for the WML tab header.
header.customWMLCustomComponentCustom header component.
bodyWMLCustomComponentCustom body component for the tab.
+

WMLTabsZeroPropsUpdateTabsSubjProps

+ + + + + + + + + + + + + + + +
PropertyTypeDescription
currentTablenumberIndex of the current active tab.
+

WMLTabHeader

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
isChosenClassstringClass to apply when the tab is selected.
isNotChosenClassstringClass to apply when the tab is not selected.
iconWMLUIPropertyIcon configuration for the tab header.
clickfunctionClick event handler for the tab header.
+

Changelog

+

0.0.1

+
    +
  • component deployed made available for use +pass an instace of WMLTabsZeroProps to the html like so
  • +
+
tabProps = new WMLTabsZeroProps({
tabs:[
new WMLTab({
header:{
type:"wmlTabHeader",
wmlTabHeader:new WMLTabHeader({
text:"Tab "+index0
}),
body = new WMLCustomComponent({
cpnt:YourComponent,
props:new YourComponentProps()
})
}
})
]
})
+
<wml-tabs [props]=tabProps></wml-tabls>
+

v1.0.0

+
    +
  • fixed major problems concerning ngx-translate
  • +
+
// translate
// first make sure to have ONLY ONE in the imports for AppModule
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps:[HttpClient]
}
}),
// then
WMLTabsZeroNGXTranslateModule
// for regular
WMLTabsZeroModule
+

1.0.1

+
    +
  • mimor dep update
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package +,
  • +
+

v16.2.80

+
    +
  • updated package to reflect the version 16.2.80 of @angular/core package,
  • +
+

v16.2.90

+
    +
  • updated package to reflect the version 16.2.90 of @angular/core package,
  • +
+

v16.2.91

+
    +
  • updated package to reflect the version 16.2.91 of @angular/core package,
  • +
+

v16.2.93

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.110

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v16.2.120

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.10

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.11

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
  • +
+

v17.0.20

+
    +
  • updated package to reflect the version ^17.0.2 of @angular/core package,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/23/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package,
  • +
+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/library/wml-toggle/index.html b/library/wml-toggle/index.html new file mode 100644 index 0000000000..4acf24ee40 --- /dev/null +++ b/library/wml-toggle/index.html @@ -0,0 +1,399 @@ + WML Toggle | Windmillcode Angular CDK + Skip to content

WML Toggle

The Angular WML Toggle library offers a customizable toggle switch component for Angular applications. This library provides an easy-to-integrate toggle switch that enhances user interfaces by allowing binary choices such as settings or preferences. The core component, WMLToggleZeroComponent, is designed to be flexible and modular, enabling developers to tailor its appearance and behavior to fit their application’s requirements. Features include:

+
    +
  • Customizable Appearance: Modify the toggle’s background colors, text, and styles.
  • +
  • Event Handling: Define actions on toggle state changes.
  • +
  • Integration with Forms: Supports reactive forms and updates based on form control status.
  • +
  • Responsive Design: Adapts to different screen sizes for a consistent user experience.
  • +
+

Installation

+

To install the WML Toggle library, use the following command:

+
Terminal window
npm install -d @windmillcode/angular-wml-toggle
+

Usage

+

Here are some possible examples of how to use the WMLToggleZeroComponent in your Angular application:

+

Getting Started

+
    +
  • you can sure to use onToggle to “listen for changes” how neat
  • +
+ +

Programtic Toggle

+ +

Reactive Forms

+ +

Reference

+

WMLToggleZeroProps

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
idstringIdentifier for the toggle instance.
containerWMLUIPropertyConfiguration for the toggle container.
thumbWMLUIPropertyConfiguration for the toggle thumb.
toggleTextWMLUIPropertyConfiguration for the toggle text.
textToggleLeftMarginnumberLeft margin for the toggle text.
toggleBackgroundOnColorstringBackground color when the toggle is “On”.
toggleBackgroundOffColorstringBackground color when the toggle is “Off”.
triggerToggleFunctionFunction to programmatically trigger the toggle.
wmlFieldWMLFieldZeroPropsIntegration with WML Field component.
onToggle(self: WMLToggleZeroProps) => voidCallback function triggered on toggle state change.
+

Changelog

+

v17.0.0

+
    +
  • component created and ready for production use
  • +
+

v17.0.30

+
    +
  • added triggerToggle +,
  • +
+

v17.0.40

+
    +
  • updated package to reflect the version ^17.0.4 of @angular/core package,
  • +
+

v17.0.50

+
    +
  • updated package to reflect the version ^17.0.5 of @angular/core package,
  • +
+

v17.0.60

+
    +
  • updated package to reflect the version ^17.0.6 of @angular/core package,
  • +
+

v17.0.70

+
    +
  • updated package to reflect the version ^17.0.7 of @angular/core package
  • +
+

v17.0.71

+
    +
  • added support to be integrated with wml-form so that values can be passed to a form control
  • +
+

v17.0.72

+
    +
  • fixed code to remove deprecated scss warnings
  • +
+

v17.0.73

+
    +
  • added listened so when form is edited via patchValue the changes apply
  • +
+

v17.0.74

+
    +
  • added in disabled featured and corrected error when listenForFormValue changes was triggered till infinity +,
  • +
+

v17.0.7100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7200

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.7300

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.80

+
    +
  • updated package to reflect the version ^17.0.8 of @angular/core package,
  • +
+

v17.0.8100

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8102

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.8103

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.0.9001

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.0000

+
    +
  • updated package to reflect the version ^17.1.0 of @angular/core package,
  • +
+

v17.1.2

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.1000

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.2000 [2/5/24]

+
    +
  • updated package to reflect the version ^17.1.2 of @angular/core package,
  • +
+

v17.1.2001 [2/8/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.1.3000 [2/8/24]

+
    +
  • updated package to reflect the version ^17.1.3 of @angular/core package,
  • +
+

v17.2.1000 [2/17/24]

+
    +
  • updated package to reflect the version ^17.2.1 of @angular/core package,
  • +
+

v17.2.2001 [2/23/24]

+
    +
  • updated package to reflect the version ^17.2.2 of @angular/core package,
  • +
+

v17.2.3000 [2/28/24]

+
    +
  • updated package to reflect the version ^17.2.3 of @angular/core package,
  • +
+

v17.2.3001 [3/2/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.3002 [3/5/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4000 [3/8/24]

+
    +
  • updated package to reflect the version ^17.2.4 of @angular/core package,
  • +
+

v17.2.4001 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4002 [3/12/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4003 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.2.4004 [3/13/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.0 [3/17/24]

+
    +
  • updated package to reflect the version ^17.3.0 of @angular/core package +,
  • +
+

v17.3.1000 [3/22/24]

+
    +
  • updated package to reflect the version ^17.3.1 of @angular/core package,
  • +
+

v17.3.2000 [3/28/24]

+
    +
  • updated package to reflect the version ^17.3.2 of @angular/core package,
  • +
+

v17.3.3000 [4/4/24]

+
    +
  • updated package to reflect the version ^17.3.3 of @angular/core package,
  • +
+

v17.3.4000 [4/11/24]

+
    +
  • updated package to reflect the version ^17.3.4 of @angular/core package,
  • +
+

v17.3.4001 [4/16/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.5000 [4/20/24]

+
    +
  • updated package to reflect the version ^17.3.5 of @angular/core package,
  • +
+

v17.3.5110 [5/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v17.3.6000 [5/1/24]

+
    +
  • updated package to reflect the version ^17.3.6 of @angular/core package,
  • +
+

v17.3.7000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.7 of @angular/core package,
  • +
+

v17.3.8000 [5/9/24]

+
    +
  • updated package to reflect the version ^17.3.8 of @angular/core package,
  • +
+

v17.3.9000 [5/16/24]

+
    +
  • updated package to reflect the version ^17.3.9 of @angular/core package,
  • +
+

v18.0.1 [5/23/24]

+
    +
  • updated package to reflect the version ^18.0.0 of @angular/core package,
  • +
+

v18.0.4 [5/25/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.1000 [5/29/24]

+
    +
  • updated package to reflect the version ^18.0.1 of @angular/core package,
  • +
+

v18.0.2000 [6/6/24]

+
    +
  • updated package to reflect the version ^18.0.2 of @angular/core package
  • +
+

v18.0.2002 [6/11/2024 10:21:45 AM EST]

+

[FIX]

+

In wml-toggle-zero.component.html, modified the click event to call toggle with parameters null and true.

+

Added distinctUntilChanged to listenForformControlChanges in wml-toggle-zero.component.ts to prevent redundant updates. +In wml-toggle-zero.component.ts, adjusted toggle method to conditionally patch form control based on the new updateFormControl parameter. +,

+

v18.0.3000 [6/13/24]

+
    +
  • updated package to reflect the version ^18.0.3 of @angular/core package,
  • +
+

v18.0.3010 [6/18/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.4000 [6/23/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.0.5000 [6/26/24]

+
    +
  • updated package to reflect the version ^18.0.5 of @angular/core package,
  • +
+

v18.0.6000 [7/5/24]

+
    +
  • updated package to reflect the version ^18.0.6 of @angular/core package,
  • +
+

v18.1.4 [7/13/24]

+
    +
  • updated package to reflect the version ^18.1.0 of @angular/core package,
  • +
+

v18.1.6 [7/14/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.1000 [7/18/24]

+
    +
  • updated package to reflect the version ^18.1.1 of @angular/core package,
  • +
+

v18.1.2000 [7/24/24]

+
    +
  • updated package to reflect the version ^18.1.2 of @angular/core package,
  • +
+

v18.1.2300 [7/27/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.2301 [7/30/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base +,
  • +
+

v18.1.3000-beta3 [8/1/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base ,
  • +
+

v18.1.3000-beta4 [8/1/24]

+

v18.1.3002 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
+

v18.1.3001 [8/4/24]

+
    +
  • updated package to conform with @windmillcode/angular-wml-components-base
  • +
\ No newline at end of file diff --git a/pagefind/fragment/en_1716535.pf_fragment b/pagefind/fragment/en_1716535.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a4296537cfcb4df51caec17a05328ca688dc4fb1 GIT binary patch literal 3610 zcmV+#4(0J5iwFP!00002|Gk?1j@-5pz+Z)3pg>aG?un$N)n3vd&N*leG-v?Z4N%7o zbQ14YwN~0n+C6U!1AUFYUZ12hq`pW=)NSf@@`vwqn%@lPi=@bX_#p0+EdC{q;tz{M zkuGi)*J*NBgvIIlahEQ`D9VdC$+PRl)gsEXN@Nwh^V1K1A_5|UC>B)=z7zT4*+u;E!2!_(rJMDRkDlc*43B}i)s zxj$r41wVvoQYG+ClC|o>{XR{i5dT`DRY}?Eybq%U1ONq8FgF%Qk>>jy=tKird`TXY zYD=O+S>?Or*YGYCV2)H+UPqF6&)@tb@k*fk57_j zO1?^}5y1+dqDPHEobm&>Ax+6+s770eeHun$MP5KMglQ^04Vf*9U4jvMgrdtINw(iX z=;Rw@S(0xbd$o8S)=|^Sc|~5AQ2Q(L9pv1jOsO*82^c;+CE~ptaM_rsmobj3tE;?d z6Rw}wnGkV#L;fVH3X|()6&4WW6@mOspvsQ|WC4hA1g~R!z;+xz3gXZopfi+8N~MPG z@etMB%c$+cBHW1z3nxsWTR6d7nHSiu!N6{Ghr* zQ}{Pvv)Cy!340FiD#8=KFqU=L07~#CN$yoZF_!OJmVAZ<9>%dn9{R*16gzmdAkU;a z7Poe)_Jg1_c_%QIg51iEMcQ1$j#4N5>wOHQx*^uFm7XaZx74KpF*uPl5979XK(ojV z&v#A%OCP}X*e{gmU-tr=aZGO0yaa`}O&6`2X#!jv)^3jS6mn+|f)G1$MRp=iLh`SJ zD6p$vmHSY(C9Eo_*d1t=-LG+Ooi&>7ar{B?KdZA)lIRl5ZZv^dQPEv%qI% z7p^)}P`5I*DPUQhRrn4C1*U-+SiyRPTccJg?^opO$wYng_RZUG$TO`fIueTa>l0HA7aY)HLg@c> zDy^pL;1iDw?OEaaV=o(XM|jnCJM6J1f_#MoSGRCSO+;-{p z$}E9GWHGofoE+etWF2Hjd)8N=4{WGR8%w|6DOS5asTYL9`F*9Pqd$w}VOw>XbNlk8 zY9?*c$k(uPxAIjIABtvuh2c?6tzJW}U;!2@q+?^kTW8|v`8doQ1K0leyqRyL0s zca2yx5U11PBihH;VfM!Gyj~UjO%Axu&@$+IezKr_}dMl$VjrXGZ zt)CY^oO;VLX(K|QsBmsnb5Xt50Vk zaEDqnKo`I@Y;Vch+HsN+QhY^LgDE|a9ipw)m%qZ}CHBCZtlBQ6`Crg4Kal%WyuTq1 z{Lh@<|L!aDksJxSih-+gSY1aLtv&Ws*yG_MLj9S`K7oN$AR4P*ph zVW+iZ@<*r$Xz9@x&NX#bKKTQoh1h+GCDAq6?k(oPf75SL{msFP!_FuLs8f#qRpIE0 zdGha9Job(oxb@8P2n?B~kX(bRE1vqJj06|&E$ zaE<-=bL*p@S08(NA^k%MShF7AaL+}$vqkxR7gs%Pz#_m*8%k%lHAf^wV?c%9*lvDj7gzCK>38UBXg&5zm6Lz$I_k zwRg?jx953+&3gjEhVWnt{(l@v?Kk|90K4>ZBDS?QuIz`QAVf}ls`lNS+@5<9Av~anBCXK(E zOk(_ef3ewUG^unMdXq>jIG@g+LI>Ny@QajzUwbSmlog>uHL&1cT}=6kc|d+;@Yyz#E-g{=3b^%nlL@&2sw>l(f}AHJT2 z2frO2%)&Q~Tm19s8!J74RlG!>+Xs~39GYGZ?Mn2gpIckgYoD{t`PS1}>s5pFul@7k zY!=RIIOXTl`4i|=(J!%mkddv;XZ%76yhg!q@V+!>0S2hKri&C9fvx>6iHs^>=3W(Uwg9DGh}%q`=G9FF6&E}9mTlQsq;9U;#K*w zy=S?E!d$9*mdpHp*<2~?bUfu!rmonZRD3AKQhgTcWkcU7BbO(2_GXe@UnE+p1nr>u z)k}lsPSMOOR!cl}Uxrz{lvlbs{LIZuO&=SiN2@RD-_Pvmx5nchi?XRyi}R@G)aUBA zp5)q@vI5Gq{RW2@9q@WysTI)h#-qWePi5mBiWz?UWl-0#@t&$fUGACD(!0u}>2Vo< zsvg;(X4G^Smvk-Mor+`B+`8%IL+??K5lnjI2y;Uxt}gEwvi_v(5;}iRSlwsQq`m1T zb6irNc}u4cXzr-!3~!nNh@elXZ(iu~8{a0s8OU#RdEZ%E<>^3P_n=P$t2`gbb6uWo zZ1S*xGXd&RkKkH82wyw~1ZogGZY8iGff)pUItS_6(M?cy7IgXb+A2>6@k7Zi znT+~bk3qc|1|4DO^%+?68+WOO9qJ5SXKYkeRS#tjqC z7_)c2tuZ%_EytLO4&y_ne!{FXnLERzlT13r5{WiWOszD z6Mbif$d=q2C3c6#2GN>F_|6q~(yPpY9q^Zu2H*3K|Td z`k}4?wQWPzTo$G44w>3fu7UJz{fNtacPSk*^%GnJy7p$E6rlbnw0Cf8ez&ql-IJCw zX9(2~YYphe8hbp6U3w#<*N$k7Z)Db#=Xh{2iquYJ4WvEc*AlrIBDJ$v1IeuU8B8Gq z3(~b_=SB^DBPMmm)Sl?FZLCLW<^wDIB+b90{loICqHa9c-E>6Si>3ofr^s)9Np$Y{&0PNikDFWKS!ll?(#I-rT5A8)#55llTsul-23NOFUgDQ7V@mR zWkuc}1$mMj&T){F!COc*M)Nnz)4OOV3KEcgEWSjyu^>URBfEzrI7K0;hbLir%F+Zz zC;K#S1_`n(j>4df(xh0BAUZ|Kfs`o`$uUSmLC%H9Nd#Kw`yhl-?xXTZ5>b?5Cx@x0 z89$IPD8gWe@@Xb{EApZw!ETp}q5#nn=9UPM!|?-hC-MTu1$7%0Pa-)3u~81@_Ol2} zP%Pc=MULoz6lr`$Jn({&6z42U^RghPb6iFl&|+~X;sPW{65K@xIkievm_-occQkZV zG&Y2fS&)}eh@-+xVAA_@EcM(WEzLkz5~u0s$~w^rMmnJ_(W+o}rFv23=de8Im7UUa zDJOjliUJe^jZQ%l9FPIJ7;HUS--231rSe96zkcQy4H0VpO0s)W>1| ze2VLEsiWm-?ehh>KStq^fH&_jR+Pjkh%hda68?glalUxD@duDjMP;ite8M0hx1tU( zRE=b52Bt&BWqg2hgFF)D1J1b$2I+$0e7mf^L$JkhdXL6Xb{3hOymT_$8jxcI?#ja> zj$zn$MV`cIaws71LCM9~^k0DfjR{CDGO#CnD!}}^2(kw3s^%!wjuLJ5waKdK?$0^= znv?Kcl<6t@1?GA#WH_j?-vt;5Rt;o&7os&KjGN}4G2%;@vN)k3ig0k-vo>^b4vpfH4S6quT&6fuZp9Ij1^fUG(}pgOd3rt^F+YNn zC}kc*p9ih|2L38H5B&IAdcC%(OlKK+c^Z@Su9~p)#sB~B|B+>|AUvW?L@wHd9H`hZA(^y6 zCtIa*b#O*;TqhrdBq=PX}sZ6q5oQvQ#ifcRJ*odyLb?R_;k$|F} zK={RRP!&>K zV@2?f$jb*b!ZT4wGsyI8rjh5t!#|He)a1zjSO@t7c^MUDcUgj2;i^>614d~I<%+z% z#VD%(O0P9lw24DBm!e_V;S3@nZ7c_PcfS33MetuBjOqR&$ng<07(Z1Dt@X-aE0}LsK83VB2tD)f(r7o7+M&F+5|mR2v5>yW z#ZGPzx|3@zHoZut5l#_wZRTLuT!`DF5AmGiCB>f+fn*9s1kg#d}}cEZxIu1tqYrwiO)*WI;huCd*L z0lK#rof_EOdLraxGUVh3v8nE0(_ID(sODDI=$sW z2$PYbAl;;`md$QCz?-SOS$ez8)v{-8YoU?*BCx&wIhB1W zq{B&e=b^|G)HFGKSwcIR6tPVA>uaKa+ebOHEEqVD0=b%ca3{#?A7B0_{PUbt8&`NJ zA)kcE$2(c}3ilbzgxhwhyar0hJ3A` zE#0(?m-4p-mcZ{Jf7ATohWt>LnYvzGS^zmKZa(4<&=o=;d?Me-x8E=1+>Y2w3`7pD zBtQP!UrcqS1z<+GkTxC_t#7BQj#W+tM~Wh89urC1;X?!2`^s{GZ1h_p8|lVt%X;-g zUXys>g)b0tJKPQ8Lkr_U39ag)igtMJ1*={NPt9cQ8Lcs6TV@r5YQqc*G!&fzlj2X% znX92_GgSLPL5(^*oC5yiKYaK6FYn(zsk(rFA$QaRi}~xiE!)A$9e&0~4YFdYnuG?! zCw8cBbw5_^KUSfC9i|YOl^i(wH)qz!?M&qM5lA`{NvDzg(a2iB!mO!uy`G5$iN|p1 zY%YBim(Av~DeeX<@EoiXcnp=!rP|{_-ojdDSX9qI@dG|=P!FQ&w%cqn;jxLxWc#uw z-DfD;!e^%BO z_@!)W8ZNsKmtThK&o!+-X35L3YB>tnnh_^Xcp{bb2{@?L_9!r}M|qL3dF6A|WXG4EgSb z_>Qy=zy1}*aVCx9RK}s~a@w;?55VOB{Bi?07aV}Eq<8061#Vf08aAzhhq3wisiMQH zqQieh;_}I|z^k(0Ts!mOd=l>%nPO9(X#`>dsO)sRq zC$+cm$CdXcmETnG?R@xV67K(cxIYQs)@JeM)3;W-j}HM5J+}^^;Cd46Nc1HZK&g0T z7Pg(QJDt>B)iCecn-6D`a9+VFpHJtHpi@QnFJyVAQlIe)4dB)T{0i&4llD<%W;1tZ z<4-=G@$t14lIQ!CPNoxu!4d6T#OAb0r;R0Q#&xHYy0ePTocVNS-I2*VctwYJSu=<5 z8^^tYOK)D0=kMNsA|F4zdG_S}^H1bMHSP(l5*I6c9Tml(Wb@LtdV`^i2w&c&=Tg0; zv%c_KwL?6q-gzXus5*`pN6BaTj-~S=r}rLiDc{gH&RHGHlRDy?qXzj)V5s9+_yVPS zkmuvmAD%z`k2kMh{P@0|-#;aX7yDL;qVq;SlgA+ps=A1Z;_JHEdM->qY%Ua}FaX5? z`1(QvU}aw3iZXy<{EIX?+9>SrG7A5@jN-JTG`~nI{>Bw+)#BMD@K=kg`!wJE6sBkV ze<7&jyNfF*6L?hU>gMaW#nlOB3!kpasEozf|1EI^HwH;~Oi}9N*DIlpm! z@>&+GS=WoYT>Jv>zO@++y&Tv1{(6jmi-$^=)lt`$s+~18SaggPwkJ}}x9UZUww+rw zM&e^51@d%jpRJ#IHE7AD3jhq^__#?$|Zux+K>nIUARB zbVlTlq#x2@|sW0JHRO0*YA?zlf`H;`yAj66oi zCAluCd&L{~3hl-p?M0u*x8ssjm(=I!xueU)9ra)_X@%=kKZd+-mtWE;g15C1wml8D zhP-c`!L~R4*08{qTIG39UiaE&&1~|pFEjz_QinhtD}nY2)F3d=N??5gGYH(`$IV(- zL7lqM3jYP2TOvyM{ca zHhHfn?-}yUYQIfSeq+dUtNk`c7}v*MbcW+t8Ek;TOonTp2OnT?li^u?;r9r>DR0dM zf4~-g&la2Q1cMDQ^qBVj%>;uFF!bu=Z(SP$pN*T0>RQX#uK5Im4lwlm-df`uAD$U{ zs52x6!)8;nM3~*umfNC&(g6)$z102H0d4&(TR>XL8MFO4-(r$6gtth z>L{N#3=y?6A3D+7Oc3c9aZE>RcHo)`I>HA7X`c4bnbvG!$~TPnnfe(Iow?mkFzG0h zjxeF|w50-54(i*}JkVi48J~dCC1-=o_85nOn1he{ zxv3qv&~Xs)Hk{0Mh|NAxKW1S-ZB6rrGX?egQ2lg;0k!qf8!l7Rar#W{Oof58E*V^g zyaNOGnEFu)18VKIxeR&-8vh|^=LCfTwYK2gm73!FArq>fnlPXntMBnh#L^v@y>?c@ zKw3kdQK-vR-Baz!aQaco(BiY&-pZ*xqw;-uCI=5=#176opKp0SFiBBKm z$Tc(5IQ3xQoV5+-0M6~>Iwu_roNYS*+Q})i?SO*X=>`MpQ5#g24$tc|wKEL{(zgBd z*RpVUW*P1uWiX(=Yll*V`a{s}2?hhY-B=wYHDv>u>ZcZTC|`RvsH>m@Ce=?W7*J}R zzRdH@Krm_N6AUD?O`bZ-P2We_nFIsJw>F#yIH!;6oI@~ht}QO*4h4vQpQxWbFrc>0 zu&=f(u$cFu`jGD znb0M4JcH2At8@d(t&VJ8k}rMQCl9j9*zwL7 m-rG#z!RpQ+xP9AhBBu<(#*l0b39lDEefulJS%=1FPyhgNv1<|l literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2dc354d.pf_fragment b/pagefind/fragment/en_2dc354d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..bfead1aad9f5a13fc5c444e56df1fe2060c78524 GIT binary patch literal 3600 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 W_h3k1|H-HKpZ*Uoz4aVDBLDzea@TbL literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_4e4f216.pf_fragment b/pagefind/fragment/en_4e4f216.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..88946f079133cb9f64abe6a7b6bade1b71c96c5c GIT binary patch literal 3386 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 G5dZ*^6DOzu literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_541effa.pf_fragment b/pagefind/fragment/en_541effa.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..dccd622e837c9a2a4629147b3f7fc6d27e42c164 GIT binary patch literal 3722 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_77f44ad.pf_fragment b/pagefind/fragment/en_77f44ad.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ca095196c6b5fed0405d7dc3d64074f50fca26c6 GIT binary patch literal 2799 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 IU2{JG0M;wlGXMYp literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7edb6fd.pf_fragment b/pagefind/fragment/en_7edb6fd.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3e0608bbe7a2943fc4f40e75a77da951a9f33abb GIT binary patch literal 4514 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 AMF0Q* literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8d7a68a.pf_fragment b/pagefind/fragment/en_8d7a68a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ac9a0d92729745a319232ef09cd9f83aefc6a596 GIT binary patch literal 3406 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_91aa80a.pf_fragment b/pagefind/fragment/en_91aa80a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4e6f3b7ee5eb452bd99aacddc3ff8363cd7839e7 GIT binary patch literal 1636 zcmV-q2AlaGiwFP!00002|Gk%8Z`(E$hW`rT-E2TCTe2EEK^L^^nyo+!6iu@NE4qS~ zXqzh~YNX`U4f5aj9#XO_$9CL{^d^yL@;Qg+TLqtsnatDAX_DUdDx-Smy@8Tb!_8`N zld1kpn{3cK=_NWZMPB0P4{u(xORNU${X($k`Mgrxux6FLmQ$Q%(lXAL!dPBPB^b|B zmQ=RXnf%75Sg2*NR9HFBMaoLeY-t3~l*|Pqu`I!BDRu5nXFP|l8FXMWUyJ2Mp=9EA zSyBjM6P*=0r+s=hg95Bv5Kk$6Bl9_%fms=0&)M&*oM$p&mr|&dy;<|m*-LJvTGb+* z^r}dC2@GwuEcGY3!lud+m1Oummwroo$S-^_P*oU~iE^P+=z6KdS4oz5%~!fANgwh= zErVH+xJ!{;w3+irr>0^Dxpg`E9Jrj?47VMf|W}FELj+r$}Qd7nbtC; z^%piL12Y(S$&J*NWfmqEIkOOE*^Mk0Y+6ZG_8}${spRaxN*F1i{tM?!c2%z6ulYH< zs)|CJ($-#vPAeryzeH6jS!k}fwV5^re3UT(*CeG=1{cV5DooC}F@zV>eH$vZR|{TO>+A#-LGzf&d1abP={4HM9HqiiiW_(IFZV!y z*LdG7NMI|Z@xyat`06Q%q=mK23-l}NEZr8=t;4PFJR`5NsW2D*4gCv6ySZ2Gx3ymz z2i7|H|311>SB(Nn2Qt&srIzVMU7`dMyrlTuU6TStr4{96SGk{mVZUB5!UXJ%YcdoD zZs%6G1)au(lU~I6UK{NscRFI-dN&#o709MQtgnpfE1T$xg;Q!Kb(uX1z>SLuC+wLW1sLTRJ_`z8aNTA^VrP`E&v2W%Nmf-s2L z$MGN>4Wjr{V_8=42s+IJeT6@=64%b zl=h!Yz4PJSN#|_ToRu4sY|D7nU2QpG815rgG#j>v>-u%$>}a%gcGR4O$;hfSzjZFs z6#FesypJ=bS=7&hmS)iwwmqe85ufZMde(ZDZGl@u?iO#dk5_+E`dPj21FVJanoqmr z)4g~1#HRUgDB77!yR^yPxG>Ea*@E6}EVYbiczT3a*ZI(IC&!(h-ZiLh$r~Rb&rPro z$=aSqyK^1qouysSlVEm?Tssxn=tN=!%-BslzRiq7VY#9?G&{5K5b)0>Ci^Q z$srmI9{^771G{5Mml=)^F(b!}b|~2$M!L-C>>zXGnByJH&IraA*rJ~uMUM{CqdoM~$x-ytVfttfeLOyj9v`O1d+3wX2k5YP iyp!7w5?$h1`~Wf9M~rq8<6(67>F$5KyFqM(6#xL<$14p0 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_94beebd.pf_fragment b/pagefind/fragment/en_94beebd.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..09ca7dc2501814b64c197149e03b4640b3b387e6 GIT binary patch literal 3629 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

t!afS*yyxR@zXQl3hr8(;E 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 Z(?*4|Q^*^|QJ(YQ{{s@u2kc|r005w|U3&lk literal 0 HcmV?d00001 diff --git a/pagefind/index/en_eef98b5.pf_index b/pagefind/index/en_eef98b5.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..6b0e88da10c85e39868ca63b9fede27e34b2060c GIT binary patch literal 35415 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

Cto9|rTcz$ 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 XZtraAEY6*DzL)$zGiPvxi}L^gmkCh_ literal 0 HcmV?d00001 diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json new file mode 100644 index 0000000000..349d55ca0b --- /dev/null +++ b/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.1.0","languages":{"en":{"hash":"en_4bc1717bc6","wasm":"en","page_count":21}}} \ No newline at end of file diff --git a/pagefind/pagefind-highlight.js b/pagefind/pagefind-highlight.js new file mode 100644 index 0000000000..c823fbfe7d --- /dev/null +++ b/pagefind/pagefind-highlight.js @@ -0,0 +1,1069 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + }(); + var Mark$1 = function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + }(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + }); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) + return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) + return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014–2018, Julian Kühnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ diff --git a/pagefind/pagefind-modular-ui.css b/pagefind/pagefind-modular-ui.css new file mode 100644 index 0000000000..9c6793ed2b --- /dev/null +++ b/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --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, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::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: 0.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-modular-input { + 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-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + 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: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + 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-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + 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-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + 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)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/pagefind/pagefind-modular-ui.js b/pagefind/pagefind-modular-ui.js new file mode 100644 index 0000000000..93019091c9 --- /dev/null +++ b/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`

  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var F=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1]}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await F(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join(` +`))}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/pagefind/pagefind-ui.css b/pagefind/pagefind-ui.css new file mode 100644 index 0000000000..d7984a98a4 --- /dev/null +++ b/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.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:"\2937 ";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)} diff --git a/pagefind/pagefind-ui.js b/pagefind/pagefind-ui.js new file mode 100644 index 0000000000..a20be55109 --- /dev/null +++ b/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Es=Object.defineProperty;var S=(n,e)=>{for(var t in e)Es(n,t,{get:e[t],enumerable:!0})};function j(){}function _t(n){return n()}function un(){return Object.create(null)}function G(n){n.forEach(_t)}function xe(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var Xe;function ie(n,e){return Xe||(Xe=document.createElement("a")),Xe.href=e,n===Xe.href}function cn(n){return Object.keys(n).length===0}var _n=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in _n?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let l of t)de.entries.set(l.target,l),(s=this._listeners.get(l.target))===null||s===void 0||s(l)})}};de.entries="WeakMap"in _n?new WeakMap:void 0;var fn=!1;function Rs(){fn=!0}function bs(){fn=!1}function b(n,e){n.appendChild(e)}function y(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function E(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Cs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function ft(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var $e=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=Ts(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}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 t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),le=e}var Qe=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function D(n,e){n&&n.i&&(Qe.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(Qe.has(n))return;Qe.add(n),ee.c.push(()=>{Qe.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function pn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function gn(n,e,t,s,l,r,i,a,o,h,c,m){let p=n.length,d=r.length,_=p,u={};for(;_--;)u[n[_].key]=_;let f=[],T=new Map,R=new Map,M=[];for(_=d;_--;){let v=m(l,r,_),F=t(v),O=i.get(F);O?s&&M.push(()=>O.p(v,e)):(O=h(F,v),O.c()),T.set(F,f[_]=O),F in u&&R.set(F,Math.abs(_-u[F]))}let U=new Set,X=new Set;function W(v){D(v,1),v.m(a,c),i.set(v.key,v),c=v.first,d--}for(;p&&d;){let v=f[d-1],F=n[p-1],O=v.key,V=F.key;v===F?(c=v.first,p--,d--):T.has(V)?!i.has(O)||U.has(O)?W(v):X.has(V)?p--:R.get(O)>R.get(V)?(X.add(O),W(v)):(U.add(V),p--):(o(F,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;d;)W(f[d-1]);return G(M),f}var As=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],oa=new Set([...As]);function En(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function et(n){n&&n.c()}function me(n,e,t,s){let{fragment:l,after_update:r}=n.$$;l&&l.m(e,t),s||ct(()=>{let i=n.$$.on_mount.map(_t).filter(xe);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),r.forEach(ct)}function ue(n,e){let t=n.$$;t.fragment!==null&&(Ms(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function vs(n,e){n.$$.dirty[0]===-1&&(se.push(n),ys(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=d.length?d[0]:p;return h.ctx&&l(h.ctx[m],h.ctx[m]=_)&&(!h.skip_bound&&h.bound[m]&&h.bound[m](_),c&&vs(n,m)),p}):[],h.update(),c=!0,G(h.before_update),h.fragment=s?s(h.ctx):!1,e.target){if(e.hydrate){Rs();let m=Cs(e.target);h.fragment&&h.fragment.l(m),m.forEach(k)}else h.fragment&&h.fragment.c();e.intro&&D(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),bs(),mn()}fe(o)}var ws;typeof HTMLElement=="function"&&(ws=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(_t).filter(xe);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=j}$on(n,e){if(!xe(e))return j;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!cn(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=j}$on(e,t){if(!xe(t))return j;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let l=s.indexOf(t);l!==-1&&s.splice(l,1)}}$set(e){this.$$set&&!cn(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var Rn=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var mt={"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"};var Fs={}.hasOwnProperty;function tt(n,e={}){let t=bn(),s=String(n),l=s.toLowerCase(),r=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Fs.call(mt,l)){let a=mt[l];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?tt(a):(t[Rn.includes(l)?"regular":"irregular"]=s,t)}for(;I(l.charCodeAt(r))&&r<9;)r++;if(r>1&&r<9){if(t.language=s.slice(0,r),r<4){let a=0;for(;l.charCodeAt(r)===45&&I(l.charCodeAt(r+1))&&I(l.charCodeAt(r+2))&&I(l.charCodeAt(r+3))&&!I(l.charCodeAt(r+4));){if(a>2)return i(r,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(r+1,r+4)),r+=4,a++}}for(l.charCodeAt(r)===45&&I(l.charCodeAt(r+1))&&I(l.charCodeAt(r+2))&&I(l.charCodeAt(r+3))&&I(l.charCodeAt(r+4))&&!I(l.charCodeAt(r+5))&&(t.script=s.slice(r+1,r+5),r+=5),l.charCodeAt(r)===45&&(I(l.charCodeAt(r+1))&&I(l.charCodeAt(r+2))&&!I(l.charCodeAt(r+3))?(t.region=s.slice(r+1,r+3),r+=3):$(l.charCodeAt(r+1))&&$(l.charCodeAt(r+2))&&$(l.charCodeAt(r+3))&&!$(l.charCodeAt(r+4))&&(t.region=s.slice(r+1,r+4),r+=4));l.charCodeAt(r)===45;){let a=r+1,o=a;for(;Z(l.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(l.charCodeAt(a)))t.variants.push(s.slice(a,o)),r=o;else break}for(;l.charCodeAt(r)===45&&!(l.charCodeAt(r+1)===120||!Z(l.charCodeAt(r+1))||l.charCodeAt(r+2)!==45||!Z(l.charCodeAt(r+3)));){let a=r+2,o=0;for(;l.charCodeAt(a)===45&&Z(l.charCodeAt(a+1))&&Z(l.charCodeAt(a+2));){let h=a+1;for(a=h+2,o++;Z(l.charCodeAt(a));){if(a-h>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(r+1),extensions:s.slice(r+3,a).split("-")}),r=a}}else r=0;if(r===0&&l.charCodeAt(r)===120||l.charCodeAt(r)===45&&l.charCodeAt(r+1)===120){r=r?r+2:1;let a=r;for(;l.charCodeAt(a)===45&&Z(l.charCodeAt(a+1));){let o=r+1;for(a=o;Z(l.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(r+1,a)),r=a}}if(r!==s.length)return i(r,6,"Found superfluous content after tag");return t;function i(a,o,h){return e.warning&&e.warning(h,o,a),e.forgiving?t:bn()}}function bn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Tn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Hs(n){let e,t,s,l,r,i=n[0]&&Cn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,l=A(),r=C("p"),r.textContent=`${n[3](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),E(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),y(a,e,o),y(a,t,o),b(t,s),b(t,l),b(t,r)},p(a,o){a[0]?i||(i=Cn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ns(n){let e,t,s,l,r=n[1].meta?.title+"",i,a,o,h,c=n[1].excerpt+"",m,p=n[0]&&kn(n),d=n[2].length&&Sn(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),l=C("a"),i=w(r),o=A(),h=C("p"),m=A(),d&&d.c(),E(l,"class","pagefind-ui__result-link svelte-j9e30"),E(l,"href",a=n[1].meta?.url||n[1].url),E(s,"class","pagefind-ui__result-title svelte-j9e30"),E(h,"class","pagefind-ui__result-excerpt svelte-j9e30"),E(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,u){p&&p.m(_,u),y(_,e,u),y(_,t,u),b(t,s),b(s,l),b(l,i),b(t,o),b(t,h),h.innerHTML=c,b(t,m),d&&d.m(t,null)},p(_,u){_[0]?p?p.p(_,u):(p=kn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),u&2&&r!==(r=_[1].meta?.title+"")&&N(i,r),u&2&&a!==(a=_[1].meta?.url||_[1].url)&&E(l,"href",a),u&2&&c!==(c=_[1].excerpt+"")&&(h.innerHTML=c),_[2].length?d?d.p(_,u):(d=Sn(_),d.c(),d.m(t,null)):d&&(d.d(1),d=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),d&&d.d()}}}function Cn(n){let e;return{c(){e=C("div"),E(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){y(t,e,s)},d(t){t&&k(e)}}}function kn(n){let e,t=n[1].meta.image&&yn(n);return{c(){e=C("div"),t&&t.c(),E(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,l){y(s,e,l),t&&t.m(e,null)},p(s,l){s[1].meta.image?t?t.p(s,l):(t=yn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function yn(n){let e,t,s;return{c(){e=C("img"),E(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||E(e,"src",t),E(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(l,r){y(l,e,r)},p(l,r){r&2&&!ie(e.src,t=l[1].meta?.image)&&E(e,"src",t),r&2&&s!==(s=l[1].meta?.image_alt||l[1].meta?.title)&&E(e,"alt",s)},d(l){l&&k(e)}}}function Sn(n){let e,t=n[2],s=[];for(let l=0;ln.toLocaleUpperCase();function zs(n,e,t){let{show_images:s=!0}=e,{process_result:l=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=async m=>{t(1,a=await m.data()),t(1,a=l?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},c=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,l=m.process_result),"result"in m&&t(5,r=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:h(r)},[s,a,o,c,l,r]}var pt=class extends q{constructor(e){super(),Y(this,e,zs,Os,K,{show_images:0,process_result:4,result:5})}},vn=pt;function wn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function Fn(n,e,t){let s=n.slice();return s[15]=e[t],s}function js(n){let e,t,s,l,r,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,l=A(),r=C("p"),r.textContent=`${n[5](40)}`,E(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),E(r,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),E(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),y(a,e,o),y(a,t,o),b(t,s),b(t,l),b(t,r)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ds(n){let e,t,s,l,r=n[1].meta?.title+"",i,a,o,h,c,m=n[0]&&Nn(n),p=n[4]&&zn(n),d=n[3],_=[];for(let f=0;fn.toLocaleUpperCase();function Is(n,e,t){let{show_images:s=!0}=e,{process_result:l=null}=e,{result:r={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],h=[],c=!1,m=(_,u)=>{if(_.length<=u)return _;let f=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>f.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=l?.(a)??a),t(2,o=Object.entries(a.meta).filter(([u])=>!i.includes(u))),Array.isArray(a.sub_results)&&(t(4,c=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),c?t(3,h=m(a.sub_results.slice(1),3)):t(3,h=m([...a.sub_results],3)))},d=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,l=_.process_result),"result"in _&&t(7,r=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(r)},[s,a,o,h,c,d,l,r]}var gt=class extends q{constructor(e){super(),Y(this,e,Is,Us,K,{show_images:0,process_result:6,result:7})}},Pn=gt;function Ln(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function qn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Bn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",l,r,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),Jn=n=>n.toLowerCase();function Ls(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:l=!0}=e,{open_filters:r=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:h={}}=e,c=!1,m=!1;function p(d,_){h[`${d}:${_}`]=this.checked,t(0,h)}return n.$$set=d=>{"available_filters"in d&&t(1,s=d.available_filters),"show_empty_filters"in d&&t(2,l=d.show_empty_filters),"open_filters"in d&&t(3,r=d.open_filters),"translate"in d&&t(4,i=d.translate),"automatic_translations"in d&&t(5,a=d.automatic_translations),"translations"in d&&t(6,o=d.translations),"selected_filters"in d&&t(0,h=d.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!c){t(8,c=!0);let d=Object.entries(s||{});d.length===1&&Object.entries(d[0][1])?.length<=6&&t(7,m=!0)}}},[h,s,l,r,i,a,o,m,c,p]}var Et=class extends q{constructor(e){super(),Y(this,e,Ls,Ps,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},Yn=Et;var Rt={};S(Rt,{comments:()=>Bs,default:()=>Gs,direction:()=>Ws,strings:()=>Vs,thanks_to:()=>qs});var qs="Jan Claasen ",Bs="",Ws="ltr",Vs={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]"},Gs={thanks_to:qs,comments:Bs,direction:Ws,strings:Vs};var bt={};S(bt,{comments:()=>Js,default:()=>Xs,direction:()=>Ys,strings:()=>Zs,thanks_to:()=>Ks});var Ks="Maruf Alom ",Js="",Ys="ltr",Zs={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},Xs={thanks_to:Ks,comments:Js,direction:Ys,strings:Zs};var Tt={};S(Tt,{comments:()=>xs,default:()=>tl,direction:()=>$s,strings:()=>el,thanks_to:()=>Qs});var Qs="Pablo Villaverde ",xs="",$s="ltr",el={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9es 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\xFCents:",searching:"Cercant [SEARCH_TERM]..."},tl={thanks_to:Qs,comments:xs,direction:$s,strings:el};var Ct={};S(Ct,{comments:()=>sl,default:()=>il,direction:()=>ll,strings:()=>rl,thanks_to:()=>nl});var nl="Dalibor Hon ",sl="",ll="ltr",rl={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},il={thanks_to:nl,comments:sl,direction:ll,strings:rl};var kt={};S(kt,{comments:()=>ol,default:()=>_l,direction:()=>ul,strings:()=>cl,thanks_to:()=>al});var al="Jonas Smedegaard ",ol="",ul="ltr",cl={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 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\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},_l={thanks_to:al,comments:ol,direction:ul,strings:cl};var yt={};S(yt,{comments:()=>dl,default:()=>pl,direction:()=>hl,strings:()=>ml,thanks_to:()=>fl});var fl="Jan Claasen ",dl="",hl="ltr",ml={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},pl={thanks_to:fl,comments:dl,direction:hl,strings:ml};var St={};S(St,{comments:()=>El,default:()=>Tl,direction:()=>Rl,strings:()=>bl,thanks_to:()=>gl});var gl="Liam Bigelow ",El="",Rl="ltr",bl={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]..."},Tl={thanks_to:gl,comments:El,direction:Rl,strings:bl};var Mt={};S(Mt,{comments:()=>kl,default:()=>Ml,direction:()=>yl,strings:()=>Sl,thanks_to:()=>Cl});var Cl="Pablo Villaverde ",kl="",yl="ltr",Sl={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s 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\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Ml={thanks_to:Cl,comments:kl,direction:yl,strings:Sl};var At={};S(At,{comments:()=>vl,default:()=>Hl,direction:()=>wl,strings:()=>Fl,thanks_to:()=>Al});var Al="Valtteri Laitinen ",vl="",wl="ltr",Fl={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 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\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Hl={thanks_to:Al,comments:vl,direction:wl,strings:Fl};var vt={};S(vt,{comments:()=>Ol,default:()=>Dl,direction:()=>zl,strings:()=>jl,thanks_to:()=>Nl});var Nl="Nicolas Friedli ",Ol="",zl="ltr",jl={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},Dl={thanks_to:Nl,comments:Ol,direction:zl,strings:jl};var wt={};S(wt,{comments:()=>Il,default:()=>ql,direction:()=>Pl,strings:()=>Ll,thanks_to:()=>Ul});var Ul="Pablo Villaverde ",Il="",Pl="ltr",Ll={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is 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]..."},ql={thanks_to:Ul,comments:Il,direction:Pl,strings:Ll};var Ft={};S(Ft,{comments:()=>Wl,default:()=>Kl,direction:()=>Vl,strings:()=>Gl,thanks_to:()=>Bl});var Bl="Amit Yadav ",Wl="",Vl="ltr",Gl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},Kl={thanks_to:Bl,comments:Wl,direction:Vl,strings:Gl};var Ht={};S(Ht,{comments:()=>Yl,default:()=>Ql,direction:()=>Zl,strings:()=>Xl,thanks_to:()=>Jl});var Jl="Diomed ",Yl="",Zl="ltr",Xl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei 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\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},Ql={thanks_to:Jl,comments:Yl,direction:Zl,strings:Xl};var Nt={};S(Nt,{comments:()=>$l,default:()=>nr,direction:()=>er,strings:()=>tr,thanks_to:()=>xl});var xl="Adam Laki ",$l="",er="ltr",tr={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},nr={thanks_to:xl,comments:$l,direction:er,strings:tr};var Ot={};S(Ot,{comments:()=>lr,default:()=>ar,direction:()=>rr,strings:()=>ir,thanks_to:()=>sr});var sr="Nixentric",lr="",rr="ltr",ir={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]..."},ar={thanks_to:sr,comments:lr,direction:rr,strings:ir};var zt={};S(zt,{comments:()=>ur,default:()=>fr,direction:()=>cr,strings:()=>_r,thanks_to:()=>or});var or="Cosette Bruhns Alonso, Andrew Janco ",ur="",cr="ltr",_r={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 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]..."},fr={thanks_to:or,comments:ur,direction:cr,strings:_r};var jt={};S(jt,{comments:()=>hr,default:()=>gr,direction:()=>mr,strings:()=>pr,thanks_to:()=>dr});var dr="Tate",hr="",mr="ltr",pr={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},gr={thanks_to:dr,comments:hr,direction:mr,strings:pr};var Dt={};S(Dt,{comments:()=>Rr,default:()=>Cr,direction:()=>br,strings:()=>Tr,thanks_to:()=>Er});var Er="Seokho Son ",Rr="",br="ltr",Tr={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Cr={thanks_to:Er,comments:Rr,direction:br,strings:Tr};var Ut={};S(Ut,{comments:()=>yr,default:()=>Ar,direction:()=>Sr,strings:()=>Mr,thanks_to:()=>kr});var kr="",yr="",Sr="ltr",Mr={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",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\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Ar={thanks_to:kr,comments:yr,direction:Sr,strings:Mr};var It={};S(It,{comments:()=>wr,default:()=>Nr,direction:()=>Fr,strings:()=>Hr,thanks_to:()=>vr});var vr="Paul van Brouwershaven",wr="",Fr="ltr",Hr={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]..."},Nr={thanks_to:vr,comments:wr,direction:Fr,strings:Hr};var Pt={};S(Pt,{comments:()=>zr,default:()=>Ur,direction:()=>jr,strings:()=>Dr,thanks_to:()=>Or});var Or="Christopher Wingate",zr="",jr="ltr",Dr={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 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\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},Ur={thanks_to:Or,comments:zr,direction:jr,strings:Dr};var Lt={};S(Lt,{comments:()=>Pr,default:()=>Br,direction:()=>Lr,strings:()=>qr,thanks_to:()=>Ir});var Ir="",Pr="",Lr="ltr",qr={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},Br={thanks_to:Ir,comments:Pr,direction:Lr,strings:qr};var qt={};S(qt,{comments:()=>Vr,default:()=>Jr,direction:()=>Gr,strings:()=>Kr,thanks_to:()=>Wr});var Wr="Jonatah",Vr="",Gr="ltr",Kr={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]..."},Jr={thanks_to:Wr,comments:Vr,direction:Gr,strings:Kr};var Bt={};S(Bt,{comments:()=>Zr,default:()=>xr,direction:()=>Xr,strings:()=>Qr,thanks_to:()=>Yr});var Yr="Bogdan Mateescu ",Zr="",Xr="ltr",Qr={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn 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\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},xr={thanks_to:Yr,comments:Zr,direction:Xr,strings:Qr};var Wt={};S(Wt,{comments:()=>ei,default:()=>si,direction:()=>ti,strings:()=>ni,thanks_to:()=>$r});var $r="Aleksandr Gordeev",ei="",ti="ltr",ni={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},si={thanks_to:$r,comments:ei,direction:ti,strings:ni};var Vt={};S(Vt,{comments:()=>ri,default:()=>oi,direction:()=>ii,strings:()=>ai,thanks_to:()=>li});var li="Andrija Sagicc",ri="",ii="ltr",ai={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},oi={thanks_to:li,comments:ri,direction:ii,strings:ai};var Gt={};S(Gt,{comments:()=>ci,default:()=>di,direction:()=>_i,strings:()=>fi,thanks_to:()=>ui});var ui="Montazar Al-Jaber ",ci="",_i="ltr",fi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},di={thanks_to:ui,comments:ci,direction:_i,strings:fi};var Kt={};S(Kt,{comments:()=>mi,default:()=>Ei,direction:()=>pi,strings:()=>gi,thanks_to:()=>hi});var hi="",mi="",pi="ltr",gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ei={thanks_to:hi,comments:mi,direction:pi,strings:gi};var Jt={};S(Jt,{comments:()=>bi,default:()=>ki,direction:()=>Ti,strings:()=>Ci,thanks_to:()=>Ri});var Ri="Taylan \xD6zg\xFCr Bildik",bi="",Ti="ltr",Ci={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},ki={thanks_to:Ri,comments:bi,direction:Ti,strings:Ci};var Yt={};S(Yt,{comments:()=>Si,default:()=>vi,direction:()=>Mi,strings:()=>Ai,thanks_to:()=>yi});var yi="Vladyslav Lyshenko ",Si="",Mi="ltr",Ai={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},vi={thanks_to:yi,comments:Si,direction:Mi,strings:Ai};var Zt={};S(Zt,{comments:()=>Fi,default:()=>Oi,direction:()=>Hi,strings:()=>Ni,thanks_to:()=>wi});var wi="Long Nhat Nguyen",Fi="",Hi="ltr",Ni={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},Oi={thanks_to:wi,comments:Fi,direction:Hi,strings:Ni};var Xt={};S(Xt,{comments:()=>ji,default:()=>Ii,direction:()=>Di,strings:()=>Ui,thanks_to:()=>zi});var zi="Amber Song",ji="",Di="ltr",Ui={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ii={thanks_to:zi,comments:ji,direction:Di,strings:Ui};var Qt={};S(Qt,{comments:()=>Li,default:()=>Wi,direction:()=>qi,strings:()=>Bi,thanks_to:()=>Pi});var Pi="Amber Song",Li="",qi="ltr",Bi={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Wi={thanks_to:Pi,comments:Li,direction:qi,strings:Bi};var xt={};S(xt,{comments:()=>Gi,default:()=>Yi,direction:()=>Ki,strings:()=>Ji,thanks_to:()=>Vi});var Vi="Amber Song",Gi="",Ki="ltr",Ji={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Yi={thanks_to:Vi,comments:Gi,direction:Ki,strings:Ji};var Zi=[Rt,bt,Tt,Ct,kt,yt,St,Mt,At,vt,wt,Ft,Ht,Nt,Ot,zt,jt,Dt,Ut,It,Pt,Lt,qt,Bt,Wt,Vt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt],Zn=Zi,Xn=["../../translations/af.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.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/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function Qn(n,e,t){let s=n.slice();return s[51]=e[t],s}function xn(n){let e,t,s;function l(i){n[37](i)}let r={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(r.selected_filters=n[0]),e=new Yn({props:r}),re.push(()=>En(e,"selected_filters",l)),{c(){et(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],hn(()=>t=!1)),e.$set(o)},i(i){s||(D(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function $n(n){let e,t,s,l,r=[xi,Qi],i=[];function a(o,h){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=r[t](n),{c(){e=C("div"),s.c(),E(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,h){y(o,e,h),i[t].m(e,null),l=!0},p(o,h){let c=t;t=a(o,h),t===c?i[t].p(o,h):(ae(),P(i[c],1,1,()=>{i[c]=null}),oe(),s=i[t],s?s.p(o,h):(s=i[t]=r[t](o),s.c()),D(s,1),s.m(e,null))},i(o){l||(D(s),l=!0)},o(o){P(s),l=!1},d(o){o&&k(e),i[t].d()}}}function Qi(n){let e,t,s,l=[],r=new Map,i,a,o;function h(u,f){return u[13].results.length===0?ta:u[13].results.length===1?ea:$i}let c=h(n,[-1,-1]),m=c(n),p=n[13].results.slice(0,n[17]),d=u=>u[51].id;for(let u=0;un[17]&&ts(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let u=0;uu[17]?_?_.p(u,f):(_=ts(u),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(u){if(!o){for(let f=0;f{o[p]=null}),oe(),l=o[s],l?l.p(e,m):(l=o[s]=a[s](e),l.c()),D(l,1),l.m(r.parentNode,r))},i(c){i||(D(l),i=!0)},o(c){P(l),i=!1},d(c){c&&k(t),o[s].d(c),c&&k(r)}}}function ts(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,l,r;return{c(){e=C("button"),s=w(t),E(e,"type","button"),E(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){y(i,e,a),b(e,s),l||(r=J(e,"click",n[22]),l=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),l=!1,r()}}}function ns(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),E(e,"class","pagefind-ui__message svelte-e9gkc3")},m(l,r){y(l,e,r),b(e,s)},p(l,r){r[0]&589952&&t!==(t=l[20]("searching",l[19],l[7]).replace(/\[SEARCH_TERM\]/,l[16])+"")&&N(s,t)},d(l){l&&k(e)}}}function la(n){let e,t,s,l,r,i,a=n[20]("clear_search",n[19],n[7])+"",o,h,c,m,p,d,_,u,f=n[12]&&xn(n),T=n[15]&&$n(n);return{c(){e=C("div"),t=C("form"),s=C("input"),r=A(),i=C("button"),o=w(a),h=A(),c=C("div"),f&&f.c(),m=A(),T&&T.c(),E(s,"class","pagefind-ui__search-input svelte-e9gkc3"),E(s,"type","text"),E(s,"placeholder",l=n[20]("placeholder",n[19],n[7])),E(s,"autocapitalize","none"),E(s,"enterkeyhint","search"),s.autofocus=n[8],E(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),E(c,"class","pagefind-ui__drawer svelte-e9gkc3"),B(c,"pagefind-ui__hidden",!n[15]),E(t,"class","pagefind-ui__form svelte-e9gkc3"),E(t,"role","search"),E(t,"aria-label",p=n[20]("search_label",n[19],n[7])),E(t,"action","javascript:void(0);"),E(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){y(R,e,M),b(e,t),b(t,s),ft(s,n[9]),n[34](s),b(t,r),b(t,i),b(i,o),n[35](i),b(t,h),b(t,c),f&&f.m(c,null),b(c,m),T&&T.m(c,null),d=!0,n[8]&&s.focus(),_||(u=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",ra)],_=!0)},p(R,M){(!d||M[0]&524416&&l!==(l=R[20]("placeholder",R[19],R[7])))&&E(s,"placeholder",l),(!d||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&ft(s,R[9]),(!d||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!d||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?f?(f.p(R,M),M[0]&4096&&D(f,1)):(f=xn(R),f.c(),D(f,1),f.m(c,m)):f&&(ae(),P(f,1,1,()=>{f=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&D(T,1)):(T=$n(R),T.c(),D(T,1),T.m(c,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!d||M[0]&32768)&&B(c,"pagefind-ui__hidden",!R[15]),(!d||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&E(t,"aria-label",p),(!d||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){d||(D(f),D(T),d=!0)},o(R){P(f),P(T),d=!1},d(R){R&&k(e),n[34](null),n[35](null),f&&f.d(),T&&T.d(),_=!1,G(u)}}}var ra=n=>n.preventDefault();function ia(n,e,t){let s={},l=Xn.map(g=>g.match(/([^\/]+)\.json$/)[1]);for(let g=0;gz[g]??H[g]??"";dt(()=>{let g=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=tt(g.toLocaleLowerCase());t(19,rn=s[`${H.language}-${H.script}-${H.region}`]||s[`${H.language}-${H.region}`]||s[`${H.language}`]||s.en)}),ht(()=>{F?.destroy?.(),F=null});let an=async()=>{if(!st&&(t(12,st=!0),!F)){let g;try{g=await import(`${r}pagefind.js`)}catch(z){console.error(z),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join(` +`))}c||t(24,c=h?12:30);let H={...f||{},excerptLength:c};await g.options(H);for(let z of T){if(!z.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=z.bundlePath;delete z.bundlePath,await g.mergeIndex(L,z)}F=g,is()}},is=async()=>{F&&(ln=await F.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=ln))},as=g=>{let H={};return Object.entries(g).filter(([,z])=>z).forEach(([z])=>{let[L,te]=z.split(/:(.*)$/);H[L]=H[L]||[],H[L].push(te)}),H},_e,os=async(g,H)=>{if(!g){t(15,rt=!1),_e&&clearTimeout(_e);return}let z=as(H),L=()=>us(g,z);u>0&&g?(_e&&clearTimeout(_e),_e=setTimeout(L,u),await on(),F.preload(g,{filters:z})):L(),cs()},on=async()=>{for(;!F;)an(),await new Promise(g=>setTimeout(g,50))},us=async(g,H)=>{t(16,sn=g||""),typeof p=="function"&&(g=p(g)),t(14,lt=!0),t(15,rt=!0),await on();let z=++nn,L={filters:H};X&&typeof X=="object"&&(L.sort=X);let te=await F.search(g,L);nn===z&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,tn=te),t(14,lt=!1),t(17,it=i))},cs=()=>{let g=V.offsetWidth;g!=ls&&t(10,O.style.paddingRight=`${g+2}px`,O)},_s=g=>{g?.preventDefault(),t(17,it+=i)},fs=g=>{g.key==="Escape"&&(t(9,v=""),O.blur()),g.key==="Enter"&&g.preventDefault()};function ds(){v=this.value,t(9,v),t(23,R)}function hs(g){re[g?"unshift":"push"](()=>{O=g,t(10,O)})}function ms(g){re[g?"unshift":"push"](()=>{V=g,t(11,V)})}let ps=()=>{t(9,v=""),O.blur()};function gs(g){W=g,t(0,W)}return n.$$set=g=>{"base_path"in g&&t(25,r=g.base_path),"page_size"in g&&t(26,i=g.page_size),"reset_styles"in g&&t(1,a=g.reset_styles),"show_images"in g&&t(2,o=g.show_images),"show_sub_results"in g&&t(3,h=g.show_sub_results),"excerpt_length"in g&&t(24,c=g.excerpt_length),"process_result"in g&&t(4,m=g.process_result),"process_term"in g&&t(27,p=g.process_term),"show_empty_filters"in g&&t(5,d=g.show_empty_filters),"open_filters"in g&&t(6,_=g.open_filters),"debounce_timeout_ms"in g&&t(28,u=g.debounce_timeout_ms),"pagefind_options"in g&&t(29,f=g.pagefind_options),"merge_index"in g&&t(30,T=g.merge_index),"trigger_search_term"in g&&t(23,R=g.trigger_search_term),"translations"in g&&t(7,M=g.translations),"autofocus"in g&&t(8,U=g.autofocus),"sort"in g&&t(31,X=g.sort),"selected_filters"in g&&t(0,W=g.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:os(v,W)},[W,a,o,h,m,d,_,M,U,v,O,V,st,tn,lt,rt,sn,it,ce,rn,rs,an,_s,R,c,r,i,p,u,f,T,X,fs,ds,hs,ms,ps,gs]}var $t=class extends q{constructor(e){super(),Y(this,e,ia,la,K,{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])}},ss=$t;var en;try{en=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1]}catch{en="/pagefind/"}var nt=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??en,l=e.pageSize??5,r=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,h=e.processResult??null,c=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],d=e.debounceTimeoutMs??300,_=e.mergeIndex??[],u=e.translations??[],f=e.autofocus??!1,T=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;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new ss({target:R,props:{base_path:s,page_size:l,reset_styles:r,show_images:i,show_sub_results:a,excerpt_length:o,process_result:h,process_term:c,show_empty_filters:m,open_filters:p,debounce_timeout_ms:d,merge_index:_,translations:u,autofocus:f,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,l]of Object.entries(e))if(Array.isArray(l))for(let r of l)t[`${s}:${r}`]=!0;else t[`${s}:${l}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=nt;})(); diff --git a/pagefind/pagefind.en_4bc1717bc6.pf_meta b/pagefind/pagefind.en_4bc1717bc6.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..b73ff3157636b96f5646acfe0255d4d07aaa2623 GIT binary patch literal 295 zcmV+?0oeW@iwFP!00002|1HluP6IIz24F=vDY(HD)JPQ3+8#gl1c*~aGk%~1DM4fr zB`a1r0u%@uByK{<;|{4f28*5Y^KX0RzoyHSm+QEQA?}i#%X#zouuAKNia{HUAnpsv zwQQAvW^s3OM$TmlqoffvpDe?IBv(k{&s9>fFePr#GhUr;NC6R9kCeL-Q zlUmC0=dZ#LJX(|>c7>QQD``Re6edIDj0W*r7#kmyH86RvscW^xG5tQwb!0t(c&m*X zr*XV2xjg2_`YNW@tN5a)GgkCYhU=%c1CBhuLSWEiN)VYBWi{0AJe ti{yrSwB+q=*(>GNvl)1Mx7znF+s#e4?_Wy+G}&?N`#<{g*U*;%004>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: +${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/pagefind/wasm.en.pagefind b/pagefind/wasm.en.pagefind new file mode 100644 index 0000000000000000000000000000000000000000..954618ca451743ace1985d9b6b695c9776e19fae GIT binary patch literal 70907 zcmV(=K-s?^iwFp>S`20a18`wyWoBt^WM6k>VqaosE@f^mF)lGKFfMmtb8P_BT3w73 zS9ZSl)~&y;s+pc)_%Q>XTNOuPl|=DAEW1e*%Vi1J5pl2-KjbCC1dk0pHh6|vY%6$r zk|k?LL0PON5sG+V6Qt#V)$+iDmGA(Gr6m$8p@>LU431@Rf)yUfE=fp)Le6*Yt?ufc zZZmdvSIIzk)wzFl?|1%B^((txoOxmIzUOy7zx#Qy>%hxW2qCXa^PFn8#dBU8-*hY6 z&q+tqt!{I>#J%6P1h)|#v|R&_U3C4_A;fcWyZS@-;v#0f!JTT6zj+3}-*`^GL0@jd zB8Jj>^i9hxVtVKn;#rIIP3zgMEpnqr3-hLFL5cNL8w;v8=-d02ep|~h@WVjLQ20`6 zKa}(xhBDTQ0GO1cQb?JJ#E+!(gdUBw@O>5f1W%+_DH+l{F(QSp#e|BfPg1v7OOpe! z0c$js-xR`MqlCZF*Gh##`ZAH4`d6)|ReX4Ep)bXVM}Ln9?FT_HCPgU5L_q6H{Hc)F z_GmvIPEK>VogPBpzNfu_2GAm&CwOb26suEBn-Zb#38A&-;q+h8eH_O^j0d!mrlV@9 z2s?o-({zz2PtreMC@-Zo0~tv^F1Dv4eA7ri5HG2)iXiB;dQ>PndVrxJwR=8J*l0AO z$WtEw1$?J;qykX1QY2}hRv~Rc1-x~7E;aE0JW+Bds*--|n6o!R^1o`nPA z`>OfU{$0=Sq#-k}?cBZRYx`!!B{jxvFYJA3VP@Vn{;itW_5AZY54^r_Vb9FM-rcTO z{Jk2TpPBpG%z*{F#>@fnK(48p+!9sKl3HK&?0V^?{@xE%Xj=}5e^kMNnO*a{_lQ4{ zV>@@g`a3k{#hHCOU#4mMcZ=I|K5Gr?SFZr zwIMIe&&-IAym-G9rA)s3ruxMD5AU1$sQ%5P`p><;^ziu$@2|WMy-&Qu`uFwk=})}7 z>YLtC{imM)ZFSZANd5L7=sQIJ(7U02HN_2lw@##8M@uA8~ICeT`mnZKcR&2N?FqAr;D>Sqf@1Z+*w0K@%OdN>Lt{%|F)bX{vcbosw>@sn2~^@m$lHdm6*e$e!8x z6Y7$3v-A4wTOQBOJF_oi*cDZuUEc9Po~TH5*R^@wlecmKu|Pqh!d{>D>({bv_% z>BXm(zWsxf=hPuAS?G)TD4@GoM5Xu*Le4X?`D<9^lx$VEmz2FtWkS?#Jk3P27pWzo zxua$K*D;YAM`z0i54^cTHYYnPOm-HS?94Zs$2BL3-bCo;!1I38qVJQk`9}k@tDT>G!LKJJ+aT zb9wrD)o>aOUoJnq<{C_@+jz`EA?^9-c_zfR!wP1*bvmlsu{0reET`vv6DM0TLHPXK z_RP&ELM^l)DrlFjobdBZz}OS=M|@g1F!UkpW%-32*(e=XE#y)?2|$SpZE85w>g)%5 z35>LSW~#A`R%pKeqwwx4x!VQojTPCiAK9c(qZL@c0?@q<``vf z8e*2qr$j!Ldf@YY8WzswjjEM-EWf10Q;kJ4b*Nx{X66PasG3RcJ3Z0Ro^(hLZu2P` z&;-vLIC=vNR|zQs;WwH#u(M6&nKv(r=GVb9Uq3l?W3+}_(Wi44J}s4)sqYjLjM9!# zbVE!s%p{G6=)@`r?9wK(FogzdBs7Ac)mt)e{c;=|y*NTWyI3}ASay4c<4MXg1kWKo z>5!gJ!Bh93*r5)8E=+ZW>iQ0>Y@qs}P1s;ZTgYET{Q&Ad0AW@vfV|lnfSsP<0BWO$ z063&49nv!lK-mxA=MzJA2@xC-P8k6@17 zPx95)#ITJ%7c3i2D_;$5SE*?Dn%eO9!a>9DMYgN-X!u%$3-B(mjhm>COnYd?tP^>f zIe5fx0iCeW;BTcwjcsI>#G}$zEJixmpHScD9E_ou)`63ogcYd?B^8|K6k#$0PnpW>Pp*2oa zPSWb|-8uR3&`jV%XpuF8hUw)fKVo6+MLF0;O9ul{wn%QL#X|BfP>C9#+5)P(fRd#3 z0-ALJjp~4sYe4r%51@g?F9v?@+<_Uvxr2uSs`~+TETf~EHNAia7SL##R__41w(Akn zQqSipEZ!=72$zVx1M6!ap6e=qUB@$o!ww&Ur_Lkb8P)KNES^ypPg3-ucj>yhhiF0Kuef@ zy3*6yE5p=D(8w~S&-#^q2Rve^{+z?cy@AU)GP=uXW{R9c6Pr>Srl!Osx>yFK zmO&{PH2G;c#|D>kjI@f49UjFdM&F~|oFg_PX2Z1ENK7FHjbLPK9-XGvcmRVYdl-~j z2CXFuTlU) zEyxlk5sBai&!N$)zyeL3!ImssPqNt;tc3%!2Dq8ekTno?LxQv+J?W61VL=)~rqX8F z9H~f`bU}V~Kd?0PP>WOLTVw-*3TF&$iJC41um(lij>u4)_i5i_p<-@$xZU($+5G_*ugkvUGOr1mjS$t zt8kP#)UpRGfnr70vx%sOq70I>)HI-sxo@?#Y;Pq_`BOqg<%Q{t_r@L~! zZ9wVj?VnZa+aBt>7lPTsA6(!4d{y1vnyxM8`Y7h6fVy7H4JJ3MGhjef%tb?!=!sfE z)i2MeSGJYH%?hu?5xG7F2x_?oRd8FVA9W6L+eoBer^qQPe&% z>k6Zt!Gv*DDy8`0iptS`f^uuSlnY&alWbP!DR7~uHg@oO$0+s=NakqP`M^4oRoEDW zUe>ffvffh8RqnfOA_5xP3qt$Yzg+W{3d0)6 zItlLB=EXM#4660Ay1xdc4a-H^S;mqTwUXRzokI%Qd7NA42}odEzDf~P8E(wmejSW4@}2D-Bw`>Db&)W^ck?NNBermu9yp>p9Da-81|+6}#8wYc_oveu zGqqIYH8>0e*Fn+kbglHLVGuwIY6$S^G@Vb+ha=HWsF&`~NG`+%oB&b;8!%r{#YkhD zAm!t@Y~{u{jS`!>WuWX?p+_W`d1!4bV4UE9qE(~>ubgWYtNUZwHMHqYESs8%X|vj- zh-Fh7%dVNGRvXKP2x7x-{T!yLXmI^J?9|WSx!zYlzjVE?e*WI|zWVv45Bloo?{pe| z1gkXJwMu~a2qEoU-g z`yx(MGkqk4XQZpunURac3QdOntHoNlqY+l#XZFMElDpa6RtltF1-J*U*{9St!T*YLx zdvZN?WCd?!>HzD90^C!M1;9~HIkpBcnc<%TAA!89E#9R#=&(G$P|XTw~*9B)!cMq-E?9ZmLLF39>%b<18Zney{CIne=y7Z zp)B)$YS$|-9-bMJGSiKwTkSQ4yvTIW_JOK<( zU|&bDC_RvKl!B2FA||J_#vIbr82gmQ!&^I4iMR@c9_Nbjwj^%h#~ySxm4`0Yinnrg zNZQP?&B+S^+bt~-#@&Jvr4qArYhs*6+rkmjVfN{MqT1ybDfLBF))tuH^08HJ;L))g zT|Q2ksmnCXT3A#{H&Bqgb-k)C#W)O5l>BH6xeap5oW}eq~cmh z$}cYjwj_l~Z*`QjrwG+spjuXv`qpDAZcCJ;nzKdJUy(AR{5OeOiYR~Z;CFXqA>Aac zLX@w~<$k&JPZtFzWLq-4h45!{Pr-*!kD4ZoN>opvG}{4~Uj{TgI{0ECW)GsmKulPe zEuTPP8&!&%A6>Ln3Tbsz5H`4=QdK?zhjeh3zNfZMQiSbsS!|Qiv=a&*{ArjE+5z1Y z$RzVQ0bO{RpcN=Pp~b+Ca>4~07)-{$+<36mb1l*=e(ttObWG;_GZ=b^kyg*j`ybnb zs?9bta1!?$su>4oarr2#H7wv6YLh6NCwUw+eoUw&9%Q zA7X)n7#oou3mj9xu5iSLGd5dBPlA<*){P{nCZO>G9UMd84JDCyf~?kMffkGm#Vy)y zW<%#tIFSIbVc9IXPD8ufI@!YW2`(}pRxd4?d5lg45uuL77Clv`CO-aN;0X5LG^LW6*+#Wg+v#gQ;*_8mf0tpaK0$@5V*HLAI^s-=KTfSvJ zi-W|>ZiwxZlebsU)GLKfdvi1@pbq3J(@Fb?Vci03Sl^C1rnur4w~!rX>Jb7 zK!;4cCs`Vus3O{B8#rBrlX;BhrhQK)EX+CYHl~yK(}jQtdwADxLNa}jYzbv2m#>H$ z9W-g*J7_nMdw+JvdL?L2Z!1r8N#cs;u*vauqnJtgEPf`!>;AmIN z%bO(Ox!~Z(g3iKFgsrU^%SFU2g)==_ZM0a?)n~u0$C+>l`?TEW|V(H_HwuSiv;=Uv9->mf zj)OSjdXChGodj{r5y$GoPJ=k%h!gc;XF;5D#HsqQcR-wR#F_fA3n0!p;#_^$B@pKw zalSt63W#?d@os(Cdmt`5;&Of1haj#x;%a@^EfCinajib=4v3qMxLF@|55#Rp+^!Eh z%4$}QB6dXl+$t2atv=x`b`0fjajZbbzlCg(ZIeQ<>_PxCE1T%9Ji)eVX-PUiOKx#H z;*uTn8T+2JKwXc2LN5=RU~A@C3(z$K$Q7Mc;opko+8Gm<&9Nn6`{~RGmx=7!p?OKY)cL$(<+ufC$T2wODLXg*yo!i;+z%Vi6Rn{-c%LS!!W~DiqCrU_OEr zTG13sM0G1-qkt<@XpL=bp?X^-)i!l(lG2#ER^qspYCE>#Kca@nj_LWGbKks~*v@P?itag z8<;)xr#DM=$&_DOXR{kPJ_QR9^bOwAiBv9e1u?2 zSQepUpIT+=+FWHpKC3IZ+4Q(GK1qN^Q`ht{0|Ze3rCl$n0Jpm!bN!smyKM{QlmxR) zZ;^dOwh%`=VSY=rfQ^UT=hp(u(~?DtGSB4IVRk#l;?+$xO%O(&`7oFuhAc{_I>$Vx z?J-`HXG04+%~#VA)=h34n6EFp(N>(hq72JmL%_5-T(Q3Ssna(dq|6hdsAh-)^UCIg zT12v`g(O=e`EgFkhQb?`Y?Dj2nJw8S3rQJJY+4 z={=8ZjpRend$E;XeIES!kc6*0qj}b}&P5T&*Mds6;bk(FJg%1Uc}@}P0N*aC5knM% zKM8%5M@&h?HrvaLD&-rEFfPwYU{2h|IL?TRa^f)f*J*f|k{(z1W_^h74*_Y)&=np2GKwh=zSI5MgYE|Uj~}^C{zx; z@+8o!<$4giqEH@%kbkv4s$>)6h!Q0}tUf^=MCEKgi19Vm00c5M0tNzlNr_>B&Z4z6 zqK~P3manq@9c^*~eTd=_vrCKx{rhP9!(;UD1b|M{Q`{MSpFz+7lP^kZ@|uy;oP5wr zazm8Oi5RbAFf7S?+D5g>248uA_bX%K(YhhPxWIxoVglK$$Rv*&z=&*)1Y+`i-T?UI zxL)~qlBa(Ql9%JNx#U?f+siV^(;|5@UgEx^WEGiKAD2v-jG-LEkYHHafnl#8*dy?F z`3cOVfn_1N+s~z+i&qUM_2!x2W$UtGng2u;>UTM{jBicO_%*`#wH=Iq)KBekKefly z@03hGml^X{<@Bx+dT;;DM6u-QH8(|XN$53m2ulm$IDK4RwpXWI;>mt|ln?~B<_tBRNa5k6iM5srSxC8{U)z zbcqCno%m*GZR+w9zDcBP3&p2hnWT2jWzuFZTXPWi|5%^GHo1g}BysExMV46Jt_E!~ zwQIyoD{)^%rcSd=6-lO!8)^44^`sJaS7b`$l*K6WQscpTXvn}Ye9PdsDmTRr^WHf< zvnCLoPg3V5gz!eLDJJuXk1qG|6OPLXT6Z_rB&UDM+G) zgz(L|)nw~KVBKUxzCSWeOj{>S+gh5oNYni-P1~u7#1t`4@^47VSXHNGmuA|gCHFwR z8dJDg!eyM2+f%PnsO^^3<*sh2F1fVfa{WNsg^!)-fQxq4tGETYl8>?autAA5H9H9D zqdwcJnq!rL!lc#6W~mVomvjq7Glex@;R?NF#9UJHK9Y-R&PU`^+T77Y(?N33a71m57cq@DFR}P{NfJD7LT#1X zG+TrycLJ~e(4?9VZ{(nilc3U4)!Oj{1rKS27kIOcxMh z>V56kAN=y?KY8KWL}Py|8Px^Ue*r>|g?3?09cp{H6=$%<_F!AAr*10`$-dEouU3Z$ z;$*`vp!acE+68v#lrw*d4WG(GV{T|?N&~uL*7Lcl2uqP{rG_EK_b)S8%z*Ky@ z49m&`c4iN6U(JBC-R!Z1-ecjLMQ_o$jByla4EMvF*n zWEidbQASaUh)Wb1-u0g5ySZ4MLVO8QUX%=W^nuo9assf+(r#PwqLfComG}PC$r17(`(2H0>+GSeu%Di}mShGaLco#`%{}(O#-zlCz zL;wY40r@VxLnE_-bL`}giM(ASlxZbOGD9IH z$w(l}7&WXU3k|$X26DEN@3vsKJtPnzn)6Q70htU)8sm40$RegMxZ!lyaJ5+G>=OpQ zjr3x!G5g&pW6L5W*B?vk^oO1@!%R`wDdh+_ldsD`{RXyCuWJ=B;156{Ek{iP#VM&3 zMtIX7e$7-trZV}SVf%%EnQsDKW!i{-Y;P^dXeYYiG(_>!U*czVKbYD$L#xNHi!6{4UjE`nK+?rKMC$R zEG6GIRW9*%zX;=3cwq~~IJd4EtWnsQ9Nd}dSqLxF>(t4naPI|})7~^asnW7<{~E|5 zzp|YCPzmS@N@j)x;G7Z~aE|l$SO`skJ2fjzsk+e1icVev(uE_2*A1H3D;f#A*lIVQ z)e))^!9Gyba!Y`1EjB@1paSXWA-h5aq^HY*`XW!3Ez5w|au(*XoGr@wqN+w-X=9UR zKlVuJr+6cud@|UWjG7yK5J~NvnVuGgfhc9rxFiKv-NqYskBUeU=5Ei2~YHK-TBx^;qZOhXwC@Nft~@`18t7+mNF z)KE-3`OxsH4-Bfpq-4~ZWq~h~iJaf;T%IH88qBXxvi;68(}C+JOM9n3Vv>#;VE`xb zB%9)3zRTfmvR*0o1WKDiSnMiwM~EOU0HR5LMC(Tn4hI5v{P|`}H+CQc_g8rf--iv{ z-{dV_av1%syoD=G2JR$ULT(8;x^hpTrNAu(iI&dfeGF$(x_`*~us{axnXC^r;55rU zlA)4>XU;SXl4q3vE_?y+IOW@br6uOx^kZc2o|I!d@Qs6~a)h|n{6y!G{=9H_jP9mCPA-7Nt*HAE()7ym*Wf^sXN+`p5A z7~7HtdQ`%vbJl+NKfpyoI$sc$zQ&$VulfUKzGLlA%?}a?SXE2 zU_6nMZQTaX^Mbmoj}23Xl#!oQGiGHx5Yh+zpk^NPgSvHn#%yLmBng8}-pf3DdUA;F z#N+fnb|r32b&E>T(;=@o8j53}H>?ckuZi_bI0TmylpuLl<>--GF;*8bdieRa?(RS~ zb6n$q=^5M-`*fJ(8#vYe#dA;r_tU`rDoFlX`79moxj9R%q0uZUw~RL94YTCjc>++v zkecGhbzI^=Db@?IO(8P_hECy;bxatn(5q#@sq_*gi^rs^t)$2c0ordB(TN ziXR4sxDiN_mve)g;Aq@SqClOOo2>B9waA7@#XjF0x65eGspK)WzIEcaa6UmUJo6$v z@dR}lV(xUT5JNIwdUG7ysEi2s)|)RBJ>@8_^g?>SmRaW|auECDv(4Wze!rUk=GEnm z{5P*Hht7G^y+l@)_s=$e^Sbg*{+m~o|2^B3Dqd5ro@qYk6=f=i$Lq;^`TM+@eEs?6 zZ&u##KIQoiLHhF!)jXOHj@OxAV=|2UZ<-bsTNZ=s>D|=d(F@&ks!mf^+ITO@RP>zg zU~t&MkU|GTctBUqwv8bZT)2RY?FJMdJLmn0xhW2s6nnK-L5t0EfB86bGgpfiyLYTr z!mmri%u^V`4Gl1v9Fq+UI-4<6=Qj9dtTP>?v~okWNDg9 zExwq#x)YPAO5rXAJKeccVcory{7I_Z4+7j@Q?7t3Iahu>9q>LvT*D2}-u)@y*~97Z zMB0bX&)66ry>@t_L6Jf^>sFpf`GIXz2W_8k#XL>m#-`1{HF(%1)I+K+ttng!LLLgR z-l~H7nETvAXVU&dgln=v0dZt20Ls8UNHlqz6@gu`y%T9=4g`w`fA2(fh=EiqOnEgX zd~bMsd|x`T<_s|lcs@0eewq-_M}nUVJ4ZNx*2N8*%o^XoZ1m}pMol%+0o#vS`tImU z!9BdaGJW9pN8@fB7XI@qw^EZUIsS!GMWd-1t`_-;G*~lCD~T&Ql%$U5?)cmO>L)GzI8i(CXGKpiF$uqjWF+tn z+NF@D0qh~;hArPot(K@EwnH@U4ZEn3E*ejVz~>5j#d(F1{C}LWZ64$s%zYc!HAgKW z+vQf(({74CHP>rFUg%EJx-*vKFR|rD8g1t+wc^I+)!CY=B7}$_OjVS-??d?vF4k7A z^-Pe;(PRUxL0Idr+g9jFHL|_v5R=F(AX(auZ0LwaGB`ew_LDWMLZQp!wvUVfsUtOw zQ+xTon3Gm3_(?t>(^lC=yuq7kKaz*~=*7x5+fNz;NZWUl^`ke4eEXS(wGCn-iSe-g z)HrGE!g0HJ+%6d>;ul(yR?UVMJV5iAK3cG*L0!n-$sZA z0V`?j*v&Nt>0348t2gWr`B{1O(c2W5EtM+ZX4ox!+xMtki5SkbqwTA*?CW1;D_ zec)z9!=(p1aHXgqMKE7`C%fTHa^l|2e&O7PrpX$d*nk-%HGMnC5>o3ps2Sfj%-(O{ zuUkenjmME4s*N|c56i8!>|tO_asgVh3krO3x*7pX0xSi=(g!RFz$AhtX~RMVRVmFnRH%<(IR|JnK(?z%xtFV&mg!l0r8Cm2+c^7J&98FcC|FBb_ zRs=}LB$reD9u)JoK+{@&fCY`q$(j{rRT|ZL8nxm3cH`F?T2Wxh?<4-{ahikjm$~+( ztwR}4IkU$d{|{L!lb_@xbTp@pRjxq>mZuR`!ZpSP#l zT^!#OV;hp5X!o>+Gpe21#JZy7S~^9*ZY>w0B|zE@jPmuzqZlJiElQ3SlG`$PQ@b{2 zHEI<@iuou7s3k<%r!o1(vXSeqtLl2vYTkUlC0IiM3U?7bns4jsQ4~gWYq3*`8wLaS zNHu~CbvZ30D>KB`dN=brP#DV)!vt}?P3`uf>Y@>R?%_#*Q*JFiT{}9QDx#j(4^59o zyrd!hcOl%cAq`2+a@0dK!q6Aq zlO|O67RHj;@Jgaml;kdux+0ge?$*?A3xWo@er0)%f(PkU!g*d z3aH~KLXik7SANLu{bSm0X$)Tb z$qUy$LWaN}P*70&*GIpp?*(IOFFpL6|3+=!d-I8J{Oy0j5Pm)grY6aDX-Ad?=W*09 zEe%G_jq)C51Ba(h-5DtPkc%Ac_RiA@DdGAalmD)gB565%VFnIXa7|~iW(H2$mT<9LQgF(0B+NtY80fm@K#5BuJZm06j8i%J zihDrUIa_ypMKA;}=;vX7zKtVtc4Ba{mF$=L{=86fN&} z0LHZB+VtCjgNSSoB0!!e*QSs9_aWD&pFH}xb8RqrDMcJzKG&x2s~mDqHf-Pjad)*b zc3fw9&V1iH_ud^Rn{=DC+PNeDSR=Q!z}O~#L#IZTw(=`Y-Vp`l_k_&9yfOE~QS81U+tuX#A_RB#GK%Un@4 z$d(FD@u+@Tboc7_$U}sf$U?H^8H-AbYN)g!EXDBm5Y@g1#aWPBSN=BD2Hs6L$>XwV zilc~CAtz1WT7e@TQfvfMZX3Yd2F0a59)%)-cnS7?g_3CPc2|u4+^Y=1ccU>X;LL8W z{sC4QN~_cm(c$?Y085{qrTIuV z&LV!L@(Lxf!hufL+OTq}YJ;Jdu5AhtBX>FnsdXEv_f}K8=S3?|o;8{yT{SJ$Z|OTJ zm9x{Fvjm^QJ!Eh+#3z93*`l&ibx3r6bP%dasNvvm?ntXkjMzjRxu8u4Y^HS$i*E;Sw3ZN%Idkm+Eu>rs~`mDMJZd(4) zYpBFf!k?J31*R(HQ${9R5ibCKaD1Kw>gs^Y;!L>5fJmr=>^i;e#@S<#{q4BEy?^~N zTz?EY#Jh}Rv%Smsr5icVt5N}l^3{vSoRiipKu`X@cT_4ePxdcfp`FL)<@}lcol64| zIv`fa`f!7XI)pjb{N7@%z&C~}fb-LKEa8)TPi5hx6nbKE;?zm}TzNM-F*(M&D=Sw< zPE5w9PU1nlYH!Hzu~kin`xC2tU4HFdJ$dq^WQlJxnqfP`pLb=_s9ni|w*TiP3);>? z0W$j~rdD2J&&K1h952E~q3a8py$ z|B$EVGwZhdI;N+86VnrW+~P=2j{jhF9GfC~72A%F4fFyAn}`=RsTFTjwK8`(4UlQn z2c;;p{xQt2vZAi$<^+43KvK7nx{dAY9vl&i+i-nb|9UH~xArC+XSY*+X?Hrlih4c8 z6%`o+K8mH%w?4xP^kmC*mqV;TD|L_hZR*&QshiK%%IAFRfJ6Os-wU$;xO#9vR(gNC zH={1u7rCF44VICD5prdXjUdh%H7DqHvQDn1a;kcutC_aM4Z2cLmbhsAnI`ax<}(*7J|fd@qxz^-x(JJ+SDaj5enbVj7e{p4n* zn}4%!GvQ3lRq$ zyRL4z5&ydz%s)}@Sy>YPwc*Cg!4kNOGt>2k@I&!o)y+en(wh9{6JPt&H_t!$hu?G- zv)1GrfAGrt@BZ+=|Kspt-a0v?IB@~^cL!1ZDxRV|!vC3Xiv~U2@O^tTRcxBUwqNM%8I1m8|$5D1%b&v9zTdOPbg3bs{k7l*? z&mo8hoT#v;?_oC?&Gyjwp_GZP4o7`g({-DOOFG>vhgYKt__lRkbz8gC(`Mzcd&Ah_e;!DORyLA#GWpT5 zLE9Nooc!geb~5Q?oyR3b1l4!m%G!(FHoHMOXY?0%*lsCmij1VRjY6Y=ybu`n*U*6m z-H!I)BVsqm?(=h1(?T**f0iLF5NUH3Uo34cg_4AfGY&E{_VR!hvXC}9n%KIY^mKws zVCuu*V0$3w_kcCwb9@8a5x~=Y`K1^C>Fnk9480oQ{x%MEM(xQj(T=e!OEhemvka;# zWhQC@#@NagrjF6xbFD9zJ6jDzRSoYBj`p?c!DY;7{7iEIQb+B9D8x+)IWZNd0b%(P zFe`A@ZuDl8=P)Md#e2ySr3kyiz0=t;LY6W4p%#mpvoRoO$yXA$saltFru2k(+Njy} zNf0V)yw4ba|H$MTh8RxcP@q3+ig4}rwTu%EC1Uy|gaZDRUT4fSs{dU1U-cgm3IBr6 zftHK!k;>2%-*@%{%pzMN<%)mDIe;h++!e&&WiKwAlTP>s&A|_-*UWS`0z}{2SGYQT z7zGjz{BpE;(x?sZApW_pc+W|{K=T$AghMNyC;EiCX0Gm(#yhG z1~ir|W-Z7C?%(*@cBEfm4~_M7l_;LF8JjBMR_*yQ*(#X;lYuGGxosnxer%tLfWVnE zMh7k^R$r4`UV|~w+wPq)@INc)E2dGR@bn+)?b1x_{nPecId{BTd-rttuCec~=)3I( z6e}KHLSZ zB}XJ5c)&`k?`p?Kr5<**>VXSoo$$tL8Ne62-xrKJd^``&xKO)9+lr4jkn_pwWR48U zN^YonXW#%VLn|qN%Dx^KEB@5DG)QC3T;LL?9_#r5o_lFC4%nPy+*?==meAHBwzU|j zL0EhqQ9s7+7r`f)EEMm&vJxL1mv7`PXa78f1wTZC;S5`0+4k@BhqC-;AGF`Bm)J=Y zm-Fh``kah8t%7PwzHFzJuc#7K98;aVfOubO@Ot?^&h>3FK{sYIqj>BrR6R+1k8WLM z@;q<4gqYhWL1{|nrt`&y*IAAfqx7^pn}^$!iZWQBs{W_ss~eL+AQA&MEQ5=YjHfjh zx`Rk0dGYi)XDUy14GoSH2GE$wJMdwin$LZPLtDYF1^~Hn+3JiCkmHZzYJ?CWc{4no zkIZ(Hglw6O1B}(+V-?TB+>nmW&qg4k<&>t;U%7NOGSJX$1(fKQWw2pPf;8%SmWdy= zIKT*mi#^(?AoBnma7hT@X9@Cb4&>QHp2)Dr@V-aN+-P7-W($oJLZ?sZG*8_UbC0Ir zGcF=QM!GMMe#`*~vxnHQI4w^*w6a#WRsxf0r^A2v_-XFF6BOJFFI?tHVeLyh0gXeJcqtw71giR{UvYx8P4F+oBkSQKiYbP1P2+<4>G@WDn1soRZQ9hv~$?ABYGo z&1qu8ZtQFvk^Quk*dCaK0Z8z*rTuBxVpJ_QN}Cjw6EW6ECg`E0)~uw~tOSJ^ZB~>e z<)qMNr31|}*+@CC^a0n#l_Q_@XGDZAS#={)#i!v;D|tJ!B4&~=H(l38Pp<1wCsd=i zP4#^`uYv~iQ?J%lNJZ(w_#YsyL^_EvEk88A9*#}T^g_ffz8ssS2SPv5p4piwGjQ1{nY%n} z3JJwfARa=oebFUqK{nVT)}0;Bid($0d@r`vR}HSOn)3R6UcX;mzh@Ez=A6o-d(=T> zzlJrFTJ?6w^7+d0eQjWkz&M>MQ_5(8xbhKvTwb_x&MBTde-4)lK9fd_+SGgiYT_4S{bIRuTG{2@}*Wf(MSfi%Q{_0?lF_5sxl)l8yI&yXZX3_t2!9`7mW=FoVq zpwT=$g!ouE9PFoGq8yUQd>%tJM1JgsHt$|;@RqS6DUmkPbNk@d6D(B;Vok6#l;H8< z1dk6TSR70c7QapiD;V6V67-k3t?}+x;_&@Eh_TY;IE3_So|R5c?vd81&Wx=xk|dYi z*L~`CV2V#4MKg(76XpFg8NgWZI^zWl>;ijOTk1-BAzx!c`qJvcyX z9&q1B8apECAm9T6&B)e9hO6D~L53qBt$H}Fz)`80x2LMZ&VC*2PfzRc?g!RkrmDkq zRfmIQ;2Lgdtq@Ot-d!OPeJ$?7l@BWJNL8E`+^PzWS+LI&bn*QE0!>TFlV0&0b-MRx z)qmSw7T7%6OA^NU=~a2*uNrQmD!_}5RRMAi0D#qE@F|bII{{DxK27OYnOo`0)TgwR z><5Z$BJ&7j^VO&jBJf^RL~~dc8R5emKSZ_0dG1|OBpFlv29H~re`q|NqnZv-d#itZ zfOuqT_<(xer@!xmjh0lEdoyqH4Ej9V!(Su&rSwnGm zkSaS`dtK{xA!{J3o4(C#_Byig2kty@QmC$>w8TM>*Cn%ub*V;&;+!nq zX@S9Rky7;v(Hbxaoqj;@2;dEcJ2SwA3oNNyHt24O$FcN3T{(qxEoK}-3EKbYXyF`y zMTP^SbZ!Ax3*eq|jzP5AM=GCyOYQp>knEgXB%DQ|h5@8JbX{~=i0Q$Kb-}M%Xt!Tk znEtj;&mH-Hpg4CdVr-wr>I!&XUoi(5kSqdT-c?YD^eJ@^rW}qyh9U2y|8CeLoZoKN zc_xpK<_+0=XN}oonR`?wc-z(78!-R0B!4+K#>GdE=P?~HC%8v?Og3Fdd(=E3Rsd2! zt-tA2OsC@EF5|rw4@=pIuI6f-v_zIWoEaM#qx$I;@`^KhHrms>(#sho{Zk$@7=)@q z(XhvQEY#j^&|1am!=P@>YMQ7?zS*Bfa)7nn%P4HN`3$V;9ml8b;?w55lF1a?!4H$N zBH9D~dX=GehmJ;=9}x&gBa0z*tgfFhRDSJPZw8s#sT`FZ*4KYj`Q>jczbp_pP)l52 zeg%|Y!FuuwWMYAeMIWZCQhxdC%CBHpe)%fDp7=?UU(vPYS5(Qbzoz{1EBQsgm74r& z)#O*RlwS(pT1Q?58_Fw!+5@tasl4*5b5pR9ylP!jUa6GL0~Y1qn7mSZ<$$~jsO;~{ zE5*|f$SdEU_E&iY$UIO_2tz9Y3E$8CY|J}*qQ#8f5)cFqMbk4vZz_gBIz-@3DsoL>zgf$rmZZR9+XAR zO_oKNDv6yQn=W~#Z%p$1e(ZKs8DBRej?TdjLptX+EQigy8Bq?3B~k~$+Pvbc6I1z! zS`p!%Qj9(V>roa@K}=<4;_g z5(DCh5XY_?_bq?%faNcysR@15J`Af82wUr>MA#)&K9{D%RhkmjJlR~&JV{!r_LLeX z=PFa8O!}+|Q(_ELq9+MmSQJGJ;`myb5<55u;3FWbth!6>c1tTx%Ia3;8oIW6tM(hL z*$sorZaB(wT~wLiaNR1SUXoRzUj~mjtwB5C;G2HEcGsQF26n;0tZ5fqb^E43n;T7m z={lxB82)s^1zAE1rvY~l_@Z=Xtc6DE{$6h6;+R`7b>h@>LVG# zdBe$XVXsF8Hko*$qkosArp=fgHZ>77VDZXH%;bXYJjz%6Ybs zR%MAb{V@vgp#+1Lx&W5C(MOW6G~7tHB_;KlvRP0)UV6}`+HNcXXQ4`*%Ml5pXgzXv zDQ`_?tItsB40`+sj3TnP=i*L~B4b9xQelvxBTj7dFt*)2@(MSJrM&pN=bYkai;HK@ zIq9D%eG7JXFz?Vmb*s9&#(SWXwq)B}M&k7Q&|i>K+srD%^cavQ;SdVV?*z*5m$3S% z63`{)o_2@;4L-yxB%!O+_#waq>1kJ);7R#E(WUEUM!tM(Zi>sO?q6Cm{RU=R^+v33 zgta%IF)iOPEMMaZSOe-%t%8keWv*Q-v#GW6H>#C;?OM5;S}Sj(T6x#5mA9$2ayP1# zf9+cNn_4TQwQ3C4DqB;lxL&Jls8;a@)v9srTG2mzRIPyc(zAHBM%$FU5WDemxKw9h zRQAO-*%#Y&T15j?w+kLYC0A4?#dgW0XmA{Q6zfMDOo}2-$MbfLNs-SV)92~Xb22G1 z!J;OJ*CZ%QSkeUkngm*gJaVf?%fBdsc74u6Zw=>RMJzZXueY(&|Mco9r8P{I{!r-% zJ6XB}+QEt=u?_w~&;VA%hwW^{k`t~a23*WX3aagEyoVy=!FETl# zg{T&sD5}Z^*A=Tk(VH z##6Y_Elys#21#I`B!MifBnb@1lm6O+6&+B+SD^}iH8-#y#@s&3_M-vbOTe}z4H0VC z-_YZN(GIfk5iFyyA2OnM)|^8`Z_@fTJYUCS*<%lcW;Tx>M*Gxl*j4uBg04hnIx zbAOwpexB;vyxFc#gMC~F^@DtnmI?Yq;DkXJ0XRBP!*MmZpBjx&_Dy=S!;Z*@%{a;u zY=lD=ntK{@o`D}C^_~c{9(5N2*RqoNswGIsH;9ll(QHEB4W#=dPDDI!L?s;G-&bkc zp$JImuc+K!09UH_i*>P3eG#_Y?198GdYArAI1I0ZhvA3g#6N*HT#0 z?_uoMee28Pg9c0beAWiyM&*jEgyEV9Sx67$GA1E$MVD1r2+06*W^$QJ!o`pYaxqAR5Q3thL>Cqm*ku6~ zH9%0npi$$B8Z-)GL{t0^>5OBF@T<{HjY3J{@#26zP1*(lY2S z=efPKGv;Q);9w;JYUUV|YBi@?@}SI_JI^>4aZx=O%lHG7B+AFalZg51 zZtMz&OlvL*UqD~WEZJT&**=75avnHZx_i@*@ZyCb3$NzY9A113^HPA@`eZ=d3*ffc zum)?Ms@;s!2Q0}J1EKXp1y<@I+$j^=bW1P$^0n$IxvQTjC_aDN0iHk|RZivjZfh`0oLu{#rjCCb~0p zZQF*v77-D0kd&X!uVcp$&)DH{J?@N&?kP3HV)*`u2j(^mOeA3&FfikeMv!0@@M9!4 zVI(G1!VLnXM8h$6RNm1_YwhZ)DIo0_G7Xe1WIKXN5#x%UIK?`;JHs}zRfmwSJ&9MO z0yXZTfWOQ!Rr_IC{ETa7DZl%9h&^A-sbEk-!8qkQ{t3!%9~{gO)B=P6+X0q7v@ zS1c$EE*z@Lp0V7kfFR2xbT;88i53vsG5hUKw~o{hrHN93?q*9`iv^x1LLae=dL~va z6Ny6oiFw~4P86$d6Sc(?3ALE2sAYy;O{+o!!*OAVo9sYO5;;Tt+ky4Z!zt+KO!7}-iU?E{%b6=NTZIaNim+1j z$;ptp*}-(PgXv}mQvvNxh`gvE0hhY*y{vmf#X3{ipp*&`ZURLxDjT1RGSzeRHI=es zp265FUSB>N<0`3#Gj)=wO(t(kdKr5_M}7qqmDl13nrbfIsPG4-ac(bYUOj*X;l(?M z;L6J)Fu^T=aoJJ;qMvY!Mro#5e4Jm#7NX1gVxl^NURM8lm0jEnc6GBf;!W0)v5Z=r z!HS@s#Ud9lcA5d6c3!k2-^)nE{9B*<5xF~@*6 z<}==ypW==ADc+c0g*WDB@W%WM-k6`@jrj&|%om~GDcSGzk2Bw3T_nDkKzsRBfMZ?; z+Us>9jxoZRn?)F_SN|)a!dwF%Q;UA~`4Q01GF_A)iG4Mv{Xx9~n@GMFJh;%K@V_~b zi9R6l`tc41ljEbqSfWJwC{_=y zi1N$J`Qwbe2^(bFYzTeLonXW}r4jD%B@p*RvB+Ic4Kv~lH*Sq@|L}uWoZ(Fwu{n&; zEcLMCMmc9lD60LIvSyMcK42zh2Md)eaHzrI%win$SN3ftj0J7+y(ZqmkbVXo=@xg> zrwn&Bv|nv*@-YUZW|;1^cZTiZ;ck{jzWJK^d6=dR*VX7|G3hv9CWy(Jer|yWm&;wv z2VdBWse0>Hggc8kE0U}`w}N3s)<#G2HgaBG@>VLz+s1jLOrDm!b&peCGvzhZ4CXC) zT0F`ksS6~@^TJeypH^9fkwcvGL`)z^7wl1o%?01Vb{9+7O-q5*;S(2zcHC^Zo`qLw z!P{UXwD5LqG5(csehjrCCUA;P;E10AKtp_y0R(!K5$r*fbK}^qEu6+pTB$^ap{xvp zu^(FS!$9uTs`J<}ngtlSRDeO_V?-M+i!x>~12<6!)yN5Nbp@-0VdEasVtV1QmYfaO z1O=iI1+VZJUWC23IA|~%oNZEK#P^U&y3vgvVnh+t)-Ji>FWsVf*ROTiVecfP+%{s*b4gQjw0N9}{pbAF?29=x4mK)SW z_f{pbjq9D{bqr&Z`QW@5yHtI1Am3bigTFbk_Zr83l`#BLh;9>KdkOSb8!oYi6E1(@ zz%kB4D!%t3x_7YD8E@yrW-j(CwYy^5_N>^mw%E6FIw$63Ys^Ab8(Mrl7}Juu0s$31 zApT=2Qm672i}nG2+RH*|Nf41mWQ@n62{jPE!Z+!1-(@0jZZ7BUC>Pq*#XuovSZR6| z-mAY^LCdh6MR0X9PW348&qYJ3?GR??Ecs49t|KK2$WcjI44364W$bgTFNKGDAZjxzR-H`xpUOk%N$ zoJ2=fpg57l_)2Vy8(S;!J*d@@*R;vcxY!jb3fz|2Ry-hjQjDrkvOq?1BOe2!G#_t8 zJ*;El;6Bh;NGE5CYAO2Ts-o;5*aqy^8ia8?F~mi+=TkUj(I67ga* zHk#p)f^I}4P?(Db)Z< z$p;vEIC`(WS)UD7*N@MxjB@vNJ(yxV0lXhto$L`xzc(tz;_~AM=r>=C^WgK(s95me zec})~QzU0B=j?@?^@EwLM$Xz8-!M3X5^uqM>VforlT^~3=8Qp3BxM@s)bCS_8(O?l zBST7grM(%1$1Cksj7QVY=wiG#{e;DMANrvka$ouxC3@0&7L0kNQZd#o4EP?G=%=n2 z*V9j-7>{b<=vDE4E#QA??+WkI68;2SiqC_UdOi@S5<0$eyF9*f+2bo$b$sR0<11&6FQ3kaJIZx@d==$b zGRK#X<15b*9HU}-eAV&sl{d#%zPY6i#}{3c%<+|PW+7spo+-khK7XuwCSZ`3iSCp1 z%g5JNPS;IzxA3ojjPsiyV@u`R!^?-s3?E*FVGpky4lmk#86=JM8aTXiaGM{cwJWMK zBDom#M2?Gfd`Vm58hMJb#BgA6_L`sqAl&4UU(`He%DB8l{Uj4X__0N@J#LPFy$qj||e&?2{+dVK}7 z*_t{dh zRc{RV??W6b*OjJ)vpA?g2yt#8R?jhk152smw0c&lc@nY*>>7*7TLQ?$ z%XP%Y1yFYcceI2Ycr&VJLk<@9pe7Z!&fxh#y7ibCZmWM}l=22}P6(=3Tn$Zw^v@^^8@k$bK_Mz3okM`xItIsODp}|O zp`c|bT=5j=&o9@rItv}^*^UihTI8}>xUq(6<(H>jo7+X#8YNXuUg&YxvLKuRR;6om z=-N7V!Jul{21*1OIqup~EG@!KcKAa7)SC!QZcT?|XK}Iv7Yhj83<*)LW-yO z-8ogywA&U3Qh7+D_L+lVlWouqEDJxwT2c*>!W6k`E7!AlL9=N}xB>Gn@@C^9%7J18 zijOhj!IU+*I!7ditrZMhsRyoB-Qj;hqTI?XPEmyZ;{}kHEdV0HfY|yGTJ1k#e;*(6 z+ZeLjab@`D1biKp3p9^6U5;{`F}4Lk)|!kw3f?i?)%0Fi^q>Jjyfu9yWU83%4!{hE z)t4m*kGq32DwE_d^1J~>F-s{coyVEVrXoZ zi}Bej#V=iM%>~)=<(VXfZicp$x+eTKW88Y(kr)0NR$Scb6S<38^((*Q*%m!K8@q|ih%z2S(ZidMnp3FEhCIUM0(l~-VLD6M zGwVHJL);Fmma0cvfYOpf)J2AbZt?8Lc=0nly0_@Ek;7;ssqlcRBSqjh`jRQfM&WD{ z?v(TBi+I%)$sl4fFj7%{c$RrO7hiXUJeU*lK1YMkSH!Im)rY@S=y_WBb}Le|>&5X* zg`Z`gAeKAPqWLl=xmKCQn=~9y;7^xlyZM0>VjL&2*e}A~sl~KDXM^o=pKu5` z+L;p5CnTWwg~tE4mlFh-&kSdnnaY-C?2eNNDkR!ty(w` z`8)%R3n-tQnHPBgabd7Bj|2RD7o0vSJ_6oWl`!^;}0UAfb%(Bgz_^OtDwgdHx zL-QadYOI7$D^WXfK*t19O#%y2M~8o68h*1Y(gnmz=H^)A+C$7*P$2xCHW2>&19wJR$0eW+n^>HB#8{j;aUgu-VsUD5qs<`}ryeF2 zCo_!oNi0rnV{w+lN)m_@pFJv~oKNV?cYeuO=|Rn+jqp7Zi(yQdaf}Fn3DYVT5+*`6 zrkD}GPbwRIh-bSw?d7)J_Odw4YXP=THnL=klkKv`Fp#SVUvZ7YG#xp&=4^;T4)9cv zBj*N{MtW6D&bnpb=j9D~4)9qJP|5;teG8%j0&A?#Pt*f+=NR4;3$O;28s5*LJzDjQ zsX)a`T+fx*YVxgF;X<)1&9j*mqekW6(iW1_p1R4u=>3I;7ip}kKj7s7Kvs|3bV9psZaTvf;V$+9d)gKn`_^?%# z=qP{pBs$hvq`7)kVqi-o%n6Re$N&fFvDZ)mnezqKuyGHY?w5X3(%k{NkAJGW>_52E zCu8Jh@t?Wz#>?nMDr}TuG%M-iF~^|672+LEMZ{Ef@>2kOp1Jh+U@FA7uG)y8P6d{t z@N4ldM#Ly!$T^N{0aF7*j21{U3&6xX1N;lWeKziekGXhGe#e<#iF);8So zhP!nyZn?wVdXkMtBz#cqt?%HLSh(^BhW`TJ=J0$Nsv2-l>K={<4vIUdNT_nnq82tH zc$t!H$*8jY5{UtU9+Ixj{{C3Av@3To}*9VNGrwavN)MS-hb7&W`mm zcIr@ZQJ8%?7TCBke)_Tp9jj=j<28PU(&mgc#yC!5urvzBHb~bUBM^f0R$)E=|N8NW zcwZMkOHaZ>s3yhyF)g2aeH9GG2g7QbS@yBzAXdGskt_kSj-?^INA-$viV_$5DkEs$ z8bK!p(1pYRIx&2%15eG7Jj%ty;;@*tMJ#4*5sO({M4uSxJd17eVvAT1gXg?hH4s~u zDQR}q#Cr)0D1AlI%I+L1o@C?TGEA16$_z@tAM=8Sak!Xq=7}rbgR%k4dBg&mP4(N@ zn}uzuTk7Olc7lqeih@*8%v8bl6x}8^6~b0i!vQEs8(vhbHk?L%1!l|m4%;$g!PlXF z-rGYKmPjP5T(|Y|L}M6nsT*EY>>nXgZ}Eaq%istgw%xe|8t{`QVc zlQQvZy_)#7*)BoF2wIwk!t=zK)EjEg>ivCU*mAS=>lrzPM$9m1A=qrCPGw%_ig53#cmT7n4#RV&TH{QJSgX{{%kUzyrd|ogA zas)}LaJj&ymUEO1Ej#-?2wuuc-N79Ydwm^!e9;|Wv@)2}$I)?kEpb3U7UBjO!IJ8L z6Zx8_ALQ+pdFLQrZ4;W;H;r_xdpVFNy^uwcz=~zB`yk4NC*wT~pCckg#Eqw~?(K^; ziyh>%Xcxz zRKsk+Bcm!JZ^TNhJCF}gxSE#3x+QJ768(yKd<9#Q7tvo>HE4@i`sPNcFYSo{omFWi2`8Q6)xOFP3X%rDq8p%s;``={&jHM}c|K@%2qJRAV@)VE zw@k-eo-IpJoIRUU@1rQ8n2?VsJL1d0Y#;mhu-{KNTpjXaVGD7OngLI3cYy8ddm*N$ zf{6daz|>AR=N7=w;ccSsVU}e;gipj>E|YE$PLDCU*di7TBh{|pt%ZB( zmRM4oz@=yeeY_73c)1fP`Si?JEBy9)#6yS>!2NqXJT8Z+4GNIpCB#Y0LPI#LVqrivCS&o$!<&@kXjSe+(5(y`sl z`xo1WDxe>Vp=o!q#Svg;l}?eg9)vn{%c;U-q-3=0E_IpHnYBT`nt0;Pr%Kr7va~*?GNimJFZ>G@l|UEksKS zT8z;{uNc;d>YhIfcfoQ~qV#l~IO+kV6TwpJ=wE^MMZT=LRVW3+XXlHFn^h|#2q&{22^TuYYZI0CB#aB@SATkBW87uJd ziGKAb;=AFcheCia@sh|0zKqC|Oj4P_;bD?TOuhBG>JeLzLsTT=SOl@_-f>A(xMX5- ztTz}aMOPFX%D8;FT&ZJb4p-~&GPQny)6J}RdDO%w(8vG+V=8apM|Lo+Ag8t*`{IE` zXRuRg(HX6wu_`7apkB$^rUk^i2?vFs9o-)19<-0_5g1b|lpI!A)LL%fIKwF;hmwv` zY?kokqV)q~cPb5vL#K2DBUC1I0|4H+rJCpiB~ER&QfgKuGFypxpsF!AyWAmdNgjiY zMFZHAj7pnEyUm&mS2o9j^KjP8{ppKhx%*8wR$Df(ac)uKZ zIQ;k+Opav7RGc)*wm$;g34Z}b4%xA7>kU$-?9Q%tYVj&)Y7}4T=3h@8YdmM@r%aeP4E_K4#}ZQnb27#tvhkwe4%YFQo>P_hqMXocE=QR@j844{P3nCY=Y&A1X%gQOSG2y;jvqpT+f=EtA&+HBsgaCKDSwQB7!GN3%HV zz?@0h*K>u`$0By6_sSlG_KK{kxXxF_K|!t*ohPe9MCIcif~4GxEWh6?tQ>acy-)sfKmJbv&#*q0n7CV&!4`TU%fv z)88dv8kT*Lf1)qFIik9c(4!0`Igl~D%Jd>DB4Y($qaqZTSONV`VLw$BET#RBgwc$HPJdo8rHyDlYd`#%?zP z>Y7KhLtIy2lsjH*a$6IV+;Pc+iT!PBVty+(#rSrclQq6QMQm?bu9Igapd&p5%Ue<6 z-R!A-7zYeOa<98(A4qv=Z>Q_GM5BaO;T?NltcX@YL}sM|2Dy%S+E^`RMz&~$2So`% zWH>CZEYCMY`!HG-|C`ZV4!c{L=&kfqV#As4milPlmeJ8D+O0w{D2?g`c5W{g;RaDt zg=v<-mc634w0M$L;(DXK=RimlMy&Lp$3|BK7`}mjyUTk4W2yz7?Dg?rzqBCA&uHeD zn43OhPrlLI#?io$W-|?GaXoJZ^$^jw zubevxGSN{GtMHD=Aur3pRG3a$i!v%m!%I67gSk*4-j^^q0UNdxyC=~LOvN<*MM#!( zyw!fqCQk)M*P9>bu)h>WmX$ODiQtG>K{O*{ipfFg3ZoLRd;wud0x`iXxEYH$Cf#^b z*9y)@_%Izm2v|^iv=E~Y0`|ohXt$uf!sRywW8hQ72K>%Udm>J)hgz2lin0)UJ8#E2 zRz{lu-&2DZpDjUD6;uX?Dh&e+@wg7cNPJ^iQheq zif|=U4e2KBsp>-N7uhf2xgJax5JfS?g&JiyV8J=WN&|(-)v>;5B{LeM<5jAK) z5&W}wgx<$=ZqQ!0VtF};3abP!l8CWs0LaxM&??lFnu~y!md0L_61*lZJnbiQv1AH@ zWa>($D}02oVqBZ4EJL>f#FZU{tuNk1OK3^94@QN{+6OOfF*<-q%@h#L*a2PJjVKT+ zb2FRajo>moj>{a5#x~3HG10NIwJ3H~k4fuzebRE4U>_!~;0RE^YBJ(h6ffp)ZV6zU z$Q@P@!iBz$G1qC|K?woMTXhTIm9!z+;RHXmmT=byHlfmZ7*rc~x|3BeIlNL<%`k&}U>{bIs1k-sh>S5JVRYW48nyq zRw*e~GBJNG>R`rJknaLS&@&){51CVuP9RK2 zc9>bl$8aOyz*wrm+y`H~Jq*-3R;Fykk`SW#S$~wD&15|X6_y3#MXD+kx(B-~%q3WD z9ZAm|Zo(SE33`&etHO>V97f!ReMUs($(8Uv7nZ`ds1NB(b2mAtVD}dQQTIACa1XzL;8SrjKs_2r=BVp z+R7SJSY%4EZt<{9l~T|(L*TP7L>ZpvCTx-chgJ!|35;P1i59l};gGv+p!qbYeb<1FkFoElsRl2gCUr2==WwtpHbbhTu@Dv!8#9wz zkuF~3%k+BE1{W8Bm!BM(5$_4ds<{%Xd6pEIK?T_2ccnKGyQ|9^0q#ta)R7Venxhg& zN9*x+M5PazpJ~-?9QA=MSn2QhO89=xJDD|uhdA%%5p@wguGUAR{PgWrI*OB5MLL$b;h%jO<0hn3E|S{>T+* zXKi6?fso60w(uR%n<9hbeehn&Wwm{tUGAa)Q2;hy#$hu6-8r_UP9oa)61XmixADz8 zw8Xp#`A;KW?MTQRsk4BHT+QV|{A^lRNy2ml*epwIp}fP?g?#jO~j-Fs61m= zm=ZAgXED8@TDdF}!F);(p=o1Ji<)5yYkFGsiFlD|%oJ&Ymo~w#c4^@a**LpsmUo}b zRh%I;O)h&gWrtzh6uA8H``Z%F7)|q4od3jPogH%6PxvZP2u@;r73O+S+bICTqj#=k z9e9qt3ADJ0X!eO)z?tG-eY9TAw_rEwc9h-bqxAqXC`s2#B(g?)iQ*P)hgTfce~B`B zl~qcbKdB6{9y>)#z2Ztv>D3Bt;pT?7^IKBCK3)}DK9&0L@{aUvcL+JpMB(|8J)4Zl?9UAv5hF-+G#j1k^hmRIi2UeNy!jAu|n_Rr|A&Wq&v&)*`5~ zQY=9!-CvAc*K8OWrId(A8AGt+UU)##g6Z`VRJSbgBEt9Aqp4BumhfY`8l@J}VN1Y= z2Sr9;>`WC9U(6sc*2bhx8ue1rD7nvSOr334(O6B!tjFue%|?WL^!5si;{8?Xv!FA;18m6pBP zb)efQLnYv(X6=j+`l;%t0jeKF?reZ+f)%pmkWm=;-;CyRF$$yNyPC_T?v_T@`$Wi? z*<9X-)l5Z+D8$O!mVF`gY^=nCqW{T9B`AF2L1+EOW?74M={tA7e(CDrS0?ZrNON`}k4MYJf2ai{+rt~Upm_4@q#tu|UV+{vz zSZ}J>v!p3OH%JWr<#=)vgMX7|ah}X}U^*Q{EY4nxs?SQJ9IYJD5FmsE{qMTfHr|>e zfdHTd0LqOI03CKBb&Mv#2g2Dw)QY`M6Hw(ytSOWwToprR1VTr%R9r>{d^~W54g#Hf z2F(UqhkKn?53CS)dzLxuYD)uRg&=fmONgzhTs#mTobS&(@47M2;@*bZtV-$-8IuN#O z{mQkTC>LOfz%mzslAyKYPUSr#{`mHXuk~g&GqL~Rg1*j@RC{ZU^Vlu6V++pTGC`b-+}JZ+PlK zr$Xbnw(PSP?|08&;f^$w4k(|^FPu52u_WSF*kkeWZGHgOc>0g^!U~p}rBOe+( ziCH=>R9Xkp_4*aF5q|7xhbIOL_NC#t`HGr}n-{TJ7DOtUC%-fR_R*=JwY z_%ow9{?H0oi*x3_0~l(za{oHO&=h~+ikAU~s}4p2vA<04S}dp+Y#hpQ{=I;YiRK8jI?r(aH?x^u zV}glsi&$o;#c>~+EXsj3E5f-jBsLL4EuIZgAuc=)995Q;5e!$y2h5g-0XLrcfULUaA*f7$RMc^b4 zfs=9wW5k*}KAi@nsB4R|yn+o9lGsMt#5T%F1SQwRNpiTc;y$OlnIdBMuCFQfw`7Zb z-BKvx`-m1Oj2@&J0pjT@3O z0`kr!;yedn>MJIHOq-{%QqHsyu?Tr07X+4!^}}_|W!-J8b76Do6o10YQ@D`aI0s{= zfW82CQV9-eILATEH^7z|VW%JdRI!6sk$3JoF<4OS^pz{(?vIp-7a7B%6=FyRMLZgj z{pds&jdSi0r(`bqsYQZq1)Q$%CP6HMC`xQ13Xwm@#KhWiWomCz;M4dZHdLfPrvU^C zWVMfX7Q$o82p#V;P0M)!&icGyQL$Y3N^6vx!**N15@Zl3 z8#%5jD_9&U#i8vG(~hX6l~)P1GzA5v!=ik5nO8&5!T8VavNtdZ$48Zt>tH5e9Q--;dBiZ&)Y1xiS2MbkXC5@H5Pv?^ zR!qA{9pk)Rx@??>?ulAZ?^qMs3Br10lr?lwu7nFyV!SR!Fc%q#4@~Rvth}ov=F@n9 z0iAe@z6kDEp{SzhM2cTpYplG!=E4OoRhWP$;Dz-U1!hyTwt;3tc)2TjkP_4$lPg9S z%-kvK4>nyxHJ)uOS&jR-d>o(szMLcg_zaBlNgoI?e?F?aCEjmYS;LrxCw@V=g(&3? z*l>cu!Q9k^+q01}l9-d|9gd;i3o9Zmk*RsO7`45(TN+$siH6}-I2Z@I3`&&}TM4tE zp{=LFQB3h!ZQ=qOr*KZh)W9-4Q~hyU7QyYJbOj>&?nix6r411M%~BJ?O~v%l_L^@!EW>JIk^7{IU4&bG7WOX(ZT~%FO{(b09wTdHWLxsq)&Omk}9FjkE zwHj0xW<7zTG*A$Ga<$q3L4knLl~p!uMkKPTM!t77%7aR<>NC$YLY>2! zbbeX*GQjOh?4bkrFu@QbDmCQTPDq{B%v<=W&6D&>RkW{L&#x=izRs0hcTe94%?G~= zQiJdTHAz@byy3QCKj_uIVO9DDXG+Z*zVcy&b-Gc#j`~**{{?WUdDc}qYu>_26b(~C z1Iy=yS1Zviv7?|Usl*kP#pVfQI13%h;kmGU%^%~0qV4nKOy>+?8mDxF94mdO$Rcn{|o=Fwzk0NwZFk?@3-5R0MmO0hdkZ1h(E%RlS~|nXvRK ze#ktpB%Yy=r#ad9@`1qW%r`NEXhO(=)`|$!+2qFBl!_5c zn5LU5(1Ip5r#`M2y?QLfRR`(uEu};!lAi|F1olfMp0v(s_3(T12Ut}hVixv(U{u6% z-5hZ%tYa>!fZ{Fn^fhO2u~Jlj8iKluR5r&5O;pkPHHjSvtUyZm=CB^pktXqTN~E`; zSTrZ;Acf$8HkS_Hr&=AS%gP!;sZSdjSfX(Z@_kK54Sg zE0ayRpbfCG`g~Rul*}kbZt)9l5=&?gbkA9>^GcOyo#{^&ORC*5pkB~Ir`ltSxrMC( z3QR7nYB9ccsr>Y+l%HNEZm9QniyQg|2MpDjfT5#AS^J;6QN>$bbE2{RvsT_<75WHG zfcHW85L_4qr_?KC-J4-&wyYPCffKxG~jYjGMC{V1U{I+)poqh48KnFSc%eAFHC- zEU6pYFK~nSD;z*i83-uMwi;9}UxK|?BYEjzp}R!X;Rr)oEhn~2tOEB6za5U=&Zm!{ z_cIVewizA}vLdgW!xET0&FEA*`&KVJp(x(gEC?)q)K!Wlk=lbW2EpkN!JAg5RWCkB zU4?LMzF0vRZ#H1Hn6gdsQxaq4K#WtFhmcr~KCe}t;F4%G&bNGE+PHDC%bsLBQ$R*_ zLt~Lv?x1oB{N@`kUC+EGeM3?y<5sW$D^smTwG2u&8xTu5qn)sIN2YENaxAoWAeW7` zQPbI$L`mbvCXF|>jH91c2{RXa$!=n8EgO<>dmDdO6K?N$o3T@i{5Twn^ayz(=C=~_ zcOXaQ69iHl6+I_}62M3U8ysDH@6W5q?-KKSPDRik=s&3LKxhPr^zT z*vhm#5rDvg7RD(2V446z9nd{FYV}m$di8=#Rs+l&Yq;vSxVFu7!q2K#@#mfb_$$ot z!)M*H^?7ncZe{!}#2z_*@{x@!;y8r;OgDamy7373pvN!r^$nX$K+NzJL{Xx}w#t)T zC$U~K<`5axJZ<M7Sr1Fr zW>}BQbwbh_<9>vI3Bh_aRfN#ZTX+p44ay6vQ644CMjp%te=#QZs9UV#w1IGCK-rSS z-f*GcG~j&Mv?nE>xIPZ{kTrEVj=Hi(!4N5?|?X zZ!E1)SP0YTd>o`Go*+j7Q<`BZ{Dh^rgAbKb6-yCWmI5wSCMwTRmf{DR4uwn<7&qSZ z{6>jkA+kW5(J1j)7;1Ct^Fms=yho2UuhJ(jkire%kj z5CzhlO}lH(+@v|uF!qR;QcOaMPU2pnTA%+Bb?Z)S?sjjn-1N}BWqj4%(ulofd_}yz zlD&mb&A;p3(v;a-#=XY9W$dtfOSETui>M2RZZM5PyIE;)hM9Ac4ad*6*X}70UcHe6 zu580b z&6NZ|0X?Zql3KZvbx|t~LL!hf#-7`2m4Cnsj0{w^`2vI7#~L-OZlmW|*@ovtg$FSN z3)K_^zsmG8Wf##|3Cb9Mb7T$d`8FTV`9UI|3nDg>AOTETGo|4eZ1ZItI1;8^^>8lJ z95O1;JRWr;oA^Q*PyIDrP=sbOVl|t8vsci$C+`wIBR5sdwgG_*{t~YNiQ>$J%^i5H<=#X=>XH6(RBH9q1AeZU-*&>uszL)p5RIfvFc|5aAdd~Hk~Pc&ed8p ziCbK&+=wdSe~Awe&$9#FR`6Y+&1FLq7NfDg!DM02Cz^~meD*vEA7VYgld2LMuc2qt z%ZF5@-Iuk;010_W-w+wdm&-|&__~!FSw&tpIa`yP)}h$l%7btA?#+C?`op|zH>$LZ z-VV2(iS7&*5QvM?8dEVP+az}`<+5(6Ag{WYT6g!;n_s?|syJS$4KC(Q-H5$k98;&`%tM|LGzsBHc6DvPHF3!aqrv zLRX}zztb)UDukLb>K1fo7Wq4DpL!}A9Wy2`Z8!(%vE{;PQ=tSiQqJW3az%9#vKBaF zBF|f0Id4tl4}>UKBf5H7n*%PNP?^9Lv?M5wK5dj6(6gbh6d-&!60krrTWJgN>D*t4w7!x zHQlUhx>;9sGuH(t!v$snK_=8B4%$hYO|3H10|Z&x*GA+bJ~PtSTeLtI7YAB&+|uIG zKV#GjNCb(RLuc8>#~*~wj|!H33C{}27}zXTvY3$hH_vSL_F65oDVYB~K-rZ~GsvzOl(APW_%+PHHk?af7j zn}R?3V1H$*gdjz5GI|C6KxqUUN5^Q4pw9P# zzx|OPZ?NtBzD~^c{BhPiFNM8=8&+bO=cSf;#@Ng?!KyRHc?En$);KQ*tkWJGEX$rmPx8e z9zw=m%h)sEc~l#F2}b}Wkt1P;-0*tA6>ot9s|(gWFyOU<^kzJOYwD)AZy6l+KWhOW+wmfAgeCsqS#sCQFQ4Rp!#DrtBVBvb$QZ;jSG0>!qsX5DfHStc+ zG3NomHdUa;MX)KvG~ukujv_ZEWj@jFkC)t$mU3i!?4i zKq$-hHQ#Yg#x9r_PgBO1g#I*M&ddY~tfVcLepXy~OW6mz$heth05sqJM~0`jF$Gst z0JpN;>FJhoH6@JSn$y1X!5t#XV&w==*O&lBl@_yF3l!*^I=+C5rKN({1f;#49=^KocwkRw*S z(P_&k>KSH5IiRnEPVp+lI9KAf_(x3UHn5dRT?dUx;&dC~WfR}vcNHzfGHeJ|s`!RKS_hQs@UP)^Ds36up-rH9e?jIJ$IQRJ^oY z;^@+)k)lgabXzg?12HiRpAi!@n6E{3!-ku7lW^0zx5dPUi7H~W#=BT=IS6-HELlJ= zvKgr5Zd4jS1-^*1db=4ym@PAbnwAeg;)*JXZ3PR)G6@0MvXJK{nE8I<~VxMSubHsuJ1+@>bRl&36Sp;-D z(O#Ctf6GEXPZi@K;A52%s@}6A`amR}Kr3Xdx=5Kb(~ zvS*fBhrlayBzzwu5+Yd3&Yk(0V%d~Ke8;otgkQ#S?0D<#j*qJp*(zl${B}hq%q+GQ z@p1rBqI}B;42Vo#wkG_YlQ`uzSplg)ewAU`b6&4y`ozdK-Vcys-Sl_=Y0U$WWb>K& z)@8BRTY>T^vA6WtHo{|gX))Mg+a{4t+Q1j7bXnGEQ>`-w%TA<$uE>$C%LYGF{4~!w z(c1KwfOB-k(a}8fAuJ#@p3Sf>qPtA>u;X$CQq=(y$t`kbGeppQV(K80fLfm`OPBYF@~4mcoUXkz{;9{e39c=d^yV<=s7Ien9~PQz9+y#{0`Ne z$Xy&OS4qS-B?*Kl-wOY=SoI@e@Pa%eZiAH)lXgsxRCLWbo;u%`p;56!VqW8-oe#m20jy z{K9%&9RL=A33-bFUNvuCW^?Fh=9tY)bb11^4v2)DIs1W2#KBs91KAGop%3#o##GZ{ zT5?`RoNbFzMNA7N=rNVBE2qUA?Joy0E%I|K9L%D>7pO{{n>V@4Z1pB#4;8k(GQE1X zSxq@;p)4G{38clZ5NTn=vR7)nEK7h-7@d{d0%$B_nw{ejc}(ki@x5aA9FfWeB5=1} zoB~s{60#&rfxJK-2STZP;+{^=O%|m<_&1OrlgkBTd3Yj+18db&T7W9aZr?4gaH2;Bmp&|xq96-8xsSFcukV9#DN>bO5s&JqC-R3<`9(y$oxM!70B$kdAcEc&gE{Srqw{pg?_**K*hZv$Np^D0dxg+vKDsmE@$fx&07T-R&JStoa2M^Y%&?JNlE#SbQJ-k9*;mQH$6<5`EMetg?g1vx7 z>F#}XMb9T`ajl1oMJ9g0%TdRBG--h(W)@)CFq^2isW`i?q9a{_>xWQAv@&>dY zdlTcUs%>jAgpAGXSvNA{s{|FPg?1|!k{lE59f)Y6Mr9RixyaYWTe1+Nygw$T*vm4l zWD=cXRnN0+fB~9rtAv+J55dYk@g?;EkSd|w;B6>rzmq6Iv^_KGg!88CAlE zl-Z%PkeQ7Wg_wfb^RE>%x1cIT?aOqr}{BR7L}Tbzp zoLJ#wwc1!2KWW3u2s4Y2ekHc9^#nFcvwf|NqJ2svNT)}OA{ooB0s+B^5iE2ZIy9;| ztx00?z)0cYN5RcB3RBZm)?tfaoO7dB@wvZO*eEek8pQbWA;-|O9{Z3*5-5(b$6s2v z(Gfgyu@4nDfRd3Eiu@1f8Nc>Xg;L>TB2W+4n%_rF)D{}}9ZJ}MEym{Bc;O+|7j@Wl z6WEL2(IZf8iq(dtMP*enas>zd(kMpSO~~*n5_A)&?QXo|+Km!-lP#|~CTGYI2;6uy zcb^;Ym9=wj#nsrvy17XZi(x!2#?6889sj1-2V&bx;ggMBx?#m_a0mn)k_hc$gCje@ zm0Dn++hmsnNt%3?-D3xK>1j| zpA!8J*#sYRjS$Sw0_XZh5bIla(LX8e(!n9Ni<96HHp#wsa+&>-jD(4Mo>jn*V{|l! zKS#(AQL*Qs`Hd&_-f`I_Ner#^V`_hm3xaQ>luQQ$tmhF56p|Vl#F+qcAk(t-{d6CeP?IYbs3MS6xN5 zKC>7;>>A>r_-AF|sJA3g3cL}87s#nMe(EmHJDiVyRSCdAH0+`G7#BE_ZH-{HIJuHJ z{QS(}H-2IQ7kjil26GcfItG0?2Dz>AI53swe53vC!CjqiveJLfeuWGO+W{=iK|~qc z>9F(`Cg@&Ay|`|!Tp5Uu_?CP7EAf`E9L!pwFFa1yeh0^vcH*b57^uWg6*>RLTj}z~ zCUav&Z~W=!>!#7w&z_?EQ6~G0-uTIH*G&f!F~ey5jrRNT@ss@Xkcw}5nSQ_KhVNx% zC*6MJ>ZO%9m$YlcU?qP3;(-nc`Tg|D2Z@o4zjzV-+^FLpTui_JspZ+?@0DnTBbmi4 zTj!7^t|0f)#_|LL+LlD+40P?purJ*dWJk4V+XCOHYyfmw`pv+(=rQPF0kbr`aTXw? zfCDjzXd(*bFcVT(T(RoJz^KHWv@=~8a1R z=@ps*iZ8T+s|{tq#Cj)*P-ExLzvXAvGvH~92KEX({sCD!O=xtLMBIhi1NOaKa@M*H zEh>Iyg$a@rIoII%YazL9C^9_B1Dw6?TEHBA^v|~eNNL|?v|rv;c28K@d)V>oq;|JA ze&O=R{_0ll$5V_4>z?qvzwA44U1U&VrmVe|_jpMhziu6bNiNV~=?!J)gx~-A>f_d( z@cGXlbo^R*=pCOvk23cD&gSFRu3Jn0kGyNvt}X85b*(dgYtS#2gu0;t8iw%=M6u9l zS!9(c5d(YCR*N~Cx@4u)EMkikJw)uMbJ6Kj)j{L z4=EXGKj~>}Xsr{1F{2N1*;GAaIDKl?Zkla$Ho4d;O0_oA))+dAg;T0FhBn5|i9xb4 zcFriE5CS zcL9wZOi5)M673Vj(VlR1B`lV3t5H9Tt)7vpAm+wnOgxt$?187al4xpqqlN<&*8|@; z?(aYZ@`6>zr~x<&h#ueST6AI!idjaQXi&CJv?H0T8A$=Bh{Rjp!T*Z?&CGOi5NoNF zsrC-zMbE+K23Q);;tsZ)j?rVd8rOr+-`oFi@7Ru54gQ6a0xG z-^7+)?#v85SZ0hIfV}-`^Cym|{w6Q^CQrTzUR6ED?8SbQou^_R^ATmdAFc1B*`CF$ zRV7AeQ1%ie%}pxglr6z}h94@Sxz zc#}rzb*(5r8L4OwR+K;RCatK~HBcp4QMdiz^FMI*V4zBG;*xspAEndTr}yBa^qV#N zeyYT9IpLU@DB;jt4>^_8I10udaG>Ns2Hw2i@g+qxg?ai@% zV&^5;z2GUb9;!u>e5K*fdr(~;cW@{p4j{$PQ-cn)UnJH%)!Ew+|W5sgF8ajv4xYIu~j8Er#QZ6J-b>abqb z#MTZtwsy%zBF}JE2=g7Vw9q0vW!U;kx~?Doq(rC@6+ zB5NJVd5y3G;p5m5_y7U(-!=aGGpz?j zclZ@;j#}CT!U5z)GcJKUY*0Vj@;HWQ`L2j0R?oK*rY<{1s$A1wdm(` zluN>uDvMampzPN+Fg4fDcE;Ug`o?}S!*%9k|RmQawK8#*z$Tv`67q+QA5w4 zECiuSz=IuQte%`qDr0tR9)s@jhf3?jeKBVUBqf%w$^ojO z|FRa~D|k1%#uXa=jt3ev(W)q9zJS5_QINon`cly6Ln<4EjDuLzi8FN3x|JITXz>#l zb{NBSiE-^R@kgGd&cq*yw1I^rs1A&S;Ka8-jm|b#9F)O{Z{@374cvt+JtF0fao)=M zq+^`1?4!z)IVTPix%iof1tla0aTZPKc#C->CW?ckUB*bnTcv3nT91T`Y z$=*kF?0B0bIOv|^*t+Av3hkmyWJuHDKj_tqH|?5fRLVxFzGL0N2aEe@qY^^bw%77Tfj>&8g zz&>MVdN_`5O|FFBqvcJcqWq3GzwG-9lJH^8Rh57TNf&`J;^)a+FjV5hDjDKErR-VI z6yR#GpF_y`!;tf!J|dhvO+#pT9}2rSl$QTi`WdbXrlJI{QW+T(L(9^KFq!Saubow$ z8Xuy~hj{$d5LRDQ-pc5}tJp`F4Dg4nH|!&R(zs)`w?%Y#ktM0rRD(N@kA=t-z=C#n z{6G9LYv0h1*`g9%e8w7QlX?}_II)*l-1x#_XhDjHYbD83ooofp_!p4tElgbe7jm zw2m91hyV_bfyYjS!SH{1RAr&04f+zt$e3!U8oQFD7VI?hI0RpI0{~Ys)q49j89l%F z#3uQLKjrJ@Qv_uqu@T`vjkEY` z!nJ%L7z=1jXcUN7trxI=KN3`80TYLniU&CYGos;VR5_Q>fKGTd;&FHIkvy}n9$|6- z`@77d^0HCJA%K$0_b!v@w`c;pWfTpF1AGy=Og|-0_3RpMU(!C zGriuA89^;};LZXYXl4)mVm8upMgoyTKL4cZobNNimxUAc#HaiA6bv6oT;Rt;6WB=< zFK;zYPgt}p(U~SZ`BR`(|Z>JCc>1D;kMglrt-Pt6kam8SzG# z?zE5xU>w4etTR^n4Jv--Mia%v;QWgd4|YrW0Bt@%$p_FQKX*FlFE_mpHYz`7V@7T} z^)+^-_{A@81c(oNJ!CeftGW4J;w0t4pu>w_y3sU$W36 zqT%;sfTK>bu0zH{$paXRC$fty1PkE8^-%1U%xe;A z07c#>FJkJai~3}_n8SGRtMD`MuPG!Q(#6Cfg3l|zNH32xsA@e#W}S(^?o z6L*m1UT|ymMC_F-=jr%JPA-n?`7E5`Ji8Hy4rZ`o{m|K^)ev~R9G1oT9;PNcnhoTr zigIEOV>qGP6QUvEg~aF}{Fspo2Nupy_yt2zy5elwDrzM&(KgW3yw?>FNiT`v5_uDi z$SMuhB3N`$B^yjJ6Q9Lk(OIv9gv+7RH8&`GT26GWshfjiyrt-55WLSo1kfDNJA4|l z0L_3-a5VOvG4|MbH;3dX8#@8fkHsz%tcW$-m7JVELPuZ=foU>6I4DR?{ zW=7c4Rkj&F*=8hm5k4s~1ZN|YP3CM$qcRco5IziRBVdMVgWImfB*!%d%yT>gDW?P@ zCwzd!IKuclCf zUUger_4ul`9{on`4(qwCpg%-VDD2NBW6RaVcyL<6*IUFzC0Gs?#n3lqST+oh0WM6R zc;u^&&mHM;- zS0(}ZjLXm1it!*add)^gtR3 z3Q@{XDhx$pV*(ph2m7}0&hUf_MHeK+I{YIs`HY~Mz)veUOi4|^EVHh;Dpk#xcn_it2m7vu*`(}hoHnuEjmm=~ zzE=!!xo$R4{?SQOG@rsixD4K z@sKv+yP5UI0#J507#bR&>d2cWa~vk;N1F{5x(={_rl)0!icUZ4E;{ma*3H_55h_oM zoB0HeU9*#m!q>Pm@qyOj8^m-2YvIgFP{ZYT@=wBN42t8tN~~UuDdbd^te@0Z?+EJ5 z98VB#dA3tyeb6uFJbPC?JhU@$^{i*Anqiu$M`&i_?wdI)+sqWy*x1sdnX_I^GY5xl z=4W5s6m?CoddyZ6w|>|us?&n@nK`vH^o~88p`TLXxtf?kr}Rr>x8P&aLhm*R2-&XI z05_ioR>~8y#H%4orp!R#b1|l3L#wTZ>PbD4Q>sS>NW^=_|2SX#bnO9!P5ch0*c0HR5^5)x{gGHoMTq zRJfwX*(Gfx?ygS24ynUNX-6?TRIizugQgK{uU-kisS|T+rzogVCdisB+>H+#w3ITo z2bSftuqWg{qr-K|Ftu_&CxhJD6L1^z~7h<0JT ziTgGT#LecFHe!Yv9@wUpuM&KlTQ9QsHZnTqJ=XciIjtF9N9tdji=W&TO*ELHhy+W) z9b$Rr1`w84(?f1GJ;eMIEhUyrKqh$+6B>y?JKlJiF_*+mP+TB>K3=7~kxiQY7bWsj zy*2Smpj(a5?ypL~;u=$9sqjGywu+s5cP=>@@O=juKEl2ys+cPcsq3&I4AG|oyP{zO zBOpojf(D4$0zX7vLdzgZQE{7~@kFA3c*}G?G~$(qOcP|uCmp$967u>d1(94($7}L* zZ>*N_w#aNk;lfBABw28n~cb8o_#~r^ma^?40c`E#1q;VDb*Q|qHscs!(JWHN;4J;Ib zYuBw^x0e4Duc?y!nUmKOI0nI`OOPaLhS#aFfD0dR#Vy3}wlcho1;;Tnw3p!F8}_w& zAiYZXW7k6Lj@+mp|8H#6vTc&-oz?KVc2R-pucFdeZv|J1%dVPne&fV@i+M~-ZDNYoz8q>blRdokw zra)9N@>K$SVuIUxB7|}wpq5S56DIDZY~PuvI;IQEDOa+m95D3h>wo4(KHyFT*ED6) zOrLxzB{Hl#F5r%9Vrw#mA)zVb=damF_YvS4Io7Vm0LkHL;mTDwyJTrJ#Q+7a1a<~- zrhysVq76P{%Ds6KoanVSj{&OQwB~&}wQLrdt=O7}$BD?c1bdYxVKCLPYLe)Mj}#-8 zw#aQ~=5-|vV5{62CwC%AjTI9Y4jUMWX{3bKn=Hh6CA>)`dc-QRbs`zRzJ|m#5e-`9 z3TIsuX(O0tYXB1x0c&Wi096c?<%ecQGDt_S0B^ADhL1?hxr@vpCfVr`iJL6S7qaWa z)fWA%VSyn7t2DehhhCV z9*8qU6wzQ!W?8`NSo9*#xR9G+2%?;krGAFHMOb2$2_lAL_@ysX%l-IqC;Y5ffj|Wm zd-2bm_^(d*soG2`CUQncl<%sWwM{WXDp!>P8raavRI1K>mqevyML@APS(FJVVl{`wQRv-nVX9{rFukGHMI-pzXi=+0`$6 zZ1c7+ZRafBw*B^>Z@>11A3po|hG(5iMeXUg|LL3GzW7JC|Kv+Aa8_u+foS*qt!(Mx z2NJBG6~^8_&d-J*nke#Dfd9}!z0txXkpdhdbbU}#$9kH;g#%!RI--6c(*0!}k6tFf zzN8tTAQwYy%G+jl{LB?b+9;A|xaz#wufL=E_2&XiQYOY7L{P0LdxjkIZXsqR4>x`x z$6O}IR0YQ6qFK`MOWah!@Toeq$9G-!V1NjAIIIV`^BWJF$+^`6JLYdyztuA6!z3O5YyCfMWt?Ji&ao;u7P561&Ymu z6);q2&|0$@n=gVZuL2|A6zk&dNrs^r78;FPP+WqIf)5U2=BSDek?^#enWid7IYfvd z)?1%|whI(juXHWQSG zXx|5tcsUmN-LP$5HQSbk>`D38pC$b3#R?epVwc4@I06w)+j5Xd2oH3saLdc8-T5bD z^G<85*P;ze#2FeJL3hQyvKAQhle|Hp`)l#f*{39tPbOPsID$;KNo2a}5GR;wfXl6H zcPx!&{MgrM{{N4%+S`nsB#gd~aRmF++I-rm%9NkTvIeV~V)|Vqonm+84sd6S=^D?W z{t9Jw(etQBNe^2&2S_>K?#~4 zcbc&}C7K-KTE_RqY#D@}j>8MFA%pP)6bO-j*LEtbNcc{+S@6YK&X@29J}(h=4S*w^ z&x!{vQj*Cgpu3MS^z`%WA4CP=a}@U@*~*$&Gv*0>*dDO4mJjI)bE^WQiVy$bP{FGx znT_$U4E?KAGly^6Ben8{W)UECOh$SHv59Xi2O}|!2Y7qpZwp@Q*?DTU4@(fk9ODyqxkLWMqN-P zvIDcj8`@WOB49hjfp}j`!Ii;-fd0^rRd2V6SO;)%36rH66fe{o~L<$~dt$M~LC>FfM9tYW$ zF&@iCsPYnYMDs3*i5ngzwm^@$$p(5svW3x%aR*Hp1jfK)GBH-uJR=O#A~sScG$I4p zQO}rx3prx5M7t6bA_QS6=w4U;XJs3XxdoPcl*m zn8LP!rE~+{y<6oPk;fsLt(H1KMq4d)V7Z=GEp-TxRV8&W!e3zp!fV+k`UBSbejy7S zN2cTH5FD0{2N6FU37?Se!EmH|MWOe{ifKH6rny=`c3PYoi3yqJR}lPAEXZs`Mdo%g z&g*;t*FdNjd&DM+cSBL}%ogl4V@jgNJIdOT2alwFS(Pn!QCwZM*}x)Z4|x?du|a ztV&f`=Rt0Mhy$(7A&zhS9;Y`zZf$mCxBxJP>h(^w+Q!ECU9mH9w#VOg-JjloZ``dFGwMo}jbgby<4 zWT4l={Tn3AYT3CTyt#lW-(U7l_-6B{_n#4YFe*Bge)s*-_a>dzE52564^-gI-56hyjTFyF?%a^m9ALHG=&*hOXfd_cV+v_inJbGj~N3(1neL0SKhou9Tvs~c4 z306l&5wb;D2#VDHHLwZ?y1!bF05V|(b-h)5j+x3{GL=1<%3i$n;})xT^T%Z>!~fv< z>#R-SE@yK^9>p8GjFhM(NW9j-SQ{ywn~~fYgAgSoAOm;Rl7KAHQR0)qTVz9GJ0wvu zY9k&%8UIRM4UIldPA6@MPa@E>kU*XoctJE0B+f;$&ftQ)&UeXk>GfT4AMiTVO zkBqshka*mGjgkt*+O?EoWT*IsXvF9oMxFtTl4a{90+!@FFdinUv6VscRyK|=&)L+` zQ~{U_L3@j0Pc*z4l^DiUOFmD_;slw~p8LpM7XCmX{Dakbx+a27W9laRO6v6Zus3E1AJsW-t^b zp+t=_hGw7ERms}~Z6>@`+dXSuR=^XPh|t!2$txoqlxS!TADA(tgm^45p)Xne7!#4< zYS+kuisv{&;5y@+_*R+l=9F(&viCr&>ckr!+9+?2LBV3SkLSai_$-MB?wGJx{IYoa zL&@D-V#PVTrYef3@DdR|0(b>p668uG zJ~#r6%*;b14{x9XMHBzBO&YY0FzOS>XQ{XN{^U$I&K^MoDb+Aui&h)yCUky=Arg(J zEND@D62WWmWB>yt?KCowQj3!uNkRehf!NIq2*S?uFTRhhnJGn$FN(T=h4aNu2%R+1 zqijK~TXee!xQ)J3@+5WQp+d7~RfD&^X++NofQJ&L|&oR4_3GWM(`@i#W+ zlMXb|RjRz9Zk6Q6lj#L&;ilw3SYQz_OjLJ1QZ_n5TZw!OVJ^#VyIL;Xn1Tru zyelO}rg89R3xW6%&Sd-7@+W1$|?RcQI4ANdz_lC<-~#u=_AEvGF;(=d|%*#!{KqiU2Q)`FN}GN5XdW&sCNY zW@zmi;90sw7ztsIVUI~OiAhB_B^9$&u$lk1GYlOseIUG)p*x0rY-u+=gw8m51mXR4 zLxlHUjqrXK!ugRZy?#igtZ*Er(u82kR5~{yb71*lB_o>Gy`QXmbH>^2&>wEy3%W#c zc4AcI8V!r}QWrw7>|0lL@xx6(OdWefq+qzk;=3S(H&PZkZ0s3{tpe~(hE$dKKGuQT zs)=N!)6qEF1bYpCp~}Ltlzn2{*l3O8!s}b&{g#zoRzUeiBNU%k>8+qgj)BKuP5=~O ztTrV%XdUbY_IP#Vcy;1+kI3;#bH!lxB8K^?S3%<^9Xkvh<(xS4*W~xcg z^X$SAzy>eMfY&A(cTaTw;a_!eW=(uaQQXr2e9S-)1!c!XTjvj!2;!j53@%W{oMmSA zBs4aEU=CLqsMO)=(n(!arZF=z#ND1K>YOS?UB-Cl_yiHqpuCD0#!bX9I^$ZdTQZRy zWDcEdm2H;E2>(k08MojkFrWePb#w|OwykS23EuT_l(Epw93oR|Oplu?!(qCH7Eg_M zp6A>QodJljwRKKEJ~UtE`rT#A?|yo+;rcmEB>dS5E@b?P&qI^vdRtu%U;+ z&{H=|6 zOpm$Q9>dlZzNBpJCssAmN#qI}-Q8C5QN7Db+-1C!cUQ@iNlQ)`u9DKCJ*i~C)^S|T zgapgIesun3n(bPPJb!b=Uf7fnNBKTZ<^YOdGu zJVxhrJl`nKcT`Ud5paLOwa1ey7F<=+8@6AV zYLLYGJ#rEwVIdsuUfUvbszy^(oRVQl!1S17Nlcm?vGj8ce4q=}R`|TK)=tYS#bXh8 zm@*1-I6C1>G&s~nL7rxCLsr+jy*AXY6JF^tER$U!$<6`g&}Nl^0)1FpSZVPP&5)yJ z`xv&4TijPw$3McLi4hvDg*=P>$|9{>UNIQw>=$7)dtyuk^YiIwfk8oh=x(^KE|q$k zm_n9KO+%v4ggt0%ZT8rrsUtaL+-~cHz{=#0tC}rLtYCJB}k@G&W$s&-Qtl7 zPymCmBRsmE3n;Qkw+}9lG>Z>Rm@aAuydM~=`DpV}@d<+;6Zg^&6@HeN*^-zSM01O= z@nl-G*`BD${=nKcG@6d6@Np%B!gIPCX9;F?_(XDOOsVelYS(ZHG~(KT*g_n-hB!0= z{z;HUb;WABY(lgfMotH#5Ib3rPzUhVCZ>#PC}ujjhJ$@j*K)9|<{NtU9yj734I_U~ z#>mRwv5u<&kW6D{!srM*g%0ml0&50{#ye3Fx~;wTX_0@%YaX`7{^H(j_C({uhZV%T z;#XC2*p9HV54WvjKmUYI_Vagg4^V@aO%X^H!(vL5@8!Ml9xJP6aZ`ktV<6%rJt-Tp z1|slu*0@DxNra=d10XyX{^r2zc15elwrRy<$1Ti(w!h?C*sDW4AJyTfbptGFukxf)ye9roA$>Ai&N%*|ZTJ2{6jKSKtDesL55Uxv(o{0ui zg#Q@-B^Iw-ryJ5iNVV;bb+s)XUOi#O0DX<@UM*IRBZL^Qc{)al2i4N*RYF?q`OKb$ zbDiQr+_{eEmiS*sbGVu(FJ01Z-&|(eh6j2^GmmqXTXDSO5~6e7&U>lQ%R^?0L93on z(;S^zl9lMJi=#-L-5nlpSLmJB(Y^M(=;&dbILykn z6WtsU*oIOCfqL~%J^GrS`sQnT>RZWEhvN`pN|ipeSL~uAYyTYn#g&K;;r+^7+^32Y zAZ*K!3^a*UN8eQINh>hM4q}QCFL>xk2faPixiw5LnUj6@dL>0`oA@#{;b@D z$+=}TFL$bAoCcUKH82eBGCNhrIZ|5oEszB_i%cbaMWG>7=#XJ$py6dIW4m}~LgkH6 z`jS^w`a{E)K6E5$?4_@={D*f}zD9CCG$d_%AFS8n}O3b6X1qE6@{L^l6 z*9AVcy8<^*fqzK9Sjp$=q(lCqhQBSmM7U#w+orSV=`q-oST_f_e29G>aRI`ypSd;7 zGn6h-xKnXwekEL}P#R>j7uCYtu` zH~cseiy88n;4h;;`}fjWP%*8ml_H@WR!I0KS`^f}Vak1*%I)K1HdPuboYTV<{uUK3 zI$|}-ANv+3p}K85!;g5yQu;ZqTwdAodpp%;_fB{S=P{-p#FOYQ%4vhVU--k88=rdS_rG&s@6`U&=e9nw@-w$=`J9O<3ExJAK-WQZ`Hb4We;h)In#-moldiT!F?5G#{ov6$%9PP|{_ zG><0IrdTH@=D)_c6uoGZ$)&}9DtZQ&_vtkIz%=`2MX%O_u=<1%D0S&vL`#bykPwiW}Xi;b1yan_br%sqZukY-| zr}lN8-PJ$PcmApL{!_aaE$BRN!u-B@1D*X7x)vXD^jU{ZTyXf|XP!Clu%p`A4m<1A zGrI;3>F*pkq;0}c6OO81O=5q&|8I&{grfq~AxMf`$uROrm1 zdhezBC(`ffr_Y^s`m~N&Cr|yS(@&f_t7G=*r_Wn-{-VW;I;o=;Egp#b`sSS<^>i*e zd*Gai(oz4C&iP$ub#*S_R-e_?LlvJc-`m$e4aungoW)Cf7DVUFThsQJ;Eot=xK z`F)+#9}DQ6T8GZw?C(kc-jYerqkr$rq!-kryXfCh^sj&M!p^9_b6(&4bD}=5zVzuZl07uzkY`5sHbPw(Z2~!n!c9)9h^yTrhf-y(%++hM`Y4>J3w1V(i>`? z-%C~3zqhKs-%9DXF_L~}&|^1r>L~BG^lu->sY)M_Nk2>f#@3{drhkV`IBY^2b^OB9 z`@0r)^~~$*8aRK+yt6w`mtm7T^9GjEeC%4h2+6bhI(wIPE}DP-dlvW6phR3e>BRX| zXdbOlngP_m3+b|J(b=}AGw(l1$@tCdpMMPI(R)vlnKbo8JC~e$X+HCR4PJ4lVT%A^-* zJ2z;@l=vP@eZUX|055xefALAc>PRW$5Gnz%Kqn3Y++W6HbDQ{1ozuu{S|G&|{{aOiemlU!$rX zcOvhq>YJ#m=j9|_UEljC-J1O#GjHb4TQYAx?Nia>Wu1Lz^(;P@@}>kK=G<#tQ?y?# zo{vSftdoA}prU5ZA*-slC*4U}^o`2;v#{2af_CDECHdEcRsLu7&N%en+ z^SiZBeSTZoYgK`1uWN|*dS(>XCH?cvFYlY#ygIXfvUw#(+B;miH-qkZzEDl~*z|I9 zeja1;_`iWVIYV&fyf2>h-l@rP&g_in6eG%$e!2#_=JgQKFi=Am+*c>( z@kKRB{S-cTp+*=F8jf5#t}-utV`v%mA_En@0u-u(HU{r%Cr=;U*V+*uIKT1*6I z^qzsmeRRMISs5)@+Q;W9k;U`QVsdE#&CI@~^Lb;Dwd)v~^Yzew{R0ayeFo5uLwmR# z{J}j%nLjzR?z3m?=AxXjJlhs78HffJN0r6YgI$a0YW`v(oYBbWT%zV>Ym1ilcU{nV z%rUd$Q(pffqF#_Qd7o0~%rN_KT_$~(p%>qb`M9zq^RM8_+4IJ}llBXG=h0Q~>>5f5 z9TV~C;k>Ut1YOuozq~GAG;M3vvbJq{e@efD&xoNl{r#KIv~j((W1~4khTG$9nZJ5M z+uF4D<;=F}k}v1fn=#fsqpJ5Fo3?w;8?uKRiu3tV!jFDZ3$6dgeIJwXXHlus>6}|g zUwQb1HaytBXz{sc(ke?XPVZc_4BtJgA#^UFHcWMdcC+b!c7)co>Hl)%47ceoIYJxS z^usmxH`m;MyypIsHTQp4bN^2@_upao44WRWs@u!yxta8gn(|9((#vX|=k&>$^jgc; z^z{>qw0PmdrHjt)q``S63_-iuGuMgNe3lN}@OPA-tIEF>`7aD9zmfCzIpBbP`ahjD zqvh;Cm<}g?l5f_>l<6jiK>QLiPozwpmR$31l=)WX!Mo_R>F0k-`<*rBNiL+F_+Bnl ze@*5ct`l!T<~mc7Z&1l+koob^vb%`HBVKtEf5P?V#kLA3z7F}H8j^n}=fC~TGZ!p4 z>#VcSKC@@x!bOXgEa{{9Ixx_6LEBzoA}XS0JjsRYIa8ZYrDnW@%)_fQ*WApRM^33uep^ouiiVIoZO|Hd8wMWXnq&X`L4xhchN4^(>0I(_4IU| zwUqw!&_wI$TD+A0bS@g;8$?x|*~NdmmeC(34(9dDGe13D{R?s3b%FVz?TrYbu4S~A z`unLy{-N6Vr?oL{H+!Ccj+;2XvFc;CAhWG8{p@<`Vq_lCnD$x&b@Asp^C(l&1$i4^ zhs;T)PWcz#iOk6+(*^MxZ$jpj#@{Zx!gQH8bZ$a8Dw6Z>3Parc?V~HIFm__Ux&;q%;Tn=cOr9bCX>2u6EZ)M z$)sL-k~0tKnos8$O^;=rG+!?0?3&MWiAYs5JDexqk~W!!>$?Bontqwdq}JVu%->`( zX$EaV=5y7LKZ(p2-;#a@Wxn(u!*uPM|IBu+Z?+v|zVw!K0@A>4MCRWzbyDV5&g`HM zSv0?smQyD!qfS~*EC8iX_3k z{Bw2VFS!f-R$cN2Wd3d6s!i-3WWG}U__sN;)KvBKb`*50Gj|{}SDm@;Zq6(;$)`8S z7I-@{>zibDgp$c_CdJX6J&yCxe$@vvN%Hcx9byAA3z6h1an18r2>kU1q&Lm&a@irbn;$DvZA<1K39NA>yt($(43*~#ZP zZDWhiW>R2)25>=FClLb!T|CejbsESno&!{n_BS5vH;%)h2fOBNGUEa;rS zctNN6VfjJlc}qIyvr1#>5r?094(pv3FIvW8+eK$bOOHO1g&K4xDb+PhsUr^OQe7iH z-<5fOp!2+esC5BzUR?v7Mp1TPa(f=D&(bCxeI$z=-x@lL>G#Vt zzG%rj7FC=rU*>rGi>jvj9`X9~2ApWvdtG$IQOhZR^8O;$sJ_4W%nEhZsdTS#$UT}W z^mCrMH?#A6Xe7^K2?wk8_7_p!dl#jnv$(r+(e0GaTl{+l`a0(=WPJnOIrkhQXOoKG z^`1E=IS)~}{r^5J`NFRGeTyr!0n*exY{HS%Vv}d-y$k90b4HC})2wQIS0??Hn)@4T z?ti1^{+62bk7~;QtmghRj)-k++Eb#680cHtxg(Mt!rrSh_s*Kv)8EPBgBICV?ETQ( zUqpPvq?YPun^pCDPBo%Pn?75KD$Ay?s7Zg3(uZf#Us57U%BE*#(qB~~>bL3pD1Ce; z{ZmRGT9fW@q)jEmDl{9_D}PfA882q$!p?<@`_7NBdcfqc#4S4We3}qON5o>>vdr`G zWtpF~B3e96Q(+d}XR*YYX1&#xTQZNfziyhYRCa*Ma(gb*BDT)9^&hNC$)uy2G^;tw zj;NtSlgH!1ef*A$_?gwD@?UF}c9i5J(sO;kwdy-nJ7j27yB9_0cU? z0-Ju$i28UssK58(xUqJyI&qRG*;*14@8Xg#~FzinmPm6L9mblaq_ zPTD->r&FGrqC58KII!cmcfaS|UGHA`?(6>L&VPCIUw$#~<#|nK9$A@NSy;KE^7+0; z`+nV5_rZfdIQxT3F23gCFI~LtV!gU`^_9v0M6Gg(oN`=w+I4)DmpT;H9pnSll+WpcTkuew z8z?VV$ZJ%p3Qpejf}D%0>3zAp=c*j)_wu>G%_~39c!_ocPX&Iypd7qPse*P2Iw<(Q zgBSXRoa5y@FP}H<*M-2*uBHd`Ir$Xj6&$5<^e9y(pOyD~#}6EOxIhKb3^&iuI`p`g zQw8&}K~Cp9u0Xp^!I$qYxQeQ$DsqZi8%P&;RBcY_An!W)yjw6mO6>?-C+E32>VRA! zr=?@4F`n{Wtpc4ZP)8_FI*C6zpUXJ~<$Ba5PF_oYY5IDXD)RhX-gT)JIVD}EJfAv~ z`kY>q%TZGTCnw#Q*LmvLd`?mCxgIszab4+AH|ORH`5>TCEU3KF1z*uCrE_Us7J`CD zY?uc`kvRib=Hy4<6F@ba$j1VN6*LQyS#-cBT~^KPC- z*!Mh_`h)tMIxTPKmr`yn;1SPj8lfC@KlL8fZKj={3p|%TA;{4d8aT@1UJMEaGZ}T@ zX+_`RQQz?XMbpR&Jg<;9Q&iDyC!p3*7cpB)6D#j&?FGJ>xq0RI9yO49iuW3tX+d5o z?dhDE&n_*NJhhQKjCZpFO=)VCRx}P~F!TAGOYNkY4pjEGznt3esZcL_W}YN7Ja$s&lEh@0rD>X;Jw! zk~vNVG%J1TE?T=ZZ|EI)$1FibOO3ubA8^v+NlKkYgI}OIMC0q*orUIl5YUdmvnJ0| zmU@oXVq%UiL8lY$Jx~GI2WAgOc^`PnfvwW&bWb&l^<)G8Ev?KR%`d7 zlm4prnd`*Q{D7FeA8KU|xjOT^!2CXArDLJLR0lzChcAeb#`Ja6Je)E&Z z;&*%TWC**TSvF%|RB-cS&!B?7lbV>SnQ}q+!uz>`M{Zj2QPQb36WQa9HyMF{kG_=JBnzI2N(bGvbW*WFM96wOFs}VJmmMp@o(D77P4yp$^#32 zH)+xDK7PxOU;OLwzjo&|Iq|c6>mBO2YbO*w@r3*GqRuJc*MWE@7Vv>C$UKEaVov0PA#8s-3LDW{rmfFe0=MN58Y?4N9O*ldAeYauj zwLe(Yd)GVeJnNA=#vQ%STi^fv_Q|78-Z_6`|9dy@``lkU|Jb_Wy?^<}ww2p{x9G+1 zJh$!izr4pEzR#(@4`0v;T_y1|XPOY+gQ(F&A z>N$T`eUhzb-hu_K^4V3@*m};ZX+JYx*>tfcU8+g<8ip(BdnGzvo4(k5uT8VmA=@7_ zl`sr8J*uYudXs))>X?6YzdPpX2miMD6>JHQeDWLnzOv-DZGU?V={egr+`r?$&fWRv zzimUh^uzA>xvSrI|L7gtk)FI`aLpb2Z~5r>9nT_t@h9JVSnH|p{{FNbFCzVgNB{kf zt8VZ8)Vv)#kp9*czkl1gl1l$0PmX#~=9k zx4(PY`sSC9MEaMvAGGgvbw@sT)XS5RzVfc44*J{KlkS@P@`*?vd;BB+{lsINF6n-G z7Sdn&_V>peaNFU5J3oKx9bfoD-7CwHzT#cWd;HVS{P5df zxdiF=v^{v_89O&Tdi*P^k$&$xzH;^IOHcaP`(Igy^nEK1Tr%$5zdkYW$_+?gb?-0l zz45*${{5;~ZbEw9g#)X;d-~^I`rIqGBmLd$Z@uc8B`1FQp;zufx_h672VQzU_{bBl zY(V;phaJ}W-nZZR?Z3YA5Yo2~esIepPaXe>#+{py&K-O3K@WweZlAF8F{Ho0w!iBW zW)s@XPaeZb$mJV@9uC5d3n(ik;6Qy?NE##f8lqR)1pWi%5^} z-0!JV_WjcL?%ug$rxSnY7ql_@Q*QVU3s|>t;_)0GHqY!VnKSIn+aLbzd3U(j$Emjq z>s~tVoyTAF4`2)(=k9&-kACnwAKy4h)`qj>)ZcvYJBP2h>OF?>J7?vuZ@X#IfB#^i zb0pGJ%b(o$9S6+0ag{R}=>z`u&|`;vcK+`^>zs)6t#@o%J*o3&cix9H#c_VpdE1yP zgKu2C6}APA^U1gNw*U35r#DZgs|_wik`*VZdJbAR*EC1V!+Uj6t0)r0iA z&VBBapZK?hpKVtINMG80;XNNbukgoH)pDfIZTji?pV@x$J?E-Rkp9}k*MDH`Wgoa~ zty+!rKc4onO%K24s7<%4b@ILIKmI?b-gD5k-%vLo{fpDrf8xFyr~T~b>L#S$zWSX% zIr3}Q-@HTJj`XQFUiWW(pM2!cZ_)Q4{hj-Nee!!A*!HEv^aiA#ipzi8_k|s+X6c8J zzWKaUzkmIAqRnUN%}77-o|X^3@cy@4caeS!>0{dV|M<2qtbgiyy$$J)-TjMG-}Al4 zZ~da)j`ZXcZ@KC5<=6jhi+)xpj}vdYW!9`^U;V9q5$Q2EO!?w-SKf9-&fS6Z_)Grz z-^1tj-x9eVNRtB(yZYC^yeYi?Shs}qr%E?`=5N=Bzk09RDED7H_RPnl*4vl3W0Ah} zySH5MuQN|vd4)R;=|g^cyE|oj%L6yNGYLMEdb_pZLn62R`=O25%P9dv?m6-PhH>6couhM~1L~y3nxf zHvKuX``h&AYtpyXr2k_#rw(!X=7^mfwH_8to*W&0*nyen|Ffn(K5a%j@y6fK3VX4X zu?<|%wXADFXLRQI(FL7-i!)Eu8v&M0PpL`YQS*k|M{IEmAMkV{@+;48&9-uz+RayH zKF&V#Q&s)mpP95W^zQ;g_cG1P^e)r7pmUkVCHmGrcZ3#oxlJFftG}qm*ZJUl!mmNs_wPFQ&kHty`$0te$6`ihMM z78x)%7ndSBV^XO~or6}IQs?7xSL!?#SZwEV(CyE|YQboA-@@hmL4x_)l4Qh!3$B<- zuGo)9M)q?!hyyzr%t6mE?O-((A(%ZDY$=mE*Sx-yI*0o&`@y#GKb}zM?*HY#Aay?W zm-YW|oMSTS^ZAQ?R&)KQy6#T)Sooaxk&C_48Q62a<{~G3zUD%G@w~gVQ5WD02o3-c z01Ad75MU${2aJN@f(f8R05O;ZMoLTukb^0~RQR+oIwS+Y0ysb&!EYdy;3n_@cnCa# zH;OX`9tTeXv#>evFX$3@opBSo4?ct(0eEbZGTJv|GBPrsM!ZPMscHzWgd=c7q-6}Y z2Zx|!S42b&?)Vm$ziAepB?$?O&Vb?*5R-853rQ%esB387w6?idQ%ggOK%#KTC`H62 z3X8r@;E2Y?6(UfQGPd?H@x;z%t?L`cmOKAW^=_xVw<1AuW^zhaScWQ-Ts)M;F6cpe#^! zq!6yQqMs-Z1qyjZQdt~gg~Z{bfL(>qzyLWhs3wdTibCKZu2^cj3iiglq z7Zt=8MDQR{eyqBhoXG1G)U32*lsMX$4wUez5Gc4Bk`2clS3%}FToQ(Y-+}`$A_xo} zVM(usM4|IdnUrx+aC}k;I7);IN{OzQvev^>!$GMi)2Jc!@YNA0^j{Se9Yj@K6heSR z!Nn0MKM^W~B!t!gAQZq4cxmg7i~bmX!wNr;kBB0s*k3if-d`MX9eNMWic&$b!$|!r z?%HTV#Sz4E*eQ{`j|?2Uj+67tPmmCxgA+iJevx5NM;JZ?2SF5Xu8QL(h5n0jMLr@| z@g~C~!@Gk+g%0skg#;-Ok_YNAz~SgoPMFM9;1M^38VdH4V<47*0e*wm{ePnOIBq~u zP;daT(hX^Jn-m;?>ceP+zeg8=LzI~#?e0>UfFvlX7hnj(Q)xbl?{y@o!vd(78XxI(6b3GDj_MY zu3-`wjX7D}(Ae42Kd`U}`mgCOiJkAJ);580FVnmG2k?nGFo)Fd+`VUNW^EG{SA=ot z=>ER2xQS1!tZr?C4yIi;4;{JFD#KwbOh9V1h-u;`e| zn%dS6ou9^uDJbvW`@45?ihlU`+jjy6CudqZv*$kLZ+sh@C@AR}R8+NZV&}h)@4JqX z(do^tT^H9FH}@n~9^QgCwXL59#=ob@C8zMkFbt3MpK9MUzKcK-60z~FZ#X%NO3NxJ z$HwW|xp#FB4t<^Yb#e+~G-LAr4)s?;(m>(Fex(HH5*P!H9}R>G2|#(FLQn(*K)?~i zC>=r)ggycSrA6UDkPrkG$AI8LVGvw6KtK-DM$jPcAi!`+JRPVagd6jCB8C&_f)l2K;(}u42817%3rY>gg`i6@ zr+E3bAn07A6oe2Wg%Cq>!u(H(uONAexgl2xuM(moq5jEKxa6S;FkYA>W~N=iLANlu z;i1Q<@nGmv82UTjpLB>Qj^8~pbR81i3qxIzgrMMJNEIX=+zpo=VhlCHK?hu+MN#0~ zfTF|UCAoN%Q2uPF-y|yn4+cZ$6Z!2T0LJTZ%-JX?x&=Z5A;kZGeTHA`&8#ilEU@6T zBGDPRu5$shU)q=2`~RaI8!WDl{Q$V<{uH}Dj;W7*{)=5`0WWRa3j)D^d}pz=w>$q% z2?9l8>SGBBrNH_3@Bj0az{%Ot*~P`#<3GH~+1uH>VP8{){==Ju^I1lTvqfd&G0FHb zy`6Pg$!s`Bu`KbvjSY=$wP7NngC*Cf=aa^hR+${%x$*|}zufqnO67xW4Wrz&_M)W_^vbU(yVJNrUh@P4v`O|_ZSHlcQ^S?Ze}Lk3)(#%_Ys(q&&7btAFxr!= z>`AFUAL9{41b^R~t2(`sH(pRWN-fn-mr1wMTxV&~`0hCqq-nXNH-Y~qN2u%}-MC}1 zptJPjk&ydki*k|HF2V3bP;X>ZcTw9FhFfor3GS;kyg%O9lpOi<&Gs5iGYR;iTgpk| zlf1w?n&x|aHJU(ZoQ#j;NPix;shDu{>kRo7;eHd1Fol77_hA3h8*tsKxh(Jg#4x`X zI0-|)HxykNsMVNdw)Ri%#LRjC#%&A)6vT24_B(|`FE}&RwFYM~?r<|jWiq#~03(TW{`|5HY zx1^1JafM@=lgPEJ-GWuB`(Z6BBd_2eP=QYNjqfv3pKv){Ln*0k;a}@fTzLe4-!o-> zC;0m3B=$R|4)JiPSQClN8k;-1>CfseR1^v8bWDy~dK{nio9Dh@r;+~{&$x>+!qBZQ^ixx|qVZuwy_#$a~eYoz8& zUQ%#VNW<30w-2s(q=eZooo~eZ%}i&S zXm+C8(QhWS7EH@GR}mUHl>%hTkEe7j(*I6yEpBgTr@< z)lgQ=51)Jb)u&5qjUg*XC;J+?aI}AKzVKJs49bh{K$`D1Uc1V=CdO>|pg{Z2UsTu-vk*%4e$szY<-)%dn=cBy-my#l9l`~0=mV!JYziU8j5ia6A zKR!wNVAj{=Vp*iVrbmCd?(R+4Ncw7N=~^X@$e#2-ac1fA?MREbN)Nh7h&z5j;wMTL zhmHE(^wDe1O2dOcybtKglpNVzVVWKt4gr?^t1kssQHlq4KeR`mD6<>^OKq|RpI_|B zzhVj>Fh0$2DEZ|6HvAYHC;l)00_rd0XLL;m{!@#j>!!%zIa{E0IGqr~Hi26A$`|7d+T zWS)n+TywNt5oTAjm0U0_iKZpn-b2{!}5A5tGG{OeV6o8%Fv z^0vCB$p0RxcXXmp9CsL+Y1p*>LVB}@t-+^6U)bxNRjsi5GuEVUhC;j%`X4lNq^Qx!8x_b1_r+40@)oY*HGT5!6 z5BdXlD2xidXcwvFexcdsYW;@|%SCbe_+yAdV=L-btA-F8sX@51CspLd)zd!<7=pVU zKz9B8&EL~T=3dOk71%W^n1kfA$0BA~9^T_>?3%sAg|0Y-y6!C>8miq-iru~IJDCyY zpyQq^{)QVc_4Z1Q356sn=yt;cAA0)jejWFHTO1(yCI2aMv1@EjVBoWv`KUE2G&W6x z{)qLnZ}zO@y&zw>ep=T0pL@>lzjuGtc$-hJw(?%Bn0F_l;?BQlI`cu+NtUh21j(&S z9Lf+`JBF0*c(Ufl@{W?SH^-^R8c#Fw$?f|&4|8UwpZDS%KOZpRO(+86;^30sHaWTR z%tTRG^5Dx{{vvDC?Zb>W52-bPj;9~fh%z5lEZ23?;AFp&uSpYrKhhaV%VM{0so4z~ zwgTGsmHv&#J&}7!H(;V*^=;Nm7tSPO3tf zklG?Lm*_zg5*YM1HHDJ2Ue+nl=&AlZ`y#8`d!Ly*zXrk1ut>7t4}sex`sDp zty+xXxOq+0MS70z-iS5Aqla6cwEBO~C9rpr7^yFPXfS_S$vF38>(z9j zk6hyDinjyBNm^b}&2}B~yB?}p(^&!f|FXt6SIueE4~n@K!jxRzrGE^j*b%pUSvx9f zQaakt)Zxxf%YTXMMff|4yb!Q@-emoFFXKyLa56sx{OZ)C{CBg~yI`bV;lJYmaDeab zge`ZrWnquq@Y7?KcB}6$gXT@S(na6U0T1c-j52yv6+D0AN9j>mvIG{`~xi49X|9kLo(h$J9=4B^LMW2x4){8gt>|E{pkH?-t18vyVL$E98RqC zZ>mMIzLb2ldTU3CTa8@*D1NQD$CP&#BzAy z0=E=;)?oL^)SDnP7@e4GYu_4$(Mrl2U6Ry2>mIHS(hLhPG&1PS z8hRLIcCUw82ET}YweIiowA$x()CEqeSj>Dg%_3u&pP_x{z_0V$NW$to=n!V@vwa{Y zMJyEoo%s?a*A(#0^pTiq1UYWG@`zfcP6dW7v8w^)J-x$a=<+OPe*cak9!eD0)Vr*A^a*4~j&dP&!CRRCc z20T7dqK@)n4Rt|}iSF<8wdvQV_jwIeuiMH+k@-JvO&xtP&rs^er!S}W^~P2wFQ`{+ zij6YonS+ioK~`CvCAq4{o7{ri1W38E5?Z+XO1 zBz09yzcy?Bs*RAl84!-eQQCh0eYMP5=&m{qapDE;EVSAJn!vB@Ig;G4ZwpbWQz%%M zyLrn*`Vi#^eam6^ljPQQ;@5fAc+)@I<_W3yVoF>ZR)T(Qs=ml_oq935^VWdS-p20g zno(V-&T!q8KeJqV?J^(i@AJ9py9Bu2OpZJvmH2c;L7skKMcZ13x%tgu3i2Q$erPe^ z0_PTQ)u>h3Q~vH!VA7w|t{E0k8!Zso5aD=}c-QY)bw-J`jesm~krO;e-zDdzMetbj z$qB(zJychadx$b{Od2d=X12`b25>|vZf+n2T}YCor?*} z1C6J;k9^ftJhqO%yd*r{vKY-2%->jxSgASb^4ELj)X?+keT?HWPoDM3Q>*(lDEsDv z3fIop-u=hY+%i{hD0uTg~E`+UxIE*`_R=UEPJ8xxzaAYB?&~@~wRrVh1K*e+$qDS|F z7x8WrJoDmh*gv~xTk>MET>s`v6-PW7OB>&>iEsoIyiCWxQ5>k5pgGE46u4~_2ks#L zK4N3)m4SNx#b&cfSn=;Dg~sVSN);`hTv>`FU?o*qJGynKUsFdsYT)IOpY{8(xyQW0 zZKeyMkJ|mcbDnSBFxGBlbA4iR$-{8oCmP*HI7qC#VXxU>oo|c~(MRotLBkfOs$Q2= zOs?<*uJpN;Dswt_-&Aod?}|^4CjoUw;7ay3{-A_Ude6lGf5+}>W^=YD%ok~Gbf@i93EDy59!}2X=N8EU(pKBk3LKBTL>L=G$m7_&U%$8s3xgYO= zt3%1Ee_sLjP7(VR4*z=xnJcEsX3cDC)*Z{yMLc`0lsamrzNsSk@Rw%Zi$Lz5J-$Ix z+y;1ZxsRNqFL)-p^^Sx(pKtV5u`(1O%8~~Q3RFmQL5x1Uo~~UieWw0h?0Av3ppj@v zgV;lE-@iGB0))J1P?$@Pqmb7DeRXgB>99nW9OuoZV88KN*6fqQ))4hBqQCPZI~6|# z>R2+n$9K4&_e|g`@|$GI{#@&9#CP$cmDY*7rb}2k?a1fU+vx8l>N&F>N%N~ zH^JRB;FnC3x=L;LEmHf-?k*kWw8@vm+Kv8cua{Lwb(ufRqr!1)Fz-mF9_CgKn&C%8BZE9SR znsPCE0o@tK2e|C>6?0MTR+F9A%=E$&m=Q)%1Z85zK5DP-h%S|St*X7Lxb?MjGu=3V zTZ!pP3LDMTv`zH>17-e&{Y&1?sUeMZZ$>mt$K>$32zNxOEH9I^kBZB@M_fp8;C|US zVWUGI-B*IUD-8)Nx{ZCo%hhd}B&y3PdCTH?Y%9KnES7Io$5WVP39Lh-D;F|{%OtX> z@O@XK!(_-0*4JMLl(Ini?hoiuaYh^07OzC+j&sAL6xs{TE_p&)UhrO$op@2=Rv9yW z%4qZ;?m|n%*T(rVCxY7R>6KX@3DV2U`yK8^poXp8q2IdPb(M^b{gwalM8R9)gUF9a z>_#^?=f~EiuY9a|>bmyI(L5+=OiM-o2EBW(@gV!h;5t^R8*|CU-)-Wx9zz9p3vKx{ zGbf}+OD=dx9C9bokV2KkB(toBFRsdE(5LfbXHUydB?E9yoT+H#JD|TSSm&NlR*$GBbP7 zJSYl(E?!QJ#7CJXua@XDebQT-{xoq_BQ{dF`B##=`@P#_E3~1vc_uyN$8>y#FL+nW z^@F2BxQjC(9)sutZ^c>kl2gn<<_|35O*Ju`)zD6m$MSHQJw z8Ob!^-M!%+KE*6j!v!ZC{0pAfKfTZ^PU$@nYCf}ZwL@+hK0^8f);Xpglj(*}uE9w< zGyJYYPBcUkZ*{DHDGy27gE8#}G|vP`=t{aPeI{#3Qxx`cNpgt)$QB--2ugeSA;F)L zPzqM-UdgrBfChDMiCfK(M0B#~tv{V~)5)SshMM;Lrug^w%gP0>ENHhWpSE!)G|wWj z=D7y_>Q8|OgFlw}IT0pw@zLw?F9tIeEqMe^CDf~PMFfgH>e@p_4(m@^aPH1&eQZfc z{8?QT=5@b?=f*^7g~Z-7x>#b=Urj(XosjVBJsja_mg>aF?TinBfqJ9_)tU;VJaY}s z74ScKHtf9@Jhl;K9;Mn4*@Kf}mR{V`-*42%#mV#RWA<7`*P8oJeooP9g&GqmxxP!z zs}_+rdlbgcm$)B_y3hZw-y)FMqpw8fS%U~Ce%o=Ag7@NRLhG0ojXm^9tbp`8`v-4e z&7#3Xl^@#F(`56R1665MOFIf~)42#vqX!5%FL-lBx!Q817VTdozu$~Xb|MK_VdY1b z(i&T%#$P{@#{9}X`~66|?_&FWvA>{Cph5B>Z$E%=fh>@G@>!t^Bwuh=I0VVpU<+Wm zS0MS$vyx6bNPg_B#IggDU&NLmSTc?L?pcwssRbk-RE;gNJFbJ|6VHkV;6#voF184j zt5s|O$ycA1&p71rAJ59ye+9;YYVGtz$0c#=9-jubh<6lAY zLuY1esgrH5e0_6-Xv$amy$WBp-Wb zcjZyV*5^6rf#kE!Yzacf9k!U>evo_x);{34WG7z4T5b`yUSu2*lYL?9eABjre(wI$ zePQP&G5IOWJ#+qdVQZzod&F5-){%a0GH$|t+z=t5674v**&lS$%(feR5Bz&>3w*jq z{6HcJmo)9XH(#ksHsm?=E>n|nO0AK)t$Fjz9to!33B`Y>llmm-Y$7O;k@El6na`Ca zJEH<-=}%A|Ut6S(zDf1_Oj%YkVA3KwFjzOV5r4*;?a4MSgF#?yoh1Rk6F}_P)KPL7 z(i&S-pA>Z zb8ls$jJTu9-@tk4(pMuvAfY~{9aiPBL`4Ev6vrD7NZyyT@=?-_rz5viHn%51a>Qm& zX7Hp4KeKFeKKU97>T)=;M}_9;fz~%_UJ#Ukyp_G7_$$$uY)|ypu@vRlTo?Jx$G>f@ zUI*!@2K#bO=BwU%pq(!#g;&5bVP{qo8=Go_m>Acb#tMnu@e}CsC(xLs@BizN4>QOz_ zL6JY;OLl3jO#+vK@z=HF z(s#W-HY41VSGxukqqUctDPOnHuC41zU$R+eG}o;Piwkb-(;l&yDVruZY`Do3^(@7R zEQqhyjJek7Ey0F*$)|tZWUbucqKcjm1nh;Kk`A7VPw>>2LT@J_eB0a9 zkM<@*V!VHi!G0-$cyJ^nSdw5U>9}{)zzdBj;Gj z^$Ps2!?8enY_2S7_mZu9IO{dpX~*iND{GKl*;AJ*W^^U44tR8jb)W>t^!VrJU}w{J ztl%4Ko));B#-+VL%*B1$Hb#Ow%n()u70YNF1N64Rue$Bj!&wa#?C6(5DOU`?)nK)1SPOWw*xvZF$KKP6)Uu&^(wY39`X|;bG&p z>t+4JXH_YthtX`Q(V_KzYA?O^0BJ<3&(f252jz{nR-gQF;YlMD1$qICvlIq#9nm8yw-b z?hhKC^=b}z{Jwm7%dVWb_%#}C^mTRlg8iJB(8s9eOt4gC7#w>dBp*66?MoH~!{Pt7 zULYjnf2){$B-3b9MYB0+W$44_`Na|HZp5R~D;W46D;6i+9-7ULkb)5p7b+h;Q?_Sp@Ue^g%pGhs?BXMTNVcN{}@h>}e zx?9Ebr9)GSQT-kV`iC5pjEpa!Uh8g6ZwA-E9Vtje_229?Ynpi8)QD$GAc4au+ zQFMRwq`^nsr5u_VR;WkorJ)XYu>UqiFsXc45`W){GJPrp3K@%!*BRd*t5J|L2^=m` zzGSag6)88wGl$~})cXGsx&Nnto^1TSN9lv;Q)}ioO5lwl)(Jet#BqcG1H+Rw2MghV zI>eHC^G_w;U-@4OJL8lZ8zd?MPc$9Y{6iXLNL4Zm%OuU7x`+qGp47-Jt-L7782QCb1D z!JFK4IQ!`y(FAld0evf*lO~u6>UEk{9HM|U*&J3nie=|izSAn7Sfr=nR*ImI5dPy% z!Oa_g_+{x{TyogUP=#6?o@XX6p9K<6Hk=4sB-&r94-#YTeFEwa6?rxgByCmTfyNz( z>4M!s!t-4v&H6VMe!HG+4ePTsbkhP983i;A*#eZV_SYvYtzWdh42sKP?>U(sfVjsz zeeU@N{7bmE>YvO=yOOT!R@S$L|IY<>u%RGMb6=im9;r6Rsk12IMHz3*oVD5_~3?gVDywr_v=bG$iv zi#9t)>7k9{FC)*7wHZm*-d5%=YFKBISv*R5XQR@z&hQOC(?mMN$P4cu)9IbxD+T&P z@OOAcUwcDl+)pW9{0SXZVA(3bxl~v1{tnlBxJHcU$HQ`+edEjGVcx^SuKN@*MCk_9 zUhcUuO(9D5&jF_ceWg|N@%X5>rA3MD(|+Be4*G23QG1VODaoGh=*>3qscQ$?8E}XEeK17Q z*wQIhFlAu_lIy9!ZSsDR(E2AWqWP`GHl zjs;8(#=)Cxm+Fxn`RctW$SQw-l3wpV8Gm%!ytOAz6Z z)_tyzIEJ6@BY(d3eEMEj*}`8`7?0<`Km2>2LE58&-e;8x*`JzT#?|1;Ju%M@J()6j z5q410CY(z!_+o#+;Y3$>|M#B3wxSlv$GX1(ux}S?6^%y`-h$pP?PG<@MipB$E%$El z7`?x8(+!W*`VsAV&YJ6YFXzo~mc+jzWIBgNf)WZjOO*|JXTs-r`bFUy1@-YFl;fN- zi4Rj7K6Hf85-*8DXZmWQ4!g3*Ql~~LQE@p;D7pBQS9D!Qz9br^TJJPV@CIvIAlEL{ zF?3^uf!5_pJS;x0--;gRMh!294WF#8+$%F7G9Zh_uT(YT3Xv(i=61zB!7+79XNJmS zk6oLDcZj!J>c?r4Zn$%C+QcKrX8)&0xYMmtze;iS0V1u=2Uf<11Yb6AuYT1o25!&p zsY-d?TmIo*Ko;^Ch;#N(pLB}Dird#5S&FpcF4axZxA)p=!Um}s+Xr8lxFnTVa=de8 zDGkhC+Wr`6Kqxgy@0JtGJ-*oe_{tGwQkYF>e5j50vwU8ksBZ`9N56fFYgbNEXkr^@ z_zgUR4)f_pZSrJ%ncS}He-n0magSXv$c!x{CNWfE)BvJV=laJtUv%sKcEk0s@JlsS z5VvB5y*nrO%c{S24!flOuKzd)EIA}!DVXg59e+}CVxCsVHEgQ~ka|2;c)}~&>zZ~| zr05YX%lHWX7ri5b6C$8E;7cU)8a!{wip-=tqgYNu04gT3qt-wF%&7Wl=jh0cq&=^v0zM@_5RVkQTGlw(iR=V=5)r_k{ z1Y^JUXOtzkb^S}`UO?U{bT7s>_E4fKepymX)+t)PkYsRokiJxljYxQ+>_|HB=0gDG z=N1mJ9V`*HXwD4U)PziZrR^S=j`x2%U7^~Cb$T zUC`yCOLdyk=jO~qWvknQTRjbg90KEsa%HMsl+TLZkF|^x8TkgAsP*-gM6anoid84Kfgon?E*>)SkaovJ>=pDElThU4UKAKsx8oW4P)>PLHvN3}+GdB1EymUMP8 zCEIH8;OmckW{-&(!YhWCYCp9nD+Mb!gmWtL_*2PfX8Ugu)&qZ zd7Y1u%Q=6R3tVWK|s#Q`W7iWN%$^k4{pi?v~x3IG|H0uEqnW7R_5PHHRnxHs=Qn7hu5wY@q-gb5UR_Fcd-r#m5xk03m>hJ%kQSkNJ@U1K8{y zxHteeragBs6YvBA1>*p4$P^|Bn5#u#TLdHFC@{dszz^j^U=xb4QNiVhJ_SSwIWYH$g79P7L;%td78rn(0r0>=I4CF>FoR%2i3tjj4nUCP zXORT}3V;9sfwd#CH$#byDjYjd*g^OWV3Vu>U>dMK5_`k}ICBSVAecdgfp7ruE@n(H zGXjXkCY=EoQS9)uk%EIEJeYuk5ZI(dx)hj8!L;HHhhSU9L{Saf6#&AFuFzSU77zd@ z1i>T`AV3y+3v(RA1EvIFVgQ99kzfQpGywt|g3YNfF2KkxU?F57 zBrYf-zyabSbi*cMbThNH!Ty6S8&@zV;Y0T`4Gp*517}N%2dQO JP)gH$0st$$#VqaosE_H5eZf|#PE-@}KE-)^4VRLN& z)LUJQT<2N-{?5U&VJ`mgeyR#7j;CDqMS&!J2Jt!=mp}&Hpw>eY~p0s zTPFo)XC)$(3tuF{7Z&n`5s?}sSNOt!B}}sm7ICGda>1w(a@$Y>vZz66Ng;sS@ILSN zotZPUGx4T>f^}xjdB4B&eb4*&e(cf5#L*K^Ng;&%y0k}Bw=0h5 zF23njc8^F;)2-=pyTpCabp*E&9d>;Kk6k$;#F0j~`a|o=itv+orRVvoR`{D|;QRR_ z@_G95GgmN&)^jsguukMxMpd8p&tj6%`f{gq2bE3MFXc7#dMKfrWE6n{lj_=D(2dl#W#hidKpx z4KymEEx1*crUvfD^AxRvFYMoh+63|$dH?-^mSQSwkbIP@t7{^OE~&}zsrjd#Ui!Qe z*|FotmJdJU^+T+yEhpxe4=)`(zHsdL~GST$LEh9eu}0& z{iyhRHC=05ns==~P;<3b>~{I-!zY%HKDu!DnWv8($8P^wPu7Nfc4>ZIT-S}`Qj{{; z`(N^F`XBZG=sWt6JNhO4Dt}(qf26;rzoOsO|Em9u?!KkIukPp<^vmk1zOH`bJNhP# z|Azjm`lkL9{abI!JNoPTs{R}GJ^fwk_;>v+{df9p{Z;)tY93v8^grq5jem%~ufOs0 zYFF2+{ER5iHx~;1F`*vZ_|Iz99o5c#^5a?*bC2vZd>a?`kxb&QRpgIk%FfyRR8iQu z&t#hJ?PoG$a)vtHOO-nDfg<|+FefvR(|oXZ1GU{)aRdn=r4bN{gzpIX!Q@?Jby`@!jgqq&nE%h zdJ&i6*9bXnW$RN|3a# z=r7QpZw-%Y?Id~+p_>EGJ8_4;&&$?-G9+fNI@h!Y18(Uern~syY!Q}w4rW_zNK7t8 z9;Q)Z!%{BhDK7iXgK3C{mBl=BD}t?fd>&{zrEOTbM~R|k1G;pIW~XTEC6>$5bc)0# z=$oVB07+XBn^`Cn}4w; z%3b9hy0rdQiKIOJC2H7RUiebgaOF!p;;ml8`88_TTfVhcHN5p2HQZmmR5jStbn%$w zLb~(O^K67|M-|L&>vUAVV`(GoShkk}+er3hg7EpdgPEUCgj()ERM0LvIpL>m$k-F| zrvq9zwDckDW%=<#*(4oTE$31_2tbJoU1~Vh>Fo!539WQ|W~zCBR%p`vU|%Lvl_X`C zL`BZ#L1F_t4WToRohCI2iAJ|W(&6NYc0?@Ki;S{vL(FpdkjUp!4L;wYVbNmVtXi4J z@{>wD)LgN1rwZ0*W^QQ1s+r`z*AtKJNyqfyHlL#bE%3aFqc_2Dm5?G3ev@evJKIy< z{1@Wc_ayNwFb|I17_H$~4CvfNKuaZd?hAzkql{-1-4K&3Gs)l~CUFV^yR?TaOkuzp z35_6V&AyB@XakPTK^&o;eJq>{0*mLt$zvRCo4Z zWdk(?ZNdgS-bel-9tO}10SL3=0OZZq0POXQ2hdnE2EZ{r>6o5z0Lozie>gE@mk`4d z;gm6;Q{L3Xedyx4>A0m~=3fdr-dXfadbC$v3|&`A{v_Y(ObpxTOW}s$wDOI}b(M;S zZ>tS|D;hQY{n&Mtnuc#jxB%}0+qj4N$h1dx$~lpTnS-Z;PQHV#7sF0|4_$9WoqVT% zN(yHDU;^z1AvAOzXtI0 z=ML=z&K=$rP%{juXBi#UZW{zNbb!WfTD=G8_P$3*OS6=xuy|YWAzWhi4y><3cK-c&)DNh z)|~K+Z3`c^AB5+Y5mulIgsRX7PwQc7?uuzl0WD$r;Yv?yZw^y0K@%I4J{wm0i62$z zT~IGKq4?W-ich#o#;he+8y`j%JGP=uXW{RA{5SvmLrl!Osx;O@0cu)ErJH!+16G=Y%~dvBXs8zUGrJHVjSF=*5ILD0(&f_i?C!pUooPTJ28 zDu!vBGEOa<;?rl(-7|w|ATtOKkiieeDTT4qpQZqWT975oA`-z3o4N;4VPI+KsSc;gx5x&B z70wvi$$>0+uY@trC4tY`Y~s0p0J=OT2P;)On@XpLL+p5fO6##?IYs|oeXWWt(;qD~ z5Bs5cm72P=)b`TSq=?vNBnZrty9MU`%w{++-$Z8f(+JGNA5UPOxR@rX=QBwkxTKyc zQdW~W^OYgr%l_XdH_4AD$IdEa2jiIa!OH+%2JkYj!cpc>%O0=)k~H$R1pgU0=ejOh}i z$|c?wMx~)0mYYfs=Q5ibq;=fYQq&&0}}3D^)x6iVrkpxRZk~e^%SG1ePY2EMtg$^>ZNK(X1<>b0k}^F$le^X@BgzrChAsch|-QHWb`HNp`TC zsQiJm0p8Q}On{FyKk3x8bBiM zBVofY=5qu`!@*$(;E3yR1RaJOkk|?mS3N}CpH6G-+-i~6;II%}4@JMzx6-4=K>#hN zA;7ECbUr;Fjzl}5Ub?>^xeyz20!R^T$b3Z=BW<_@DWAq=KQ}hgIB}_42FjfkdPIVm zN6xka#u*MMIz>wG%EeBxbvTyYMw{-%vZiO7bC{;0 z$@TN7S3keCHdH@Fu8Rwx z_tb`uZ~>BqD!{wN9B%76Ir>?;zDL;tWuN6)Qs~`oDi=uabyk96l%8kVL;K5Ta6KF3 zTb)J8x6zrVStzH6YL=lZ)Nx`s?dla4;K8eP?grloX~8Pe1y2jfw_dprIaSbexTf!c}ezWu4dmRS=)WBq{$|()iZHT z+jOr8qgqL&NjsTrqd3$n`!(^FFve>`ikOG3TnH-{4wU`E%H+`Ls#+Lq_r0}>O0!o{ z340Zlrn5LR5LE+FEn_;Gf$WB4cIi`r8+vdxM*xbk-L(m9-J6(()dz_`WY70!83m{* zf=r?oI0VgV;FC~9u9y|p3$7bEFxlq-iFcg?t&JR*8s@;34IF5-DL}7tV9PiTOnwv& z+_O0jO!YWGDS=r+;$Z9yK2`bEj4Hp*4whf*90ePp-#KY~rm<9bj`;fCtL405~2f z$JPKQGyKy9I0nG+Kv^~(39!o{AXn*ciUULCsm&K>-R}T;@kBf#o-pI$ ziKtdh*jzmE6DlV3;|YFmsmp8YKAuRk;Zj%wuNBuT>ch%pKjBb>b}|jFlR&00%!7rb z0jlPv6X&KA$FKweU~)HxT^w0Mi|al8g9f8n7K~+CFqUP(W<$VaJnq3qz&)vA^@}5l zXG!9MHp==#JMbsF2;*n&AmyctZC&f<@^AxkxD(86jeFN^2}4O>JPG z(rUc5LzRfDKSdmmGc zu0%cEU2sCSFT-1iU?JBEJ|rkt zRhuv>Q9Xgu90XuN8Pe?d~HuJ-2_BB5ciNu|3MrPAGT?+Atrq1G*=WN#=6`y3m=R6(~EQ#lVho#s?c1Ovb<5 zeX=x*9nvg*?txi!%;x+v7gtS;(=mY$_5^{7Ye&V-R#nq!owpOfsc5yF~a{+&+E!3En zqpu|=0c5X)6+l3u1x_U>FS(6AoM~4#1dzwLc!3U%A@GKhNIXGS>#{%#Muy@R<2JLacPN}l0NAK(m0YKx-R+<4;Q0g>nGdIz zj?6TpQ$a+iV=)FE!$c1q7$RtM8+!sX6apn>$@ZiofukvjST3LjW?=~rSYCXBPQ)y$ zBtZ5hKyE?;gqHxAPRDgr*&w|vSlCwJn9t&1@hY>DfI=~Io?CPe&qaB~b>xOrw326C zlIbJ~UM|!kM8!SY;$egi^NIGE;Go!LjJmwrtZ)}HL$RyN<(i)W7wtB|+d*6;@SCR{ zK(pGN~iDvDd--l>7ko#ca(Cq(NYoI=|HQ*og^{jy$ zZw*u}mh9m|>PUfNdASeM!<=~NGW!?3Q>sJ z7VtgSRk54$8g_E6Qf9~FgR|7bJ6P*$d3lB;JQp1NIM7)bim0&YBZq|pr3*sG5yi*@`yWaCY zh})icuTHF9TX!uW?z~ zl{#?|#4Db-4B~<(F4TM0KwR>~rTVaIAg*}gN`2UM5LZ2MwLa`E5N~+mjry>+LEP}f zjry=#AZ~i%W_{SZAl~uBJN04jgShR9+x20qkl*(_@m_t{i|D!Ii96S7!(Kwq3t#rk zst-F0;vz|_^%Rq6dKxy6HsOAak%?0eDzbv^zGy*z2d{h4+apl=3{ zD|)NKzZJ`kHzq!tV@tyJ)0+`46S=h`w|3;$CI?s9A@yKohZM}AGe^k7l*?pjsT|HV z8G(rzgrPA6gQ>yL7y$zvKPr!4IV>i;UumQMi~nJXxA<{#f=$At)hW+8@_t^qdB2MP zm$<7Bk?Xqd@80{~%fW@zWdHS_uO;OJ)hUN5PRrPUzVDZDL>L=vFoKA1@mC^6G0|i z{=!Z&me>UaSFb27^#6lNHUr>w209ANLTSXx(Z>zx{AUf zs#sUSNujN8epp#|OItE~v@HZ@+pSzlJ8ttfW| znU;Y=z^qWX%KG+~PT#hXauX9pwM`U=R~9GKBAiVv#Mv6jk85%^HoRfZHXY73t2x_b z#);`NPRvI%PBJS5Zrr%Ji3SOOHmnPhr*v5zO#Drdb_Dg1SgDVT;rAFdp5p4Ex4mY( z(>aWM&fz2*W+z9vIvwh3ydKrh!%^d>S3Pt)qr^QE|3u;4ewrKoe2r#Mh<{~jSi$F1 zGhT-1K%SojN_Y(I&af@|Ikgh6t|2#@Gioo}Lw9V^BlL6a=n@tYVtlJdVw1NgpQq_% z#_F7EBK;~l9sfw-`@M90DBwzn{tT#aI+KjwTPN_~Q92hQ3}bv35qXhNz*40CR5N}< zqv@P_>D%M_SuRq#ZG<_DxBcJ>eE**D-Ol*FjBJhg8t}c4$5+1$dc9A~*OTGAYFXF9 zi0x|`O5E_Wm`YyPLj0anG_;4m&a1j1j6t86e!{vb3EO7A%%~FHYKG--O$0m0?JAcu z(&;mMLh201kui%b>_IP9}2X6Dk*jJ-^0A5jS9tD$si(XXX#5kd36ECPw zkp@witp^dlp;~}IqDH`gL0?xQSg>c&TB_@lsEB%0Hi^u~@L%GN}L*GUML_@A|n8nZ1fd4TpSbK=>i zLx6Ff8Le(SaaLrU#|+a0+GpL;o>ae9G~HTe#2@S6J0|$v_wiV<Oml zHES?S4sk>uN1L|f5FZs{-Hie~AYKq@nCKNEuLqbcDU8#@ay4CEEe;Pu)wrO@hNIt? z*)l7V>bYQ~9eN-AaURO%rb96Gh!YP3B-j2~sR$c^4v8b#h=iLH3CHRz4XoXR5}2tX zyW@iDh)sk@ZkP9aKFy8Qv-ZX+I=I1YaX?WxAm|=%na-x7Tkze&WqZgzEoPirTuY>_ zKDO3C?*DK;1uOUxB9hp#ClFp@e!K3i;HkrPv!q0Q6`nf7JXIi`I%cHZ@zje-)Lr2z z;ZtU#$Z?GW>!2Y6!*G?sC(1X4F7e*IJgXKEou8-9Z3w}wR8uVGf^1}S+xY5RD#Ge^ z$6(t=k*OD6S#RQ5e@0J}srR1dk`yG-f!&E8H5FqgvSYU zBr1SZjWetXw<}rzVzQ9g7x7CwiRViup-lJR#71Mc&D>Lxkqlz^LH?6 zW{=j*vPP8-PC!BSFL;#EMDO6Fis}wL(pZHZlkjd=Y-9`Z&s8#b`UoL3*x0zxxZxdb zWFXZ{Z39iH*YL$1&CMQ4GBzAb25DgGedB-r`&aM&^tBr^t)qD~YJ=2&5T?g^yS|~0 zuXwo^F<4`J;TG#{+R72}8x4M=Hbf9-TXvAXN3nG3*`d>^c@hqv%8`TV(4mAT^mk?l z$5n+{3d9p}Gk#5@L?LRr>~jU8;;$=^tUTe=OtJfF8Is#VOp1*0r$VToM~BfmdFTuKq~6-9=<-b-AY>(`jUIDr6%l7UAb z!`h5b0CrQ-W6eP#Sr7kfVwmN7dIN{T4K*>m)gws{W~WcV>^ymz>QA(!@iVi~hd4o2 z^0efYIra*0W(kY27fEn`Ma%y0W={-60A)xY`7Z3CkySw)JN|t_?=ZF)A_p}csX(d- zgsRxl#?g~@wBaqbs8))UB_*3=nM_LJ5l@aWYPg#uG{$8#kh2xPlpEdl5<>)N?sTFK z$Yem$7=Keh7BT&S3a1B$YlV=rPZ;<<+81lh*?FUk4TVWQd@lLr4;*HOiK5^sWeYgt zuPa{j7P3)q&odat_kbZCM{NW}DQWn1cKSoFdB@07#^(*oFBr^R33#1xBmCjs8q9Df zyrJZ>G&+%=`aD;FO(nh^Jk1$q&7|NYX^|~TmZZLur0mhdq2v4!fiq}0>GY)AZY&L7 z)=kcPzE1u7S!}^H1sB9W%LY=WvvqG&R2B?NMRIukpd=iEz%J8oZ<6m>f8i?Xv({ zrrT4`x0!niV9q$v^rA{a*Zxa%BfT<=|5gd;^Ga4Gu5-;Oa6laA6b?e;p{8cDDb?0H zUeWRQG3ffb;d6r)_Nqq0E?n*AvpT}9M34_;wcO*ut;HgUFQ`B|dcdlXkMwjoP%rXg z*-$3LlGDG5i>em6OLeUm^E-B8Hv0f44#H!=;b zU?OA#yp(LT8&94bm(y2o^{!@_yaM98INgPG45CDGxyZ8KVF4O5O+OTkflSsx-YNI4{n2x;oMacE~EQO8G78LfGRg^v@Z{f_hg)EyP? zVaRxkeuw!k-A35`QvSROOs@fxYlOq&s2)qt(Cp&)54G*XZac?%S)c65^SKjq<2ddM z;JtN<##jQE&+~K$K>Q13LkL{#4{Spb@uWjTtA4jnmuA-^d@`0*dC#t0(;ancy36gF z?hrNIp^aL!#UfO7N4AWr?vOy8$IE5ji9%j*fIibn8A1`d_M`B7g`G<@6C7&T z6b*ZvKvP2oY{_%)pOW`+*Za9SA16d%A^3HD(q|$9w!4JTuAz0yOeF;!{uH~)Xh<3engPIcr+;=C;F5ZFlpSvQl_ry zsaez`rkA}#>ABNEGrbi5L88)s^pLr%=-{V^h1ZunK0(S2^O#sg>B*QaF6~CXc zW&HHn;h7fkNSJjCXA*v4TV#h+T`SgU2D$n+1J~kdmrw~`8)+ycgwoK981-J|H4mm= zJaRT!cbvu|BX^JxuK*|mcOcQ^#;geJitU?8Dr*d|fyVEfAr%xrY8A$uEGw0M%Zu`%|x_HTZh!57K z`QMr-_rOi``j79WrnHpu6N=O)5<_|mzmW!OhNCb{3n?xmn>+ijzUx6i_z~~fU;Z|r zr#gk(>{`+FdYg>oqI5}nIi0iT!K5%8^|WiJuU_n`oxXOlt9JVO#je`v3zxcTr(bM0 zJo_d!+>z>a{M`e8kw zwt}k>=uqn?-XEfMZ`lp4WW#ha1UgsHtK6wA?fj2(b<7i7yHZ8k9||TCluV5^lb)>} z5)vwWFclBct~+aq|6&`ql4w82CkwmUMH3A=2N8h*Gu3d>X%&T&d`(B#=$)Z0M~e-x z21N|6(4s^j;pfV6*-q#u1j=-bbmzjOaX_ZW*UbjtJA--giuT!lkfOSev<3PE2Th-?f|?OcmtGt| zGN~`uADy_ARjm-8q|aSymt7HV(SB=StAiNCHPr(o38{4&*i7#m<~$0|CE7;~jn|PK zYD~BG4@-MSByd*RT={`^Z^f4Y3!e| z<&|UU{8*Ar-$Nx?pejJ&eSu>-i-OVmHySW=l`MBjK=}EuR ztQe&gd;92kW0$bTD(D^Uy@=e9F`VQ&?u7=Il8{9-Okkzc%}PO)=pPR`_?tZh;tTZG zZ(w77-qUoJ&oiU(MPg>N8B3x@Z>ur<$RwV|=|q7fe}w3#r)dqsukx)&WX02FJe``U zbosoTmGQqQd@&e5n~kN@iod1D@+)8ZFFm;TB#gA^G^D{R;FgB>RlcZ0Po-A@ z=Ce?LFul7B z1(e?C^cDR8a>`S+oA-*6f+R8=(rtVN83EF1{{$z#{|IxWrNw1aetd5RZ|?8|+3jSC zA(h#P#?a#FeOhDj3!#xhhq0!fwVKV2d%ST1;6F(CXs*-H6T`@#+6EmNxn=ziNgY}? zbeQ<@=dyus^gY1mfPXL>7$S&oTGHv$xNpbEcDJ|Z0p3&Q8g!_;+C(uD zspABUya*>(gkNlw1E^1n+>TC(#6mnFUC<_7fl1ex<-6P+=?Zf7P9&G6G5O@4cQgtK zxfUDM*{Dg4R+2HeH5r2sBV+GP$r!9fMub|0h$!2&0f<<*DG>`o#KNtJs1b3b&%uC( zOD~ZP7UJ$nsHNtSGT#CAf!D;fFVaT3648bTQVu)frI>D*I%~`Gr+<*Flr#pP{q(gP zAHX;KyJQqJ{^7Yl(GP<#jZ4pb&;3PhZ@m4N-}l2qfZhbOtBTrktB=M4HBOO{3DZ zE!T9P_>i(_3>meDYtFiz5|7SPh_K+g{5|3q+AV&P-;tl~62J+wFb%7k5{i+aPOX%w zqWp`^Z-{r;&tUi_dB8GKMfo)Qo7oit2j3$52F6Grq zpanfHIL{`WqpZZhrxCwv_-0o=DA}1D%Z<7NNhMxZNtL54)it6l{UA&(%CgS(AA@Ck z3-gs;WVVB=*yN*q zlStQWJJKaia$VdY)wU!3uK;*rH%JhID+-n}1+x&0s>cD_}O zetX6HSqquTOWD-KgI;2-98(`@yTu<9uQ>PIv?ALgNZ;v1B3LA_r<|$Z_K!zf^qi7E z$K`IgZJ3M*IJJdO{{W{9OFrl6qxJl@lDp_f^$BDK@_l0B*X%*#oJubrV{bb=irm0= zMl*!;t-MSz64)srrWgN_b6qZHSEumO&sKCSIBeL z$&)imAaatvyW}m)nkVEOn=_YSE9~IAdlY-7am$~J$HkJ0u5p(Us~rW}7|!Wyz{>BN zEqvf1vB1Q?P>#^?GsgY#y|yb>5*+5r+L!AMEUC6S|yYsgw4RjV&WEbV*_K7?zYBXqU3>N$M1* z<_y7_7+R641Dds;kugL6l4rQYFv1Hen}KSNa<3w0OG{G-+CDkSS7%D;1rMhRb%hf0 z3cyvGo0V5r0KXp3>pRbP;rTB35bsx>1AD*nvjQTvR|$dds_x;zb2OVNls0`}ju0Y~ zeD4E4VV+M;PC^UO0Ko((NwQM+gu4jBkaHQ&B|+fNyAXi=v>8WuWBj-+G-%MHjnU)t z_;c?4;?c$sx6aL7?>pKk9iPXG(t>NCzlRp2AKFJ3_;dPed|`fmoEP1x~$54QK6e?jQbRVp%=BMre#Xtem2YhUaLKr490gi)%4e#&+PX zboT4+CWw#ESA~zvSF>M7dGq9_z*@oDtc8`85;I~h)nP8xW-i6dMIHFoS-#^H6zN)~ zZ)VGsUmx^7ON-*xDYz}x^#7k(^YohY{s`>p-v)ak^(}q0N#;N9^BJ1pyalKocdnoU z7P|%;C=#rWwXst7dp#(l%r8osf&K*eD??NZG%u)o0rf7UcNywy9VTKri08r1^9Y_t znxme##mjcuR?invFIHUIF2lp7n8~WDEKZ^Y5fzyLv!q(~)uFkgm{SgDuxVkM9uITI3QGDNf?6Uv9NqEZNoikem{6rtrR zx1v%F7A;o1qN3szEh@Iu+Ll{wiN{~ZOwTm^7%ak?Z zCSe6edu9bi+Y#d&O!J|jgQ7KMP-~>4!`%w>5M|6us4*}2_#BAVKsAn3-D8iBJ|j2bv%Ui zsQ4*Fc^~-&(f2ew#gqs6SuK+NtqXdY?ZH{7Jn?+(1ydPhp?2e``UorYsDcEYwMrKy zCcP2M1SP%UIl8+ClD{>DMlBSM#?=XHK6Tbt^0hLz_;dJrxgz+<;KR+s8+rFU)i=1_s!s>{Cu zMjhTZ)NoIddNJU8C2zP=CIk3Ywn1{;xoQ~Z{2Dr=rkJh9QyFg2Q@xr6&!~XJ9}apz z;tzHXbm5c3gTW_1vFgKaXtJmkpXAFro&(n$4E%bug1$aofzb!mEl&n{{UqyeXxxM> z34d9)>2$mktaZ5=3A^=;B3-MtdDv5$W1qkB-5-7E?%)03=Yt)2bL`#^eCFRD``J(a zdhL!@^Rgbpi3Q-}v)?>+CoQz{C*8fH)fmfmk3D|Lu3e8Dap@S$Zo9r;-wBVuJM<6^ z-FOpl=3z7BYPs z(qwJCjm}Txp6E)d(B!d46L8;rviKpmItrr)S$Vq5rP?3^VyiaN$3Csm{TP^l<#w_h zRDG-EM*5JEYF*pEUgeXG+|z~SVeQgTAFBnwH=G^OtATWA<^%b>TsG#pbe+s4N#;s4 zyD=8z^DdSWHJH9z&AfldNI$zlI%n`SD%(v(O_7U=zEM~-P#02yosSMQ=yp60J|cF5 zNT0u2K3YO9!dH>Z7&(^4@x{{DQfPSSFf-t>;;^X<4G-%N%DqExBhyUBGy^ zvWKB#wD+t-@!Ik7MU>58#^dSzwu8%<(acF^1!f)f2jV8SQHaJ=?EB=tAp0pWD+tr6 zx5pbd1%cPF#iui zw?wshn^7O$O8hys__rY2M)wvCgeXAd-0OIneWdo*HvuFg7dZKheT8|F$M!mqI3I=2>lSB3Qd7}ozWK; z7kB)D)bc;!Obm|6{WF=cQvk*E_*L%OsMuS*_9}m^ao66a*Y?+8 zSP8L&yRq_MXRKUiw8^_mz!R z>;I&9r0oBP1HJ$TUQD%OSMBB&Gf2xwfNc=zX+Wk!_kV~$s<_hk4?3;E6ubVQxAQmX zlbj{>Aof8@eMdXK=IyY%%O1GOUCj@Aw@=*$>Gw9Hd?dGOLS}Y}J}W-nSoD*-$QhK7 zkJ8ZePRdv;L%T9=id>JKUD2vxc_3vOe}GGz#wxW|Q17MBIOgMQqimtg1aAK}H>I!@ zT`fq8SA*|)XpKyKQpr^DubHBqs}ghz74SX(s;J@9(@y|IME1zS*$h z22JY6)dSUWm2z0c<&b>D4Xa2|C1^N?IvHVby|my_e?9d2esTcT$8&Tq$P*K_lk_iE z(NzY|t!9L=itbG8UC9(WKUojwP1h8owAYTek_Ada6i?Aqf0TT6L-G=c#DEXWU}qqw zwq{{FsL4!T?A;fvYGt~H#@h)4sIO|xL-fk3$yUTf7`q_V03bIkqRs#TInglo1_%+7 zE0gW5f$@<>gFH#~6=dm+u!`qN%aDj9$_Fq-*Yim8esSrl=LkTa4=B-VT}gxP2$ zbR4W`#R}%0+0mwt3UeNS1D2s+QQknEeO-0-p-xoTW@5Lqd~I|vHpUC(h$h@$IxSQ{ zdMl(W_&SRmKsA*Mq#s)VggGTPDXx;U^XO$Q5ABA4MPbq(f@e#%c3EA)LpSciX;dpm ze9isx0xWi>x9OdnU8G-wPlnp%KApN*XP*wU)bEF2$?vMEzv}^>Y_-+KJA4MFkM3K^ z>pfB)RWFbmG|L!rseN8GpgeLrsHxF_$}O*U`LG+TwS0gKmUVZemSaS^(X`63px4(j zeL<}m#`>z{GKFte-&QL-5(%BkH^zr-HF5Ac4UZX0VDqUK#Sgo$LWK>Zro@b5P4ee*xxk>W6+=KlXiw-llc_*Q2IzUKM+&putpCx zDv#BuJXQlYG5T1wyx|9hK33NCSSBCvFP70i`f&cuH##GthA&xdBhtjZ2&9m@gK?Q= z8t>?{*5%Es+E7Q;qPIZpdwCfhpVNjqI~7&#n5br@tMYUYYO`>3RJLRtiIsIkgm73F zL%r?s+K5F;EwQkx5mjy?bI?>yNu$GFl#+lW`DpJLgl1*h=30D0X-!ihotdTUrl&0rpWurp`pw<*`3^2Nb96|s`qaw zbBqXcd+R2i24_RyIU7OF0n){h=48Aday9qWsA>DzY?PL;|BYW8^8bW z-2eA-|KCglDVbKaYRfc0WVt4^kXE%9%JTV{=~MfGH3HXQrZKXE1u}}(7?ktveL?Zy zNA_V?!DsRigRV4B0J#|}u?#^%Lmm5PZdSvhCO<@qS|-4t6-dc#6&hsOjHN&|!!*;- zN6%5Dh3qY~yIkB>(9P=MmV!oG$!cUqfO4=Lp#e~m$a$H%NEI0o=hsv4erp#&4ete zg~D);4y;@xtxBdQdFcgArVAX=)FeS`vUw=nO^*Z%y#+R5Zq9D9O~75AGD$mVgnd7o^)SU2Mn2z&kU1N#&o zTZ9U3CEW4^yTnCsfY36g+(!ZvBIz)}#{`;@r-R%EC)kxFq9vgwa^{X|%fiKF8;Op%NwV>F;iwI z#e>rB>|dDhDSIdkh|pjrj41nt+eP|$ze}o+DEm8^sy7g_9u}+8U5Iq>?^Jb8ntfa|~-d^j%E@Ta4bF**oIfpc*8e4Ei%kmwZ;Tp#sR1DO` z%(@Bw^fog-7bhugQr2c{*C<)=SQ|({Zw<4X9D_#&Nq=ZF3CBk%guDHkgFjI6fTmFH z!)OUbko$UfzEj*29SS{Jy3+xJZIRLRim5eb`Vswr5D~xw3U?;8u?3dY`Ug6R)8kNf zzZETH#9_uUDZ%<*n<#=6%pXqh9&Z(MwE*s^#dlEK-9ai}ijdlWcYx&JvK@r8DAW-7 z&}r*p$U@2pR;&wA`GijV%9HG8U@D3l@bXqcA=0O` zK^Xr!VtEa%dD+(udxYcL=JRf7r4y~X2;X^qd|PfOWPtZut-TKSPgCj_y)iAGzrB?* z0CSWw(nTV4O|)rwLYAt>F`SC?MwscNI8W}4yc$+BWHe;CgU(pbQ_ZuEJ=B%vjBIq; zyAq2SrF&5Z3pj+zo8rMPYV)SGUJ%2eMZmgcT&ioZ~{)%Utzd$1q>$Dibb>-);Xx8~F?w!9PoxiU9uQY$v_CJ5s z%K7Vma{h|S`HOKYmHDe#nZNq{{H5@%S>~&F&iRU<_L#gBI$uSl-W1O@Up4nTU+FB{ zig~N($<0^luk4zyVjBB9^OfT1yXLFN%~w&^d=Jc5`Qz zcjo6B$nT!a{Pbx0A38rRdRpeETmOG@e)?$7{IqCuyD~e;Ua<(-%AfJMXwiS|xv0<2 zMbcvo6RONbAAP3hqIGUATGu@n^*zIL5r#^`4UcDh=2`dTW}f$^cAgsJt8T=>&G5sJ z$gdxs!@jB;Q4~dw)Ipk#u-G%Ysx_cqM1-dlgInM|%F|Vtrt#66Zk? zz(+tnF%6f}{KxR(WNdEfu3>0vxZ8b$6~AFz`V9xE*VRfF9QK<&-w|0AI`^Q8)9m&W zc3&A)TX)da%;6X8u9|+q-L~TjbhXhHn9bq}gyT;KT%0%P3QXORI3FlofvI-|a$*87 zqI3nu4vprY$I`jQsiN$0jY5U@OJgJx1aAbbL)q)K0zxLPLMC${9#OboU1C<9X`G!8 zQ`c8R)0wmOe)Wvi=qKy=_UhiZSBGz}bXAtVy-ZZE%~51$u8&yC2j8_XC|+7Tc-_7r`+cQvfpiD=4&zhjYq)E=7&d7~ zvxtyyLx#x@TV=FW_1;$HGg_5a zTb1{;Dm_rE>icgMgTx2b6^PG0Psc0VO^w@9n@%S?t5l3i!Prj<#{Md|q5-tqf=o~u z7L`u1-_t1?=tLJ_5$Ok=qRgqot^Nv~BF|r>=d+&kq*G*p9a5U`)0_mQuDs79rbU47S1AF!BdFw!ueArodg&;9^1Xp)dOb_sFSYq`2+N`(X-< zl_`)n^Gt!saHF&KU|9#=@J`r+?`)Y@GT|@@0~!!V$L|DoTgnio1|f%G7bLsQlPy?F z;Y4IY$GmSd5;~IGuTQ=b>I``kuuS>1ltzGZTLOZ*1O#LE8ReT=Ac^TfJA{~m zLoOYeN01U2fyffT+Y>Vx$@wfF;C-PTJoaTzP**Jzvvu=!bT?CqUwLm?T;2KqSo1*k zs}j|9Kma2P^;?qc=i%Wh(bm~w=~~JmO&4rQpRv)ze-P%V6M!HAQ3`3XXn8-G{X#Xm zh2tX;z4mDp*$)Onx+fSI0X2hh0*H2?nd5OLoF;!#Q`I|&MG+jwwY&joIN?oOp=KPd zX)bJrP{i7fY8-)e)MSyG3K}FG1S5HEyukntlsjexQ_8|M?lJk%($d@xYe0iRi%ReX zgr$bSxHt=4Mj>;f0Z6EWAUkK>74bW`l&D*8HMP42N0*Vof!U-$XGmYX#?Jq)2easfRN zxUi(p$6X#qG_H8)W*1~(m--MM=l*9n6oyT-RwH{fiL9YIhYwhnth`R$4nZy^3L?+7 z(Qpa_$Qez8YvoUItAEB|W+$Zdrl-vIo{qO_Xs^tS$r_>#b}^q)0%EEwu{Tnqcn%f4 z5?zF%cDm5_52nK4@N#0}i>)imS0}nCA|gVgkmMVwGx*0*($}@WmEBtVTW0*ta7odZ z2}r=oRy<4umIwsHBSf9!OH!speOQJQLAf61tZ?-5;f5*)^0d&)4rSV5k;(Dm1mn4(b#CJxb?JrFqeXSjAZDdcD{*pNi~#dHOFCVB3BX+S_M+V*TIa*<9Yu&S=Qtkfaj?- z=z{oFXC#{Ok$)^8`ECr6<+qMJBLB3usufYOg8iihwgn2&zvA=*m7| zcuEf`h`UiVeDUo|Wfcsw+el`E z1K-7g2nYH(^261%M$zI%vNII=e(zO3ED!WscaLrDT-9+lqQS@GMv`I!DKER(KVY(h68P3 zSRXNgg{XL)5>O>md3};4tuINWR-H&KlqXUPf^c(63x;jA$Cq%e(80Cp3fD>;TnjUA z)NatT6OOkvh(gY+aOvMeMXIsgv9w#NJZsgY{Jmfm!Fei9%(#ndAzJPp3oVF_exkmG%rAdue}oP_YAXu4&a4Jpf(hF7}n zLL}!Ji$$ySunWeKBReKk@+y?7A!JllD{}C?HU+ZEj;-#5<<1C&ZDfZ}R`_UY+SAmt zAZM#3J!}EvMCBtGs#o)?g^;MypJM!u4)Vf`&$9t&gd;UmD_+HHck&{(NO}v&li*u* zBn7}ZC-@m;5_=6rhKYejL^*qi4JhoJfd(T)HPLiV{k(aIh#oR@**kVx>Bsq|4li%j zT@7y_EnC$XVB+dQR^{5G70!90@qPX3DE`Q#)s`32k}{%Au3}G$I3xYLir+t8r&6Rt z|fhhLm?IkeXCvfB{`oyVHrI2s9* zQZ*^|8U7(YE}WpuYp3`@M8#twaMko9P==tKM3*CV()y{k=saf@HssoNz(luC79w?| z6Yv2??fslg_jj^6=Sk-G&OioI*Y6~OOq{q5gEfA8@%SZ=)h0kkjNi7bfYIh60|g{L z9UA_p{nNApB^}Zmna+(`jEG+j?qr=NW-CNmT=x0lI?D&HOwcKl8<{1IHfuh}r)Fst zS^e16)P&_tM2tvwlZ{o@KR3}RlO|!vrW}2yIxbChT$wB5-`q&7hvT;)*);T#E}FD#8}d&#hAVL!bK_S2U#V^-K<8Eq-_8uJoB z{a7Az$9WqUkAYDRONWD_~g)f`nP`&?CqKw+?2pr1w(1V|%!pcMY0zLK!j@9(o zE~Ce;yhD!7bH}V6y9>vL<=8;a%edH&D zDyZf`_RdfVOTZoXF{}8C0IqVN*OUrkkOluG1jh(MxR5i>rBM%EYCYeLVR08|MOfR( zdNli5*l_pyrfmfXQF1-Ja$Xczra&@cuMx&|i`h)Uz;IgSaa7_^}UC*5AGdG{+XD&fs3lLmM z^p|0Zo8sEb=(oD#GLN1J@q|++26vg__Dkg4i?q(-A?)0PV&5_cD)zv^75lL-_Qk{| ziZQ#&eW>P+k=RZb^2xlFSrz_=29cTEoQW-%_Q`-c0i(3;h>#^>Oa#+}nJWGrCuQ?_ z+tuJa+)8d~)yK@Gq#_5mv|P&&)*tPZ&u|PTxW0ABAOW9jE+wy^A!Jvy9R9ibm>m-p zYj~tlJiN2`o1L-=4KR^w8hlB~%gk=PoW|mCm;8>&2)GEoIfUZ!L;M}n3n(dedSf`0 zcR28BvckOmtI{*?_^J=7w8KELtQ;n*N<=5*5u!*9gEC3J{hjT3HVpVp4YkWLQEO+h zPC`S=N(Pw9No8JBW*M3AJpKwpcW7~V76CyUV7TH3ah3w77Om-*2R+7|rwT5tuw+}A zk4gV!W(b<>>i!sld03F^G%T+A>b{^;f=?h{HJ^+$E1irX z-|E9(DZQ_JKPu63i;P5*^>B<3x8BwhM=F9F>9im39goA(NIPQ)XZM26h|U5K9ZPlS`|C_lJF>wX%J&AE}p-tKbW0u zYp(wx!cfLpvtI9O*k=DcW6S_0rI?K9*&&A>27fkH-MDytdtUgwFd`J=FG>0%Unjys z<@W;ygj{j)8TqX>iW>F&v)Z0P_&G(!BTMzjd>lEHNA^xv4h`bazT*1nm9q0(o|hiz zoFCFk#ydw2=aF2?46f~ePNNtYiJF7pm5Q2&fr%$-9@;1lk)J~v#bNT3HHzoRkIazI zlb?C&C+&w}ENV6zg&hIwd(o7izDCh6KlMg2Zv-i=oMjAuLw)M!n1?VxIy@I-XNLf2IlF!K|JFIO7QSB-k|6!8n9eP$Qw3-tUpD) z=&K$9V!o(Xj~E%3MOryRA_7+Hl-?q4BjYV+87gT%ESIlGQspa=Lri>ErSx8%?)-)rMh2 ztjRSEqUvieGY_X=YFQjUD8E>~?#F)L;_zPl#wP|pN-J2Z*e_l&Av0LK>a#9h2^TM! ze8H3kzXlhtgt7DUtPRz5CL$N8PjtE1gH4$luhOePD8>bYCDJz8aLY@s>AA#}3Gs=> z=6jl=0H;+28rqu4gBD z;|X=u`|!qJP~7!ZzaHWpJ|VJ_V~oklb{Bp{rr1Y&2>MADwn#oJd}iN^ zZFAZ(5}{P*u$}!p1eU^9b$0bB$)!iGB`U|#;_aMHo*lEPR`Py;6LKcIp;xLFU`i$UZwZwf<+vaO(f)IkHWMIZt zgX&b8N5P-UpFB#g$QQW-KwaI?E);XyX zyjuvRYSs6{93v$9U)aq!qki4g&v9g!$ifyc)RbkEoXp ze8xTW3G%?n%v3_3wDggLzbl`wIyhB9Bc={2zhxdtwe+E?0%zeCuDUjdDS$#pmcQhJ;?AM57oNBq{;Z4(Ejo4tz;Fd?l&|V zS=o!#+_;1`&_K0X4FSg9skEUmOg7Oa1!QbM9h2f^RVx~Hal+V@?REU*nJJ7D;d&Y| zT&~~q^wF9v=01g;P3tU;jGNgCG&H-80FDWD-ZU8aeBU1btv~C{H&3qllXEm*)8x_2 z>sgmIwCm=?&U2|pgHpIUp?maqyMa?m@PP>(d$a{)4@}W5t7%?A7>zMU3+5tv`!#zg z5@Mf+ly;nM=gH+?3Y3ra`OG;A4`59r+XvV!C$;&NWT$lO^{0wFPJFY4EtZe6RG;Xi z5u}Unb4Kt+LAZNq9uJ|q4XLf`74SboP%W{2oFk(SYR~QeuxG!7*WvE;2!#5@q-y{2 zM>(&aq?Yomowe9J|Ea2|#{$_t>v;U}!+&b_qG{oC!G-jUs&d5^`FNrA?TS z)6SBR6AEL0nUK@^gq*FcU1sCtW6#Uw$XjgXIX~=BdUUf`XME2UG0Xw80JH!cFr$i) zaA~qR#GLtkNz3^|BHzuOUS4#-Ue>62tL*mWL{?65I$ibv15rixqtHc7%aU_r;`0n5 z%TryKoa;>|-K&8>r(*Vp+=i%sKzHv^m(guNB-bf3#MzC;uSj*8Y8CZZ&$!-nAF9a# zWFhHC=2BArz`|HZ+8@d_Eh<%YDP%Wec-NIEPb;Y-$7@P)DV}O)Z^hLMP&ZF!?>Acf zJo)Kg9G)eI7j>Vd$+)I>s3FT|U70ECnEE#4b!OMtTU%_WPgbb?D|ljfImaz0)}!UucbxcLtR;0QAR!{ zt4?%f5KW<^7!^L7l(C3QuThvZfZO36H8l!mhX$Jw&Y40uOc^P0_nYObKdyM}&E8dF z^V-Lj$g&QT=9RlkfUSryrvw4$0gkfsuaN>e=IijVp@&`fYrh%o?v&k!pYAUE5IX%N zzPVHJXI-)H3b~QV4%1>XDrMuoz)`~0i^qbtnyLEqr%nz%w;5q!suwrz-p9;Nby!hw zTiy$_7&{(`%|lIOC|hP+OH7r0+de)Fe^vCwETr_jtW zE}MCyan1c_!dlJN=K3$85cmKvtC(cv+lyXi`k1ZP0P*+0!!VxDe(E8fif23Z08d4; zow}W;!r4we2=IvJ5b8bkzj;a#u6V%gH4JdhE+kOZF?>q*ASpN{?zFA>$}LPS01^C~ z>;lPeih+sZ!LRNMboH9YL(%r`qy0RZ_8e{UXtU=i!81kHbF_~~2YZgfykI6@U)b#k z>M%t^m3>(j0B$VaDax#OG|Tc@TqpZ(jdft0pad+T`7O_#qA~vd6#8?#R8q78|#Uj=f@LW?=gQ#_tl5SQl zqnD_F%2PDF?Jn@>Tw$Cw(TWeEY)UwfBA@})Uxa8DV5vv? z^jZW#nsGhBLr2^MmhW{g~S`7)vxA zRx<9RJlPn~E{!va3h@zY_0}i|vz>teitSEHraO=APW8$99Jafsk+5;3vosQhm+~2@ z(82EN+8ik1A&n~z%Ia_0T^(bEj69Y!>cWynz>->ENdZWn zlr}vcvQaMUT?KO(^#T-UGVA4=q@Zqurwrs({a7rz>|MUlSA9QAd2B4y`xbwb=IZtr@U)gW3AGutB7 z2H$>h5qqVDc!FVh*B3EdfdNpfhT%g9vZDqd+<3NTJ$yKh%i)1JpObxNT$i939Pu0( z3gKjsPUClDQ=3*M4cua!%z_&G7HiA_;o2Av76CybPDJp8N^@JX%+-J_WpP9{ccPE- zQext9rrOb12B>|A@j=|rI71z3im;`*$E;+eb~pum{RGYQQjkf2z)l^E<7k}<9q*>@ z9;hr+YJ3vya=UheYI-2%0wR_QqttE~t;KVl%Z;<6_FUt|Ek#nh?4@jkJbcUucs-LF zee}vx8$7j!3TbWn=rKMCc_I;uLdHPF<-;f1yjdPTn(N_#h2HL;yFTTfJL*I>X|Fq3 zVx0Y4`D{~Js8f7lK+Y%B+(le&YvGA3^W6$rn4WeHOeqaBy&hA2ORJ#F7}EF6I0OYmqop4LD0Yz z>a2-k@3gD{>hk}9Tu&=zQXHXBspeWudoWRK(Y(=1SN6NqAhM;=Ox1h2`&}gu7@Hsn zETe`8v@*LImz_50Yk0(Awid0`nxf(z(g2!F$#ez>J|8jeendVuqx4va^d(W59wF8@ z@*qSi_j2%>^b%KZzwNrj7etv?1r~ome(&^TrTSaj!!XE$A)nsUm+?D+{i(- z0X|b72e`tG`VenTV*;HGAaziAM?dlyWCdNdb=lVlELnqt_K2-`4IQdjgn)jd-?n@} zm`#uwLS}TooJaINA|kMmRv2BZ_)%Lu!R3srj4nzx?{KqZuWI->FoaWCN*uN$H-M(H zlpDzMj+R=H4~z!2`AVf(?c7Zz?t-qyaP10bw57a^HWo{EPg&B=Cd=e~axwovT#%_k zbHGTg*Z(<>wE`sr)cHq4`bgAqAD6k}@gw+W^)Tu@`ACk&2vZjlheVYr$+-{fkg(iiY`I7RG>xL!(k$YjPwz<*d zN(NpcgMo}6cw7gZfMmRYR7z|!I<)eZe-hc|bhOil+b7GsqdZ6SIP4x%vJPH$i*iWG z8u|FZgpBp;`xNTX*bV|x%=jR-5V@mIuDjxoq%Zo9o>4VqTIUy#bk|37ql2}N)# zV?iOCH%f1TkH__#X&09yDzAk|HGQ0{riWaSXFFOT7wOy8%Eq?u+%Yns0@^Ns0rG)$ zh~{gMO=>2o@i+K3YPyVPJ$GS~E+XfT6qEay z@;=mFyK0rkLVa$^#P=Xg)G@=s1hA9T#OAFU)?gjNnT)?ZDwIA}v#Z=!=ODIMZB>mu zv1v>zeWm(5;SN!kPk3Um5RNKEr8EB=<6&~$8*~m*4~isOrPa_$Qp27p;oy7WbRJIO zd=1MX0T>q1C`A+=thS0mbgZ8*9zl-_{cox&CgF)36n*{gZtetyR~3&K?Do!6m&wd?TbbQpuqAO8PphZU$3)?|FGR^xAJ@U+F9f4mdM1Xp@1~wbeJBA>2Ts2HWJid~!=o2xPG?T#k@DwYE+6@YS1()g=hCw|Q7osL^l(YK`qVzu#N(WK9fqhv`t+b;T8Y1mufcx?3*eHUm+ zLU=I?b}p8S9tyUQmE=5quGPfpcd%C(%`b9qkh9svelpRkoc1TMdiQ*pZ%$=|~ ztu!FuiL9%1tp5vL_B+ePT`juMd*yx*VA8R^ojY1-Uf-=mfU?RiC-bRQOGUk>)HoFhn$P?p|ID%~cCuiWNr4At zb@2eTrl#_>48hi!WJu%FIf2jb${h^;ILySywKZpeoBnf$G6TuodGdu2W0n+@=Ob{) z(F=73L76q@0#1Q3t93AD5t6kp(gmdCkV{Iq9P^0TZbCU6=p~dR4;&VxBFGkDUP7Vo z_g+S3hO=ac ziyS-LU2avB6^O$Tkr3Nk3CARbt`^b0*bX;?fpfkN*&Hga2y<`@)Yd>=L&{kFV4~b~ zCAy9XxZzkL9Orns=EW{)9iv;9=)KyA06>yxpVXK6a!+b!9|;Ko^+jW<-Q7ipszqyM z(b_Dv&M%8L{PDrEiuqav0DWQ6SfinHYj{Sf2|GU`#-Q2m$3{Lui2L^cotVQ~KcYWlkq< z)it9-UA-c8H(2YM!$FPTgbdd7PMSA_eXjYAVJ@h|2H=_Hj`WTcrlIkODs0KvB|(N+*=GOc1dv@>#r%9D~NKamjHpIgZV`Y zLw6sTRk7qaEX5#U54p*XQR9Q-WedA`*~n9wIJ`u$r~{_ppvC}&bPJOYLFnT&$Jbzv zm-QcsUa4I)H`5wlD$P~lk31uzx`0>}&vYfQwD`mo(JEHain6Zk^l6e=>JX5t8Vp%z zQo4Y^1hdPOqhw?E*0>~-Ub`gNBON2?TuLBD$ecEgGQwNJRvEi72m` z%KlbUoXebK8@pm1UJv@z(Q3(v%SAKCobWQUP80E-ss&a`0YEu-MTVWJ9%`1>yoClqw9k3+N{Rm|qbYTj- z5#|TkI1^7CYSpqU`rUX#Q#svXiUpe$lYYA)x4I+a))Yfvo>m-B9xSC4Fdjf22TY|XYyI^IrOH#XyWb;Eliff{#`z0_=g9%p|>(pdG)Eby^X z`fkD23ye3DI`B~TVZ0c5$?_VphVJ{XuuR^3@XO@Q2fs|-JjXJ5^OIX9KR@>}8Beu| zDsGu^ze;|dUM_im?c%H_vqa`kW{EsYm&p8ST_PWjRPYBmOvzOk`|vKSNq($mowpid zWy>Y8N#J~p;4hgV)##+LjH5_r*unhgN{8gGU|?0Q)C6Hi4n_QA9(OLlpkpSzd@%{e^R4RWSpwb+C_Sw03=*8l zJ$J#knE)kj75;A#>$Cv}HE#9F_6c5O*Y+s-m6N<|WTJR8~ouvND zjI)>THro6pEnrj`?5g!@h_LKmY1kGtH+v86(uvo?S8?zAIq0AkcCx`m=Q0i{dFBKq(V&2re zjSan~Ps;`QfTn3IA1Xo!xJyWR=n~4)LrP9r=IzYdd@;V5PV}kYM_mo_Bg!!OlSpPN z4w8%p>N{jUIAS}Utrz3tuHcf?1t~MZz4w3e+DMJcbS*;H*4Xf1Wh-0;oJR4khdy_0 zw0an!!kmra*W8r{*Dk?Idz4KNmom5g;4|-x*2uyFR9kV~L!bMnaE-6^?r=>%IPj%& znGmIP`z`X5#$i8=qlsxS>hoLE+In2)u&wF1Sq$qLtK znUCVmlgE8#&($sI+f&~D>Ce1$Pb;~mLHKN}|Jx&{f>WOJt1tc3o>Sg&(@`(Kde1ej zU=M1Sp1bDSJh|p-tr_A-6&mw+a4LJ`x2I2oERRCXJ(OAAyK@cm3H?=ofdPZAHk>E_ z-K^%xOMtVWDqXqqPcG)4R}L5Vcn3-K+JCeBvvRoj?VW^w;^6b9_^QM9r}vOoqVa=J zVZ(e~eT1MC@pdI(@GL!aYBFamUR53tbqio}-0ti{A3Aas{UJ4tERW#|A_tBF7BqPW zi(0Kg@uP}L!Pq!rf_xD9TIEW{2*gzz-xX8^~otb!wv z=bTqeen8~;_7<~S+Tw+4^kVYIm=jzo+Yz#4+b$BAImlx;xn1$M`-0*Z^Z*GBYdtK* z%)eAqC^lq(5hdb5mtCYZMsU@klU)3@D0@>nIVZVM{BwxD0;!EocpjV>lTTlPg>sP# z0P&qsOjlcSdnn4iV!`2&XBudkR3nwU;O@;M4bDZb$Ql{fAjbG?B8uqNOkqfdqFFjz z9uypuCxcAQJSZWuiA0kmW3p}K?yxQsO2kYk3GQf-i5z&pczNX|dFbKZgqwEq+ z$Mx(LXjnvG4Cs+zAR)0$@yOdL24Qz_gg+TlaL@z?V;quHiL|uq9V#s?WkKz*yf)s# z*MMy9aS?7`JHlK=u=}u@TF(0BBgqMb@057JC_4$*0SG=nrqZZHt-70$ z4e5Od)oF#Ra&D!oClQK9D8UHbM}tV7$E5PiAQRJ>Q`8V`OZ)Axqw)1*_8}Ef^&K&f zAue66vAIaX?i0Z`TpBUZ5g`FSRu~U1UxSUZ7pJAY%9ABdmA6%hf_FEf2IT zeGsAM|1pY2Rq(?lPSqz?me=aNnu>?y1z>2w6#Wl0_h;&ZkQJ$T^lFFh`E1CTmX4*I zIsrbczme}(feR-=smcDussX%7d-q9g=K~alfQI9{uaO!zIB1%SC)J0;+8^smLdL$- zc^#1H9!c%FLcn9Rsi-0Oqcyz=*dLs}i#E5BmXMFNNMqWH4nNCKTcMtnqToi9POCjZH~4#Gt9-c~dPRsgK|YW<+oxX|M{gWfOa! zrze8L2QLIOf){3~t9;zX+e6WklWMqoZr9~z>@(A^p6nNO6AP~y`=wv&cVCvdK^{Gt zD)zqf&OnDJUhx}SeOI(<*>?;uDVcnkE)=?DnS1B)+NJLIRqES1QobM-w>~JkB@@k# zmVDBu-?9Ua;QH9~ugZ-#{2G$=71NFlBDZ5F?`}25e(ADS6Dd6!H^|HU(TDms7ukg} z35>Uklc7F|PAM1df|8ln#{T{B$B(#FK8sr3ydt-+8ph^Wc-xD+irz_VC(vA-oDsGnj1KFyYfZUT0NJ)W2O3je0g?q0Z#uR?$ z@DjVrH2m%M;&zSR+l4yo9_$@y^2WVrHOM|{mMASg@9>dXALxnRVRz>a!P1^PeDclA z)AAnk6zacn_9q}h{>Pz7JgfoMb4v)B`z0IzABc&&R^{RN(U2il&nWlbEbmFU(HuiN$3G6bJ-5+=YHHHlZ zm5PHRK_Aody%f|(W`8Bt5xHy?ty!#Xv)FZ&>S&Ql z=aG&#^?whMLwuCH*%|0Zyb(H5^g`CzA8OP6RbmZeZh?+=KFw7}*@Yub7iE>?wdGVz zh+Ao5&<3yVXCO;Fm8WfIW&!FQG-s{8wHhbX=kmlKMH_Dj=XofX_rI1|n$;?sfO17D z+Iv+A0HFK7$!E@*w2lmE;6iD=%@oO6?x!724Z88LxX{Gxd}j$3{#&ooz6|n4heV&k zoul=vI`tvRtLAc*(_B6j+QxLev-6I+dk`ZyJL!q1Hd={6Muk&4_V+Q2-I8C3{X ztiFXbzowJ>cHVXe_KRp&sLUm(me(x4Xx9b`Gs4_MXJAUHU~Eda)6g&#V% zKv;DP=!i1KW_1iC8V^n`W4S`D_L;f>5NtG}?y6S5+Wd_=4La_CwB1T^>QH&rhm`IB zPc@!5^;_dB>(37*w=3v`T#hYma*Qt%7#?~9eDbXru7aj}i+R}iUtyUX2kQ4IvH-?wd z9-6+UpH>}EBq)I%GPtJ~w|G&1;!Y6oBjdl}27P@wxvm)P*1!kQfE3pUTjVb<$C&TS zxntVOu38^w5D7@sLF`^EBG(s8?DDon?mv#1v*Fu0?nERN!bsKRtXevBrHe%xYJaE5 zO7WeiGQ@teKjKX^?mlwG9vfIL5!#!>wRES1RfPGJ~@97_jxUqBflUR)Y>KEb+`ttYj9djhPV#YOS*R zkUN9?9TSND$E?igrE%O(W(tOkjC1-W5eS|lAeW5ebm3_0q1lNwdviB6kDZl^M@=1p zDx}?ZVz0y+YOjpfKssiuK1#=p$mVJ@B2wPu(KvX<-7yQg8C$(;lr3#&_#_O0jkkry zz!GUA8e^DkiYa;J%k=KWJEg0be<@b?w~JyT`GPAuq(4mssiulbgbty}*W^#&M*j?mq)44-gDFV@9z^YVhSuI$G){rwL zao!1Eckb$@AP1v;K)Y;Votw_LBrh93zihm#Wr6&RYTl?KDrXZ9vKuJ#XFYOnPyVdE zK7ZEZR_({xOzJk;6FI((!k%a5RJZE5n6GIwc1)0ih1rfZnD(N!{$AjI&ueQqxBN%f z9R-b)$s2r3ZH?e@2J(`v-&bb!ij)FYnMK`0izAU%FC$UU1jS@C1?AW>_LiB{ zt&2H2wcixq`rMsh=^^|&`#)jJ$GQY+w{kdp1)>&vZrTSE$3nyx{#3S$moTWbxbY*h zeeXwHhP&*?Op78P+fPHCbxPQZgF{qY^D^PT`Jjz~|Llx`3rb^PuA-LO17(=pR@wub z-X55GdteRrz+?`4U{bXQ)@HTpLF{ZL-cESD+6g^zP}QJUQ!Cxj=C-_U8T}1~Cxq;V zg{qHBXg|8kG$^F$ea% z8+^d5<75OwWK+rXgS^iC4T%VzP&K9~q&q&(zE)#xtBF+yOE=hq^n=@sLiM%%jvzjV z**;Mf!^hT?F|ygA{IoJvAzY(tMcSd|qc}?5!HP-|mny{vv8Xh=REpfI6bz+tX*Oo6 z6koTpC{)rqgvFy@+oz=TY76uS1~tI~xbt@3r=nGeIeNYmXEh1pJwdxTMy2MvI-3s# z?Xgfr=1@8M?_w1o@;_G7wjxo3&$2gTP8)h!w#adgYjYkwP;=Im&C!Md3cs{b<_KIOzoM5Hdp{-J`gfe%{oLZU>6vrO z!mhbxkaNqzwnqDubBio+4?LrD%TQ%*S@0z1mie>JE&0LCE$S|qIl&C7?B=b(6=g0c zC!Dz2UO%VMc=dF?fW80k1w8Q=@aLgUEUE?D=^12g0acpuc{Q@qCbd90RL0yB(D!DG zdwy@9!-e0@t&FpuOqpK|0a%;miih`eMKbFZyMKS~E83!-7Ax6!z} zrf1o5L{`dfrM?p7pdB8G0QrIR(6W>zbSP`Mt{LKU}u%IL3rleBdc*5%X4j7#OJ!2jg<8pqBSIq zz>yViMSJ!#LT$LeW}e4+Jda#_!5J`7hA;A%}5~`hR&Z)iV+X%t0wb^egmB z-i9Jdpuvhk%kC4^mgJF+&RgajG+$0a9(+6?Ni*m%@woJAU56V!6p}s5f})RFNxd-J zU;xgYmILTa;}1h?)suK{=$#vRJKL+l9~fsxhNINGGJh066PVH9Z*Ye==Zj2+2_GQ` z$o6iF2Ti+h;UYioY~E$sW3hgF2#l}M`o>frv2HGD7uW6D2N!wE9l5_e=>ti_`|X|h7zi{r@L!y>oDz^HrRr2tJ|e@AN#9&{_Rq! z;$%IvOU|ac`Dj-|9+N_QrO>TLtGWO)4`V+T(e|8$DiJ>7gB6Oate!3QAsyf0@>8VQ z`$DEUlXLE{PEm{6*$*`DSg6+2zq27SkI~JTk1Jg(O#T7zsb>Oo43bTmaE`L`TlLp2 zqZ7$fvc5LCW*ql2+F0;I_C!cZ0svT z>K3H-RE|||Z4o^k4XwYHcwhkJ8y*G0kG;NxHp^}VdC-F(54sWL>i)?|oa~vKB~qX= z`}$t1T%?Vu5nGImg!0dUdKn6@X)t6hd*qHg>GP95qp525B5tk zT*Hv%=u-{C@u&IS zopU41IrvF9&n-aLr(=(s%Rx8=AZlH=10q0mv6)*<12dcJta; z{+1oBL<(QtN~MUDd(K<(1gGkHDo^EdoWzy5E~#86CogZ+X1}f`mCEMj{wgVOd0xA` z@h6sn8FSK>Gi7d6(v~Om10{~zNd3Q_(K}w{a=6gmpMs0L=4s0#CK`peqNcRvAYv5J znFQq#8O}Xzxg~8mVW67NjyX-Yd&r{gqAgdmaEG?MrnKde3TnNy<<-(i21DBNh~i^| z>mOOm?S5FxeOyH2f7_l^RyuF(GMb<_P%6q@OpAaBB@HPhy_po6^eK#*+eHkU^ht`6 z?d9qILe;Ix6$8Cx$|}l>c;L|Ohzxjy)fQ2y5zt8#XdaO;dzTUgk1%pEr0SkJHcDmq za-p9+b<5rNX~njoT*HB@eOz-%@T1SJsnqW3v}CPO*rs#4q&~Az5j5`kFW#TmJ)`}( z=ZW=a`u2yeux=y4OhwA1Q&;j? z%XueZIR@b%VQJ(b(@^OOrI3~BqA|i)ShQO?jz_tkAbiPl1aHG!002pyS=|*#k7?}w z-*)Trr>%|E!mrl2;)N<%j$QS?gVQ++)-=)-yn^(f7CWF!u)r>vV&!M&#W%EKs*B)D zY>{#Gfv8`EyH3Mp|^ zwPjF=g650NVUTk;-h!7hY4B^^7Zp&xQaL4Ri{jia78T!wm^%QJN#80!MwNPSTDg|8 zRX|H@AMrd$q6xNe>(!)+{0n)U!fIu^3@KEkpT`CbjrnMw@7E>qm|bsvDz zz55-Ex~O6Uj?@-I#H%w622Ko&SLG^n% zQ8S`@2I*q^^2X(@Cep<==Smm5I2`5BPZeU8eM2E=gs0S4-|8`DXMz*t0|7ybmzzHRba_NY}?60m}GhYTW;G$<{+fAB;G zr5lm655*hi8XsfX>GCJq-8DYK1CPa72jSCum+B}CyGLR7?kCYr9ml@N@NS8v21;q4 zB%8`(icv&XGxc7!G=9rd{Vr4R5Q&kRrBokz6Md={PqNg3qbxUW%?y<9UM;+?G8v-K ztRlUelLXQ-C^c%A#G}T+T8fA%(E}F`%yj|qyTGyGxhRFUhxb%k2Vh2swa5h&_@)w2 zGo!Vh+Z19nY|pS-XC$f$G#?k3=$L)s@yBbc71@+9VcY9vh2M_ERG50liK&8xQ z+^*V$p<;UzFERp(+)FzWl-*rH;^jVQ;X1^izd9%ry$$n`Q(xsm%m3W zAD*Hm8*Az>Y%ijTHl0r;-ZBCm~Y9odI$ z;F`w!G3L~3v)N^kk}ae=irj<1KgqL|2;+lW$vXa{+urrtpf@XPHiGkw3#^rB76 zOs`50V)Y0xj`NhWdo%C9yk#-F+qq}=l$W5*nA#KPEN^yY3`g2*FnG~MZ{NhM-!Zd; z%b*wwewC_}TqBDCnf!>%ZPi&q+BVYX`LENw;nL#(k}yKD?Nqer>fKnq@)d-H?dYvq z9N(S+kzpb|xF#1?*Z5x@?2={dYppZAMIyTxPimR9VvzYmg2e}yEl`Ai;GnKBvyCLO zqv@kKbFNTKY+s8g&&FD^;3)VJE|0#o{Rz=-u+AtdnV3B_Ix35c1za}Jw1u(fg|rQ= z))dHE(zkkeL~qavHKm&zNQhikls{*(R>+&?hSb+NohgbkOW_D9>n6MJ3%Ng1^Xfug z<1E-$-0UOyZ*VK-qOL^E^sTj&z?%FGEoS&cC@x8Rid*E5DkzboM92*$xnb}-WAQKc zzE_GJRy_1>pEg_56v-2a`k}r%)zXOR1G3U3w2AbF#L1}&RFUivHb%368s=R%<-&IH z95wI`w#Td*f30&szQ?%}`Bj2F(4y>uTmv$&`dGJ&M$p&!p@ssYe=~F4vu;PJ!%iD1MyOsypQ2E0Eu3)Gi%qXnOa-&6?;vY9W7?PT3Sj z73_oo;n>vy##cR&sQ>1uQW<)yqydpju*9C3YoZYFoJn^bWv??!5YgvJY5~bH%$fVK zCH7PRGCp=n5bP_iU1C?}^Q6(>V@t9>F;|bw)0hJEcz}RnOLz3Bq8?>y0oC*`Q4C_h zOFmCD-RrL+<={kqnPVB48(ZigKC#JY+7(m?1?FDyk$`a>*cb+<4t!F|yaH z`L%I{>Qfv{KIi~&%e##mQ!@9TN3Sl%h%802ZX!j%EJ_p!>Z6W=lwt`@=UPI+9*^83 zt@^q-bt01orA`#feQApyo8FPvFJ*uSd@3>sb!CM^bD~uv*d@D<PU^Co!OK0^Xp%+lNh*Wv;s*x0eY^W@~@p4T_&~&VEooBYIstv)QBUQqZ!ce zSWhV%UiLPPcOnHu2-Pvp_Gmw8fjyl90RipVziA*$s0&=w*xlO|>67gWL;=m&6;wzH z5L5(f_tO)D2keOt?x!a{*WDA>%;<^FReR#Go}Tyv0M0md-0Ntd9iIX}?<7=r7?GuM zH@23q5Tv}34m73^SB(Cvi;0 z9(Ez+|I#XEAa{*d1}SPkC9c6)&pfw)MqQAAO1?=1dSj|wJ)C{cC>v-}@=F4LVpYbn z&R-q+$&+D4t*9_11t{o7Ya|~~}OiRh62dmdKt;ZjDCo#=3uKc9`bEn5W>&y8BsKe}gMphVP)57jV$ zrn3~P{g3MzZhMDesqC|AP|qIMIG*eiE?bAZ_{WT@0rxu0wTr@Ijwk7`6)vF@?y*^^ z+6>%=%`Gj{c6Nn;{W7Q^?I9kB+L}d=blqX`*tPpKksgrONV1oKc|I%-LHC8lp;eso zD7WU9=;k4%swH?_!Of|Q9sg6s2Xfl$@a8&Px>Ln{QUE5K(Ui-I!ONM{$_YK4#gd6zuDGm~VCo7rsVC15<;mrs zI|<-d=0tLmp3ti=cUkSBA}I47!dbjW{n#2BQ!Y4o z&(Ni%z0xkHK%a!K-BeaeO>C$aNPm^S9`Bh`mmEH{$a(lH{xs}$Tyof(>5>b9FK!mb zWyP&H$Xt2vAalueEB?El3d{R-SJCaiYh)h_-D24IXXANy?=7hV@Zn|Kb(UYaY(Mim z*Mq+`Wk7vC>m>hYC~!QmHALy1)UHhSab>b!xVWT8J;6`=$>O=D{aB}cw6$13CCbg` z@;%?SzxiB8_V*A+2LjYp#jqtKH$$jQwW5oCg&7%}>S860a0z7V&<5)a z;%SAIuF&`lzWV78lhV_EQLl9f^_m$(N9B<`V>&pWQz6`s&Gd1 z_%O{v%cap()D4nGYE}<^sz|l)6{Df}@=D)ot$dmndqd3~Ez+V!r>PSE_~ZXtTip+W z&k;+m5k|O^qI0>*q^3+6Ni#q3tSEWvo;yZN@$gQU3?>h*;q}+jQaR879mi*Ic+a(@ z^?BPre}u$A&)Y8Z~s4Jwp%VLstSND0kLVjjE{7Qfcd#;POiqIx=5F{ z%Df}tFINyilNO(am_$_!P}1_nu=W)T+Qp4GAcbVM@Nk{eBj=ZLr1=W~avoBfRj3Z4 zm~$y<9l$%}YSZq4b=13zw2K%=+zBEDJ~=I99YQRrS;h=TO^pLJN^anN5n(wA-FKr# z7JK$D^=f{vT)cFp=F4twR=lxue4HohNA@R7{8GN@xa?^UEViY9RPld=fM!>K!e>@- z!oZ~bNyw?9*^3eO;NL3uOS2pN>%hGw0M~(gD-IW3pMPjdGju782W|@1Sy=NCr>cF2 z^hqu2gdIZ=SJ#zWY$M_!t@^#4Z!lyGu_suGvoBi>B(92uYJG}ILox*CLMd|8r0iwy zRAur`8k&q-QClCxmy*R z=Bx-zF7R1cWScZ@Ff!U`)~K3uJ5h?;%vdn=cd7aJlBFel^b|AUhsi@HqQ)LX zZY4)3_LLr~xtS03k+0wM_23{Ls=4`DdZ@2Hm4_PChx+S#-u;q;c&5S4&)$oQI%1&J zAr1db?=#W$0-Som?^U;^m^qnZfA>R$ricFT?eh=fnHFq*mY(T5MuEDe#tfkZIf(8G+8ryq&?-s&)w14i4$pbyE>IDAXs4n4DK>#{|tai9-gt3r|1j2LN4OYr&)uE^XP*5GMrlKE8zY^suDPVC9*(-el3nVG!z9Xt~|nlf?Frsa`!QxNhfM( zq8v{m@?fbFkcrHeNaJX&kCRfPm4n}@3ZV6t&O}B^E$FDni&Rjeib3CMVF?IcS}_kw z3seu-p!7bf2ZR_~DWy!W2W${wRi*z@poputk4d6b>LSjEi&#um1^&tzu6%AmMUizf zLZ_N}&t~r_GeRrIjR~QLXh}sM&R3NUG44#z_s2#vKrckn<~R^V+gQaG(j~Hh$(2#X zBJa^K9wWJk$%DzPF>14Z)00COuI#YsGcH#&E2c9}VJ-BG%GpTCLUO;GRZ7nUV(GHG zoo8a`fSw7=5kqr(B=U}lDsWP>>Ssf}{)oYD!&Ih*sitdDG3pFcO^ss9K0cdas#$e3 z%>HCw_)q_2w;%Ay-e-udR0NI9brm4Ze)i{_5%5Eh(2dv2#CS+?$Mqf|;{Y%=cjo05 z{gSJPsm2(MXAfPx`f49BFrNLPbrZNug4y5Nm^PyaQ0u$H!s(`-FR=0FhAEs7^O}p`Aj`0JWTOj zc|E(5YbN8}LuzBrnMAT$K!=k&Lb`(xUYoQ%j*Y=qjVn+LmsDTzJcg+QEtB^-w^ToQ zyF{H~Y`Z)$9a0Q}wCaztc~Yk5NZOU9_e)BDR$Yt;W$s;&4Drm%2<(8JwU@)HT#`(o zOA~du?6_~BNjJ~#S7;DRLy~GK!Mv?m&SjkV~JS}N9V=WkCk*a3h zLehpl4gPKTFlra@t8vk)4)Zl#=0cfVzKyFsf2aP@%o6;Nl*IsX|3UG<7ueZu3rPrq z;(l!1?`RtI(-Tqd#NZd;PdYJ}kC;ph=0pPolH&S5R91|H<}4Y~#V&V84wQhq{xjxI zv0Dp7)69keEY2Ya>2usHO@E$gfQu`2M+W#ILE!5yrrR=$LdejjGhQz0*XYr2yVV$S zVtoN}&nWv|_AO){u8-OUE#{2ob`Fc%LMa2pfP50Z3~7#+==Km&10OGCnB%xsmKj9) z;HA2q0iAG?l%X)n856=a$t{auMfQtw>ZEq|8Tq_LRMg*v?iaDH6bWy$sH#c+L)l0j zXdQ#O?xe)ener7MtOf={Q_8LBZAh6G&!Tow`pCKR49(EFVmj=eR-NmMoyQ1W@(`o+ zjK&c95-B@mJedxgG9J$hEl99UgLbeT}laEetA=5fJy~hK zON2>Onzrd`487bFsjHE>x#KQ-t=j*(KqU7$2`HS+=}05zJtj=a*P#9}4IuI9FKF!~ zFG5iA;o0l5kcM;M+aRRgBkDf1yiL?c5Fk)39-x%HH1!d5Zf~H zkaDg%0T`br-j+j+ojzY#kA@V9u0u`HM7cs&@!eP*YPK9|;em#loiWrLZPI_}qrClT zeU$q<$~&b$YS?cxDz8DXr5qQvm8Sr{K=qbZNx%46XOCEU%-?L!8!}1xpOycY{{@W# zn(x1gJQy9$yo#iRDE^+gR7~+xxBu;6MSom?Y^w+u`9QcVBS8PX~ z^-vqitdTRLP+~S@nmWAdUsHj#*ND<1u0AnCiWgY-^{S_Xcm*%lIeE|x)BViJZbH@^ z1YwsN8u|IMYdX%lr{kuop{cubvCyfZspdY;elXi4oL1G)k2p2-VAvj%1;KM{&)|2k z40LczF{k-h0T+@Gk$oXj<*mxOKz?95lWd`Kn-0Z-`Z@1o$o$(fn#^El;ZLhFw^iXxV)i~K68mrL?ZhATezraEu$)4l-Qc4E}_z6vu}V=B~(e}_DjGeJgofO*aDXc z)vz%dvwDVCs7J%jQBJ9_92<3g(q5o9!t8mj^vMo&r$@vg#}&H74uuo<8zq1kA8p*F zVGk;{{)>M7V(W2}hMYUC^5u1{SH>oV049c9x$n^5Fd+29ZSmJ5n3&blb;m zA_UAW5ExC{i`r(aMyrM$MW5)*>P~l()XnA0S;|uCw9Kw>cBRzQf2q9TR-{mavqse{ ztpjb>-hDy#;ZRA}qB7?}j?Cg3_fV!bQ0}I@T}?h#$!FlWn>KmCk>M&91^Oq7Erk z*bV)Vha*EEVDPQPvz$Ag-doYb;gizi%lsHM>haj6?rwF4q)tDJ?(UemL=vp(?j1g7 zeJeH9*XydNyQn~piJMFr3=sRo7Ycq*vLWZdkYSLWuf#`k|Lg;nmIrw;%`MX4(1oZH z3ML9EB2yXml@QgTo)v(3BCc1mim44H>dKjuLUwI#AuK8Tp>)X|J9j&BfC)dS`EIbTDnD0|%&zsJpGBc41drPk6e% zw7rHI>@~_l0fGdzD6V1%Ttrq=CwsOpqjAKZK`VBU2%mz&k!E$SMOalht=F5%_0zo< z%Ier?jHtafMH7o+g8GaP#?X zhhBF+hCwhUSgzbkjGC+O0xk^#{yGsLwlRZ_*YA}Q-R)ftPyLkC&~2wxK0+8j!r*;A zN@sRVn1nmZz7*2vOskE}9x|;2>}@6WsUcWjYa(Bc4+}FLGpXYeA9M4Vv+v%wcb`N1 z+`3myWsIx2@%LO<=LdB-IP)*9H^@%`wP!8U^jSifbXLQ@%QNiEkH|LMcA={ZgEq)W z-Z|^dmMG|0=4d&1&?T*M7@h$o3EEetfW^mfuiyJ44a87X6FS%P6Q^EPvrd&>-S5yi zI=d0{<498TXt|DY!aq-N6DsYFMtxv%pfejx#27#6?(#5y%}seReM zF3az%ooYJ;{WWWQ`}Bhc*{ARCowGO(yqS__#wFFNNy7V(TF!l99be;+_fy?7oA^Dn zxJ2wRD0xAZ*%V&QVW=)3&sjV^e*#SsHj3rNs1{5d4M$^`B!Z0ZnD zAEqgG|KWiy`vX%ACU>?hm-du{)u+=N_38A6%Di<8i`_T)ymcAz14B%Ir-|~and}Nv zTz5kyMV$tElvXac4EPwaj#64K2yZnVmYC4>G!ef{$J0$m6p@@II!KBjin3kAD;2Jm zu*%g!UI8@bcMhU4i=U;oyw9yei%P)965uYJ6OnN6v()&r(50c7CF1^`U7o<(%pPYy zimfu-{>DpuxV^p|cOQ=p4_-S=P`LTc;l{i7w@gk~7D)~53}*lX!juM??jvaC0acDlL)qJ%@DspIDH4kYfm?bgm9n84m*X$wLWZxbzPU^Af8v2jYYxi8e=W6_ET;pV%tnyN^ z`~iZYEIDOdYtQQqdhiL^Eun&TowlQ|7tAzZ@U~IO&g&GK?iU%gv%5o2_&0Z>zVM&1 zQGfX#*QhrVHJ=A|r_Wv$Ege&C1d2Jgj5T+*lCgaE4N&F4xL5P`D+1&%nrO*1S%+UK zTqRfh3}G{Ck=B{Kxb_xxY=q;tjOABc)>y1Y3rIuPb#(`2l9Z+lqfez_*e=yxq$++$ z>zU4}k&5+yRqZ>+@$b68Epko2$dS=kp8lRNk4e6!ENdOH-Sx@)Ix>b2mLmCLPo^&j z7@8=nc;uRWa-QindBl4?9jy(oRz1yRuT-cabiwQab&sj}ha{cZzl0->!mUE{5NWD} zC)+&GWjt%mdw&OarWP?p0%k8$gILph6QOd5uDwKE56A1lMR_;|b!L~mz)?N3K+oj5 zH(wo)NMe*La77dSoTS2UJGi%VUeTW9thV!~fjMljFU zu-TcG(#(xWgbZ)dFkoo&SRpy)F4i?nk9Jl_o`aoKg|0Vu!!2R`rI!f_$_c}vqCnc{ z7>r8JJ`SOwuibJC4XcJ3HD-#3z?|^s)x5aSD&^nm;p}SLa8SrR9B33bUdh12`>u3J z?yiJcv%+u^c_J;V<{{EP!8zeR%W0WwCa6%Jhu~b9In?VFgPc5=p_>kPJQJ*Efu~Z4 zTzsE<3u&IXu%?M}z?bw(xdsb4CqJY0z@F|&(&0OCZeLNOAF@i&rpfBM@>#lXe!yj+ zLur_qE;!&F|LUH1zeI01xcOPRp*-Qqdc)}Hc)|ns=}m~p&^tCaKPz{{TXc5}pPje( zga3Q`e7)gA@NMyYK$)Pu_XY10R0~hcG3^W8Zt|+Mj&m$KSf+$HC?5u!+b1 z=`X%?={Ilw_Q!vMLz$-mkeTUQI$dUGlu`XV9n!I=t)baZq}_jKL*gTP zDd?T@xr7-p&-A}jx!op8_#xZ%H`aZGW+nxVRG5>-i-%pZYiH*pNcq{m{X4pE{|3@V z>A1K>gq5AG$cZ}94WbCt7{I8aP6$!Qv9^rS_Dxw5Mb`ysx|3DU|Oh z14i@x28_<188AA?`*j73W-|gt2Qi$}Spr69iQ}X$_NE^7HTCN2>s$smMMXqJ6jw;K z=*}PPIA~bL+r+a@lJ~I8E84MvJN@)6-FOL(#%cA*+G2V+mtf;|m5R^NU4R+7*z3(~ zRf3{h-_b)*R0P@08r2!AflhXvoua}^^mH`k9kVs%^W9Cksk74`X$93f-@J8 zBSRxpXP`6Nb&;-wj&vnd(v^_-Cps+1uLq=dtTv&jO?Xo$%J*YSoU$-02?|=!xPTJ{ z)(ugV%4ELbm>X%P{n9|B9A9N%r_kAoS-}|E)|Nxr&(xYf-PVbC?#cRr-F~uuXm@3@zW=RmvVLQAOeiTN zOig><=_XQ_rraF}l!>@WzxjGb|Dl1tsnq~M4Gxc=*E-H(y4^?11ioMq6rVtRT3 zGl^-rfF`JfX?*bCnrYKim!89J>8pQ&PQ9#kP)@vy-A6!@_=;tQCW+WVhH?c3lBPBL zV%Py(k$#P&M?@#Z*-`N5-ThXd@~$+_5TFy1!?mI)HP-j!0VzdT<3-qx%qn8+6OdU^ z8Zzrf!+FS#LHZuJ6eHSiMmrgdX+k*qc3?T)@V-1FYN-)O>67~nV+*Sg=&521T>Yh+|(StArS>%;xQES z%lKVPu`i?H$U$|gxhSHN7s}mBv)^SeQRKyE!*T+BQ#pmnzzL@v;W5~MASM=OdE_ij z6fZI^Lkk>*&(P+!dvRH@Z>LfZxd1>nh=SP}1u1YmrCT>Ex86JbtloN2<<`3{e!{nY ze`$p%p}9+()qx2iiZotq$-}M%`A2l!v;k4$iQusz7!r z(41#@*zNgnM9wY8%OW_d98V#BHW9uQ-P74b_qJj0&sY9+Qc9v)l9l-gea-&VIo@WP zBgO0Z+)2=ODq(wAfP2VN8=Dn@f=N-`Cu@{7W;r7obF(lo#nP4iO5C?rF~2L^IgzCy z4S#0(m5wO4poJs*hDr%4K2|by@LTq=upLK{&EBHXuOrq?FB%?bOO_hjlWf%XBpbCo z$wqbL=?v6(=YNW!g<0)eT|;VHIUQQ1eiAL9&{PHLfWj-xww53XCGX6VoO7pB83NFo zHPd-+r!ko?|#UN0T z>Ajmv?BJw|{oL*0ug!foPXw#^8TNCxgMPNVpN?lc=(|1k?DVAOV=eCa)|2ST2~2y8 z)tfJa$$7yvSKv{Omxc0L_TL6Hp;{~Wv`do?YxbvG(J6m1JnuKo$|K@+&XnKhef%p+ zUOO?V+=n4!%a5jC3}4Lr#zZNq#q?5!t4JW=Z3eO04C3MuXETUPn}L#%D_p2s0c1Vn z9sb(E&27Dua@wS3oLIemaxBOMA= z0S>m3p4HRGReAB@7L|E%b~`Ar-;PXI^TBk)sCauT@M4swBcKaR8ZM~Ft+*EbwD21>z^f&v1!)G(}-Tzf@=tKHQxvwtvgFXS1 zx^@;S(JvLs-z<%g=gp#Xve)j^s8M914m6Y?noaNgO|U%~+B=fx0-edN6VybQtr7=B3N)fMAuYom^y{?aPGVqx zK{)0TfAd~7F_xCyKtnC(x7GFb8WT-Jc6UOeV=Z?qx0Kd!N6_Ijakg0y z0M3WW5*8OI3#wzsPGmyL?qj}7((0+$B~yGz%(I&toT)i!7iYDR?n4$6+vC%q+~V?q z>3pRl*y;$TQz27sc?WoUyY1TjeT_-a-evuqwZ3W$$z7gASmV^Y#3Tvo&2&0b1?V!#0u=^>1wnDY4tTdBjv1YMXo(DpN0bmowkYj!v@gU$Cpw8{ z$qZbw2;8i=?#6N{P^DyJcho9d#+VI9KhIJ?2XUVU8;WM?DYNLA`qG`V)fr6JPn-i_ZV*IXA9kmj_w%o6Y9J!@epvsQ$A_1@_Rr%pT(-XiDpG2ZFp z_4(#VP%arN&0)bBhiJ=WsrU^vr+A2?()fm2z+q@^Y@`9jifjd>tsSvrrcA7NH zy}^xh-vHmWR9<+CN#zE=Q3_5avcy(aepx%Sk1ANQl`vhqLMlX_`G)6&;LVaQO9iXm zOj*Abc333GbrFcRw_=~HHO}7VMX!qZAL+M7|D`q;tP~0*fcW2W%6jpCqvl~TrPn2{ z#K2MLQ+k|F8kYuFSN2TB*LLXu>DZFvnTF)X>$>Bt9G+I;K!H-$1cmaXRwyNzkMNFA zPc`)?(&5F`{OZt8*c*Hty30k1DSuy}vX9z&n4GBds*hqDhB`$xX&=bU4)*ucUt+E)4`g&B{!xD`%E|Gmr0?_RC{1~5uLtAf6& zdc+pWNP;LAc0{?VlEwbL58FII53w^&pTiJ+`3ysJ)MJR=kD+<4 zO0SqvsirQTQE4eqRVrOqiXlWXcrD-JyN}E7p0u?c+j~6Qcdv2jjWs1eCUo8cAK$8i zS}XQJt{in8TH(Mi5gkgqM&p$Z=I$)%>F;UgEdC)(_h6B$^RXy`S8S4+!<^vrbc*9ySw<@h!B`O{cxjbWOO;j1C;`VbsXa((BV9dC zyi`|TTkUHX_UigR_Cd1j>$n3Po2{?cI_nHRAPsyO2N(U8Rs_gp+4C4(Tmk^zFph$* z^d3j*#?JoQHdgm!iBc!Dynw465lGq!T#isYu;#s_^yJt%D$tD8)s@iU*QmVxwj(^7 ztu9;E)dlld8FU;{2jg@Kx|~iGAj-)lIg#UPTdRgk@7u~1&86-wJ5u3i)-iOtcN}>o zAls|y_eS`WI)01dI#~ruoaR-P9nAV%%3wfpi^#Gb80}DdHfFZWlLCoO^6jufmf*CL zm0kTElzz(q>v#4?T?pK?MBqj)gduyU@iXj-?m?h_Dyw{3QOhk7K4BgeZs~?GrP%sR z*nt%+e=_xa*7j8NtJFYmvedCKUyns^t*YI{SLvJ`>*^*WeZ>4Ga#uFAJHyk zlF2rC1K40^#dE~Sek3jrbb)pmr}zQ+Rrqk|;6d@bAMlHDsH9@vXmg7UbmchbfSzIc zlS%B&Zt?6`00B4)wTjT&I4cY0%5D>&OYoR_xj8H;p(7tB#TnDdm)Rec_`y@Ur!=l| z-?D0z5dB}R44l=CB7=hL)oKL&ObJIVX8M7Ld(sx_^5l|lcOfeY*HXEtnO#s?nP;u(_Yc0N9c4`?1EYO$#~GqP?mQ^* zt|~Wt?CKF6Qaw(O#?p#LLY>F0N{Y@26uTBU4zG}2n(X_=19x_`8!uz_Ksiv?wK2$6 zvb~vYD19Ut#^8AlCw#uVAp3a;J{SLiloJR29G@{2I=kDf=Z4fs!iqHNW{+9xxHf!3 zb^HpkIiN}NU~gFET53$&(RM_ofcQHnmEvNEq+Y=ms5M1rpK*_chfnhw(=+?136weS zshP?bBPzvOX+gzi-C;)s?z}5eSXw3u)7e;~or{OM;!5`4racGOrj=cmCQJ<#`x53+ zb>pNZJFZXfsySKpUVleP+IAzjy>|jHZd||@R$OmLjSv(!%En(~<2KoNST?}sLnL7KmzeQ~vili2kheQ0zE?f5bi8xo zyEw7Pop>++3cYdSOm(r$mJ|9JI_#dIort+)4qr;7gSA<;w8?DnuceFRWc#`;zM8a@j|*1>DrNf*H)3@Rk}~AAYn&G=G)FLE7zIDjw1qpT+9s2 zAiM2A=OuK!)`1W2Y`nO8bSmiiN}Z}kyuC#wCVb$sW;BlKm8rXoshr@UMrCV)#!=|p zKz%^?w`w?h6x}YHGPMu4AcWvWuN=mE?h0is9=mK`P`p6u`F#a;%or(-+x3{9=Gbb! z??PTgZeBm0{fhq_53cx0zW7nywg#>ltGtf`!+D^bLl0Q=kb^Ip%@R1^K4U-7-Fm<| z#~Jc(FRk@Y0TsjKdIQdfPVyz0eVagZZJ9&|#nxVgvNW7dJh_6e5%=DC;NTH)=wN+-9m+z{tb_>bD(;wF0EK&&`Yu6mn!Bn0t$34P@3jZ6_lsi zjTiL{Ah#Muj*DAl>GzkG;TNbAg2|XU0nJdNpgtevRn=A*qR=g@Afx%Zc6MLbII^Om zxHj72p*^0{(=}7nlY@C06q~ie2j4eKh4PjzRxJI;q^#WoMDu6xch}4JWWSsn{>gs% z+QtidUZ?SXXL()kC?$;rT|>$#WAxHeMAy6)zo?XZy-p9sra4zf%RRwR*~{5q8I{t8 z7(FvITamv$aFK_5iY#Ce4O29TP{b3t@lI-b45G5o@1f8-6v}24`o-R*PWeQoe|}yH z$a9zZSy|?Yz=e1_i=%wBPQQt=N9FY$-s|DWa^L+UrMTNY)P`iJo!8DjAI@3A4Mr(} zAy#CFd!}XP_Rc&omM!jx>rOsy=~Q)#)pIFHTJ?zR@8>w}I!mrToO2TVXC%X>edo52qz}(` zrw|*ct$8$D#xq9*72CmN#e@Lm{F*UtJJVU?xt+qpS4lrWulm0cQ2zt3TtXW8sKR&~M% z;3rH&V_*2m|GoDE-+%b;|1KcvXzV-xaR29b{oW1t{$o%Ux$12{zT!t${my6q*%kTX zKmFNN@B98o|Ma%$#VQ5`V-J1z&o95~-pjvxv6i^=Uw-!RJ=c8nD+LN1HjBAB>u&h- zN-;kgaklCMP~h#XXMs)n%GN1F{Mk_k=Z}Uu9FcK2J&XU{8@9fqTCvX zMS=eJxce^+vY^KFAa2wow-sr(*0dEvIHbBhDGOYT)gP)4Zpnj*v*^Ho?Jiq#$(UfI=S)KZIkC5yXC_3k3IJ#FFs~+ zTX3e-xmxP{KXDM$<@cQRn>TOVke~Id8@FA!dFsRyFWmBm$@LeE9(h*2bxXc}OMcd} z$;q?w?dvyRxG|7R0^|NA^6!)r&-}G*8z;A&IeFohEgL7-Z;;10^O$qiPriQZnUfn| zziHdlLaqf*YJ?vS6*$ zd%M)XSbkskx^>H6w|v#9r!V`}*S%udsjJq!?se<8ym8CcEgPkywrrg$CMVawG2gs# z%j>7k%Vj^`cEQGTHl4d^;|8?)+)bOM;@9c(PHtPy-F(}5TQA(aAwO^Z_KkU4nxCJ& zapRW!oXL&S9~M z@;z?z_uP1qyoFrG+D0@_%dlU6PwMEGYxl^%V}j29wes&pmHm6<-wP}IUy*+=sqB9& zVEBHye@D;thnnvC4>R58M`iyP!FpbK=|z|YeRAw?<==CHplkmnmHi*fzxh4;C&<6! zjydj_Mbh!-zi!*6^EYi?Ke=h@jTfwc{l?enYtu99r!JK7xM}Ma?w&ijapJ;_Th4jo ztG7$&;aTQA(QVOy{=()WG-rVTQO$U|T($g%p< z@;z+cbk4?O&)>R%!y>py>Rlth-wT6aq-Xz_%Ki^S01CVJU-a~~XPdkRHYkm=;54cC zWiq+W3p)ENBYpRNf0gY2LS_Gzvj2k0{yNz|q_Y2Z*CEqr+esU`R zrC;LyNxy>E?5{mqCf>MG*UM$+$jbg-W4WvB<2yOJvj6w)8=raat>>OA({4WUEBPYa z+U@GyJJ-KA=)V64<=+ucxIP@fk38#(EB)S6_n*4D{r+!+-S71`Wq-J`zbWi4-!PIu)1y;q%e8Yv4SWiVP zUVkpcr42GNCoen)6N`Skfs;9(iu|{2Y6FMQ6x(s^X0!tjyt$#{Cvo3>b&b8Jp=&Hg z+xZtve+bL zo9A`UJ$~QMJx^a7<81T8Cm<*V187F;Cdj(A$fE7U?67aLx8{-$##x3;%! z-6A9RxMPm*{_gk6eb1NQKXh`q--oXJ%F6yHd(Q9cIsfN9=kM*=|7K75@AjO3IM8{= z??*;uX<1!2-g>Cco&H>(J9qB-&D%C&?UVCy<$UJOZ@F;u<{$T5J8Zh|bEaEM{r>BX z>SBKXtv&mHBKt3{?0?+oTv**-UD^MXQCZdR|EcVsT-pDQ>>t~+zberAv*~0xv~Sqk z4=AK?WS+nA{H>F3%=z`uI)Ei3Kl_a`Ae@pT<-d5Cj`If()A89WWAJJWg~5zE;Mwkb z>n(S|dYS#kWw=V&Q7MbITwzu2s-^z^T=w{aj&N;_!*m%LVW6zV~XHRZ@1IPLC$GpVPD5b&RUb*I|Ky~F& z|9v}~k#9eaLuNRt(g(B6PqVF$E1#n}(8A|v+fKBqFRqtaV)A^E%<#2OO|IWGm2W!# zg3TMx-?(K;U)(k{W<#HHdyW389Im*a~&|N zsa2M)7oWQsJ$TNh^Ht0Y{#EKkpS;TTjo-f*HnGb7@45Hs_iuOa(C`1y*~I+*KLl!L zz;G~Wm?l|0>(34ydfw143@ylCl)ofDDPKOiZuEbQzJAfRMY|TgeaZDpKCOQoqc?JUHkm@TiZ8Heqr)& zCi{NtMZdM?w=TH!noB=^=>wPAD@U(fd*vJUd|=Prd;anI`LX^lwz08sV&hPL3^r=1 zY=!keHcg#}>$L=Pw>!FeArHaHzYg6rlNUBYYO>1FLtA%yfqtcEv43a2Jqyv(AVzpzW zF_DQwYf_ukr6WwForH(3B}q^>VI*A=)U5WGm8TD-q9{&kVJNLgjCP%gV(CojbGc2D zNK?`v(Qd5SnsjU}G17ZsB#jQjPwTOjp8&; zqFO9>)qbuA^{5`z0#mD5>3=Jgm^jcbkE9=>S{Mgun#j8_QcGO(1IgN2Sd%v#M^PyK zA$=~LR`cV_m@rB4#%osIP$Jzgy(e|MVHYQ96v`u{iA z2J@E;qbQA{dd&?{Bd3E@S|?o;$P^(1s}@-srLh~iH50^cEv>Rf-h+FYwOSHNJ7uI(7myA}YI3c-iPR1LG)+xS#<8?3&`}YF za&a7nGH&%1M^O}{7}}}aLELM zCXm4&*eKz*9ZScc26@S;EN$+ylK-Tje9YLXrM4DWd2903g;G3@+{b3+ql)ECCfG}5 zRL0U>^6kpFk$cnv_X!&L)Z~e4DRv_aQt32#`E?mX@_u7Kv&dLaQ<)JkYHAp=(sS}X z)@yaVXqheC_bP+GF3(x#2;vBq(IB60Dj!fyCQkV}+~AQ}M7k&9XySmDSxP2|NIt2s zF0+h$E;^1<*-E511{Q~R4FfTep%BP@Uz5>ko?3P`Ca4Zm{^ z@VxhPfA8n{{;uo&{+wcXHB*g_PmIz2gVAxr$&htP&~Gb72u{t zh0$u{eTjY&-y2O zi~i1=*}&O#=k1}*S<@X|*gy9E zSKp)YjlbZKv-X~2jMd?<{c#02T`Zhqg1^bfKf|AtX=EV7G+$pG3?5@Y2|d|wD34t$ zXAj1(_}Xks+hMKO$)AH+EXJE~P}oc|Xd^yc#A4~gfW&HskvQ(dH7pLv))!#Eef_=4 z;Wie(=qssCsJfeLet3w*12G%SUQ9WweuvN#40h7>mQPY2e3E{Mhs8IB>WzI!q=Rb@ z$*@?=;NYrgDpBXaAsrT9%TyD0Sxry;ddPysZzO{+4TO12f{wVccsrv#lytt)*I?@q>05%Z{O3fDb00<9qD0l zdf%nyp*)9_{G;1g99nGgfW@(Drs>EEi~mfU;v3pjJ{~`E#A4PTT_00+7k+IXd0=s4 z;7LVU^@|s%V_5t?+1)OS zg{4CMWEP7F`avN-Uql>Po-AVVcN*ekE96p(|H&E_4@PRc;0(6JW}R$fF}F4Kf+1zY zyXPl|Cm@C69`uJ1CZ98Og8tmbzCnX2IA*e0KEXSi!z`-0zk63hu-|cXZ{wuydP~R! zUBE63L7?a4h(5oej1F<^ZvzB!y}jx;B<6LR1Hh^h1z!8fzyf(A59y=8(0v=c#=J24-&l~6G zZQwo@dr{5#6fEl1c>$qV+}Zu`R&w~Q@MItsi)D<{d%JZ-daHoc)Ar_P?BA~AOnU?5 zVDT5z{H)eIm5-l+A}qcXD={P7`LOs9sKVmgd6|#hvU~nefa|b$sBJ}0w|%xj0NjGb z3kpm>DSsVCYJy*5ak2O9_Ya2{2W`NESo}%%qTeqgip(JJ7#2(NGi1!Z$X|E}p2gzy z=U;B?zMCqm2QOl=v{Gr&)cuDCBjB}D%|ofER8#X_^LOwz7SrU&*KfvG#=s$mSj-)I zql9RaVT2I^#i}M80!b@NMMMv!Ab41uif#z0uGm}jmEBENXCy%@rc#R(@$CVV-z@f{FhELLcY&B>({8k>elV{tj{m%8K` z>PNpJN?1JQ^{L6ZJ^ec&R1=H;|IMs{Ie-mnvq?AQCgZ&RDk0z<)8jd9%i;71}SX4MgPLK@&4l6va-8pXJyT3 z;lt=_?dI~A68L8ZtaB{?H(dR<8mj)|6JNwk@aP#4Q>734U!QUo_+MK2m&To!nFId4 z-j8P(IMaWv&h%c4&Wq7^F}f~R&&BAtX#MuQoDlew+;NUY!T;Vq$G_n(;8VTw9B+b8 z4YB8V@C^Ug5p!li(_|;Y8tYpAn@)6#-x#ewS+Mc5{VRX#f6R|ovOV1Yj~0dg*qxVY zJ1fJ>&-<@y=eou@KG!v@m92S{d3di?j7P5mD$b zhCJbacJN7J{oEL*tera}`YAom{N9+1=qn&l9S0HC&^CrXlbjLhplAOvx|58|MHwe^ z541-27k$~x(b~p?kC?Y5- zC?+T_C?UizBp@UxBqSs(BqAg#Bqk&-Bq7W%EFdf>EF>%}EFvr_EG8^2EFr=#A|N6t zA|xU#A|fIxA|@g(A|c8zDj+H-DkLf_Dk3T>Dkdr}Dj~)%CLks#CL|^-CL$&(CMG5> zCLzu*E+8%_E+j52E+Q@}E+#H6E+K(_LOaGS#rXMl=@)LGyOm{PP zwzWQEV4V(;^TBj_$Hv8t5z9-%Tsq@^ZgZWE8#p%+R+m1_i6L*DN)YEheUIn&Ps^X) z!`9@^Xzp=3GSP*w0Az^Hi*e{XbDugE++94~(1lKmp4E%~rCGUHyJHt<1P3G5`-yr=K}JpVrupU&ot*Sx3W7xS&={-?a2&UP5@IiIVWoiolL6#lN-#A( z9gH5y0I&e|PzUf+NG-SpJPdvZ9>W{QnE+3Mr-6CcXYe=ZGI)b=3%U#5ha3QSY*MmX z*AgB*%JYj!NiTfX6kZEQ;E2k|8vGi02PLBt6*IUIQ1RqxtH?Y_L{$7EC_Vu(35S5N zq_T>-hSoJJ>)Z7Wv~&n03YUyhR6??>{KFKESYlEc0wpDDW0#Oj>|)x!v1w$neR!g) zm;I2JkBwbFH^1OE~g&CEyIKfU`hZpzKItT&>GNVmK5iB$br11jG`F!%qRb2%&`m^5W1d zFg_>>frF4|WP{@2h(aV`GzcgjLR(!-2ww=ni$n#n>RjPMa#GN+(veZ(XrU`m!ly={ z;A%)V98X+DSx&eV3yT6i66>O zM3GPttXl9gSOUQby$xqYsi4?lq`@_}tgk>N5XADBA(63*44vS_Df|{BLtmH|v_3d-{il7neZ)8tzh<@or*e9h&qo zw{K_|pO^!EN&UvH+a{(~)^SPY=px;HpB9(4@QIbxt*iq>pS85Lk56v>2nmZRDrsx) zelt8hqn6qFwr6NqUF+J7nr{4ehUb-b@lxP~N)zXXp4N(CO~SPXr9kE_C#! z5B#4z4QOtmpuE7KqN;TbGyeSpUUZL*&u;zr?dG1~;hE0L%UAleq5aM9rr)~IYWA(cF#yS*VNRRHIxkR#r;wx+eIGfYEtvlQLzf1`1) zUA8db^OGj^KRozbEk4G&E<@3uvW!+{-F=9-xj$^D!d}&L<$p-BTfP$gkQU*yr*gMQ zv{$P>bm608@Pb-KLuTAnCEtZFmmX3enQ3W{+ycC7>|>qccNhtlesA#~U&~9s9kz*l zCQ^RgM2M%gm07jrxeZs$$6(U0B7xrA)%U9O`56x=Vgv@CUeq3t(oCUrkY0W{TP@R0 z%gNHF@yUBG?25&*?iBvhLg8vB`bmchAs3muV-a_%m*iuu+`{2$pn=%9zVc2ghU-s{ z2=1sgbsTMONsaydXmg3Sl?3eMk$IeUuQ>F^6|)`w`YS+WlB~bf*ibQ#iMUAX<3|ds zB16U+QHsMaJ;Q^mG~qhWKIi)mr9}m$;H19$zIoZ5fkvHL@!)&GF796U*Y9LRC1wxv zNcL^||7dx6&9l;sjfe-UW;BA1>X`J?GHV#4f-P%fP23qD)rjaDn>yF&TeQsai6)kH z(}z?D??hev?#DIWe7TNfXOVdv@LXFd=8>}2uc&dzb{4&Ku}|ok>TXoq>R1l^6)M!( zuDRn;);(_LODH9^ANZI0FR!}7JNjp=ZiI8bO=rJhVxJ6$inox+uCsXtw)|ZC4HZMe zdK@z1mhUF#f9Jg;)T5*kzVq1MP$1%#QVRXW`2+in=f0Yco*dnABX6|g_|ODfHM@Ck zmu?k`=ZIi==~C&y54U(Vl3*~u>oZpWzBoO+C8Fua>*tPCUYSuvY6;S1l^h(r_45%Q zQ;#d((gY~Y$tu=&3VXYw9%H0`l^V~mE z+{=B=u%~%d0&G#Ex0xi7bOLSXc5wK1g&NAT)#-tE(92wzs}soD@#(>4ZXB)eTPeXR zTVciV-AJ?F&6h5+u8T7pI+kkv{DW%z$@#Rxg&o1|torWrlRA8xr@v|Xm3=~IiUxzP zt|#{9#Z75TXJlBD3VYzjMbgxhRc}eDU3*uU2wkcZXf^>b4KD z7+QNMxQ4pCXZuBK{GKw)0kGUDSNb+(MbUy^MDrb=a=XdL8iXR;~P=6ET5 z8YX_5MZf<>AV45(E@Yf|^0I-vyv`wAz^3ejXtzraHmf4+YBo}fCYAAY)x#Swko9H3 zX?cxYQG;ieAA;=>^0H%XiFdS^7Cf)XMkEzNmrInqjKB*OM!H|{%S8uZg(KwTchCJ8 z5ZQ=+rCUb$NrB@RvZhEvJHu0tQ9g#t_4Cm-Ckd3rZeX%)-rW5w`hy-z|^XJ`XHW5UBO~`>PWMI<1H*CDqFjeT)__Y@VI4 zJ!UGOB&Q}@IVfwg0Og(hxN`0{DX)_;>yq8w%Z~xLM{yw?rfVEs*VVL-45K6EU1Y zfdrz+#G1ynXYUZ3Sz)+x$Ir+s>Sn)|GKBZpgKUR}T0doveNLHADz$A@Gy^FVOvKEy zINj!M?wvpP3sE^oy6>#)8>-z&PyBr=VER#%y|!nO#8V!?#MdV)Arg|VsM7}zb@C4S z{b4fTc}0lS`w~CoQt!lP!Qr>2X5&_<$i!@o3kR%k0}AG)ZifZH^|SLge%^NJ_|*47 z<9W#iwbc%_3cl@_nj44l^kyTh(=0!xQ>A{K`=Jbx4HHP2?tAM&EH5Z22MV40t?;hI z-qX8N=u|j2`(Oa)=)tftUuroR7YCPI&-hsLzVT%dslE4~OO{yU^!6V;b)wM#y8T{f z6Xm(qtTgt};uPd4)MtxyjP=CQvDoffTGa)eQ;Z z^gij)Zq*XdSd(5_W4B@vF=*c{5`Aa#gj9tvHLFeZbD9@zL}=KbtV~MMmvYXbH~sV% z*q2y6I{fEud>f8h;+tNj5jyv?UA(tx+&j7@XW3>1$1QHDE7x`K^hK-_9ytAYb9LzZ z=T!C{lAG$w?^_rDU z`iJ?GTWe;t>U$O3i&08$FLGapQ*29EJZu;jGp-sRV(Ru}rxQ5$>%{~+h^7cyK4`JJ zyYuLMS$Kv31e|kX{N#J<)feGN-Lk`@5O7Gq?&%Z>#6CJmP_!Jl_2B7IM@U)k+h_1VlDACej>fbywMC=*L8eH?8-Wf! zmNWuA8zo&iHBvASQT{Ijhi0u_6^YwjIni)prNfyvsh3sc<8?o_m3Y+1^$(Iax_`y+ zz=$ccH0ZAKkk8S2)^BZitBl`nH@3|8HX5@ST|Dz!3g7RgxEpm4PEh4bkQW}9mVZ^| z$yX8MF_Ih9qbgv@HoBn{88sXT^T z`XSr7IrOap>J`UpDK&egX!yM_)%c#JXF+JP9mRPUYpW!>i$K-*Jm95};XZzxd*#fgSGpu0qOwg)@)U*-<_ z4A*Vg$j6Zd-)+wtPg!873gXw7SNov(qlXVPAU?xJS$N-G+lU~)x>2g*2tN8Fr=Kot zaf=u^RieS)8mYpobYxjV??j=IkjN{0k9;jh?^xF{O0q-%u$kTo_)}veIU5eY&5C+7oTg zykKlojKekJ-$D259#vXd3(E18JHre0-3lL?hflN~9~1cLqI$zTBb0$7(r{5z(-m$H zc8h3u_Z3Z7OeVcK=nwkCk z%&*?`eSUPrO!n3DcMU`va_NI*tXT-yUYr0!&r<5jaPx_dYk<0n*N>z34+)Qcn2+ZP zm29rZtkxg*2J7B;Zt8#2k>IexTWodgXL*MfW!Jh_fXPh$W<~@y6IMR2m$#BAj zbfVgr4M~4wJa7IJa5KiXql9aNo7ZstLB74mCS`-XxY|tWEZvPdt)kAd?{kaVDl{Zb zq>GN`7FT~I+mK&an#@mMrljxPYhtYNGJ7ky8O~yo#7jay>p?bzI_C{E8L*HhX9eMZ zHESOyp=SPK=eVBn=j1a{LQY0^<>v3WSC-os_T}RGpNAaPr#raUKD%FAvYWu)n!ng$ zbzfy3VwBd6XMmv;CD*A4{b;wPA&P&{&QQf24H=61ADqP9S%y--> z_d`ROAEN!u-Q{zhf}47^)g+xNF^}=XH$8tO%ZDF+kilQf9QP3p_VKQZdf(Nl6-PvW zqA_6hlcnwFBh{%T5r^8Wpv82m6yo)rVa_N9&=bQ$+$-} zazxq;(gm67$QeBlfg{UUg*gLHEDLs6hihg#5&b%6yoeWD;JK9NQHQqoe<+B{aUU*J zT^{phtZMF97v%^keVB`{SrK|A^~$(FdFU_8ByczJr!i|2pGT+%@2$65L@xgsr_eZg zL8)?;w@8j69azm$){1X`H*`f?B5wHML6B9)#OJ$w;hiRnk*;0AzJ(9AG>x>H+1&3L zpYt$Wc8SJ!5%!X+Puc4?Sr?jPMD&imLgXi4Gn_r58*N!@dA^&rNmUSE1f>-!CeL%tW; z(*Bbl%nrE8OkdYuhef8{eDrd9eN8!Dw9<6tp|0oA4!ACotnND%cwmM&sBHA`1>|!D zbpdN$XRFRcp$_8yW2LNdQ}rzsA*XLwic>;)zV-)%&F~oD$rri0#Gmm@bY40TYQNPS zc*e?5im1*QDJ@kYEdnw6^Le}XvJ9F8_p;-~+JMI5r3@1Hc>?|v?h6v~1%jg7`W=LQ z_Ab;7ygV6|%$Mi7))F2x*}z(GT-F|;-b?gnL3F$3t6(EbUf<+4&x8Ic{L2Ey`Ep;^ zdz$gxeCTAflg@c9oJm6&mYPML_lMM8e4ep;*hKSLw(V(nA1(MH)3lCK=N=#qxI5e4cXV8q<_T@#qoh39IfUPvvw=(v5+=d zsxsTMtlyD(RwwWl@LKlE(n8invEF;Qi*(ay|T$L~5S3oP!Q z^L9=QX{`nx#nX0Ak8X(a#8k=gG0FI=xGi`kMO1|DR!lUa_yDl)!yF>kb5GM^ehU@bmMmV9qx<8eq83zYxP zur4)Myir5NYHZOY4@_FItIYJACv?>ZK0vaaEJoZeYpPEfA2@=$*cS7ld11ntpn)^D zHvct2?vp1&_P1hCqgI~KkG-BcN=8P(%0GGI;BCoaUvkLEq+XzVfft zy-(7tV~lS|)nTUp^zO&pJG7H4C3Qs37q%KJ@DY_37w@trFT3_bNzIH5_$ZT%wMu=a zH@fSyZ>BD4B*u!geoOcCysbyJN*AfeJME<~q3u6<#=Ba1IWqnZcWExdYox24r+Un4 zS?NlTmPuNjhQ)M-^jfGaG47_+52IG|x&4vWD{Lk4<8N1^t83SqQYDnDFVqhI)CekG zr}}8SeR%l__w%8k$syN>)Zx`YfkQHr9aF`^IPleSpO8xhvQpV1zjsFa`7h^_8ZJ8H z;Ggll4s|1`oOAnQ)cog@8s2$4@)y=0wkkC7n$9)6cL`3?^C*ZDa;zbmcD;M!{ga6F z9T?N^kk+{nNgXLqrMF~l*_TCp+|uonU$aFgr-8DaUZn<85=z4wJZrgkngT(6KO`*Y zNMd?ebT|B_J+$-bGoU8@-zg6Nyk9-zm4*FoDWPlLjx07$tAC(zVePA+_{FWeZ-x6G`>DB2mE#ug0#3vHh3FZ8*0+Uwz${n)bD>Jj&-z8?WY6RgL7% zefmUV)SoMWSS}&qhub(Jvn+LKvA-U@3JujIC8)ciNXq-U$)yJVv)Gz_;EcyMrp&9< z5FxjBT){Gcd-DCM`lJMTv0cJW+xU9x(DBz9x~q{!1WN8NGK%X&6--^D1o+c-BT;t* z4u{M`iM<9ZW$!nMa^ZI#wJ7>7ji9Ras|@;25%#aE z%;4Ga_UwE{p9lmgG^D=*;R5*}g*VtlFGyh$o7e{_e8nWd@;M-dKiHIZ7f2yI1CwIe z1}UUrQV(Pgj8x#e_Ck>y8I}r|uRle3bZLnu{u=dnY-CyG zuyLE%@JQpk&15WZw!grr8U}%}^;9-sYI`K3@q_x!<(`^`bWD8O2<&Z+lgkCo+$2TeTP??zr+taB;58#aIwXc#vtERe2)q zG65`(<0%NF5WrRIny%?Lc3oxb*EC3;*!12Uo;2ZGmS0@=K170g?GNlwk;S^8jm`QL zf=ZCDvM&^WHU6CK8Ter$Q#rB7O=0WqcN@#cVcM$U0bJ81s@EO0O5~;SN?E3CP3sdA zv#b#d!`fGdN1TQgcD~eYpX4d62azNM1s7e6@+J7O+x{l)4%6h%i;wZ`xu|t`cAiQ! zgTKeRtPUh9-ODT4-F}F)@4DoQyL4PPuB$pC`V)N4E={yfV%4Up#GbrTwdj0Tvj+dTLTSC>CHf18=j_>mD;$?ii!Vu$Ozl4nKPI1Rd-RL6fnZa;^35R+ zSvya(*kx}=K|2xW^gTa`Dc+Y=P`z|SKv$>w!OnCCEln^Z}Sfa?v`;Yu8nqpxqnT})oEf;HE@&2f8-Olkt_V7CMegRbdKNW^>n z@SM%R_@-9oiMgenX7Al`rxen@74ZvisU=$=rjkP%>fVM2%x|pa^VKS$ev2JLJXa`l z@8!s`Tj77VIA;f^hFlYD9VwOqS>va8S$q8UvHIe_rj*dnXu8~N-+m`+;DXjLX-t;? z^1TIn<;~7^|B{PcAJ*j_6_P#drl@?rd4Xv4m)6Q~_tILR)P}}L8i|IR;kzFN%?#}3 z{pH3=%^9=tPn4abIa%HIq{%$VS6fpAX(n-aexI|E4RTCfSy`oT@_sHH_Uf9icMS2u ztKo}r@y&|q(%;TpRJBSY%sFtvU6T{bev$bpzRILEN}-iS^&4R~=!<{Gvm5o?Ye{SC zhM#r+bUZYX`LzB;%(mW^gU@k0%kbi@@EDJcV9@BiPiw^8jwdTWY@ZNUJPw54{IIri z#(qvq9b{BGPaN9$vvf=7$io{{LS{lKPE?Pt%;9(}WAr@vkRh)k&TGy>#$N1ub9Sr_9dcE)_z zVO69lzi-6EV2V(&yLsbVwxM0kN}RW+kXTek7avc-t0y6JR<#p4pwKgRcXknTt8uJt zhoI$<_SNso8S^Tl=}istyC(-gF{2G-YvzY8sq!W5`V(Kpp)xt+wYH(UXi|oy$Dd+X z0{c{(QpA8-QAZ({9?C7|&&^Y1jiCz0N~$2-M*20!DNdsIUzd_R$ZvMwmn4%ezM)yY zoX9tGr&=ttH{zU4en8xnsod7Yk!qs%p^x7Fv+u;O;|V8@ZTet@1aTnuGw}onhk+6Jskyddh-}v+fN0+m}6E?=|_WyFG!XMV0B&`Dm!a?d?9! z5KJrYS0>-Fq|BX(fI=pcleH&zC+ZcYjYCJvmCxDh&&rjXl9{7%1sj5Yir)EIdVy^6 zj#rgq{D~FwQzh``JJu<@%W0DcK?a6<>-Od%A&rP-_13RS0pCjAmvz4c7nR^xwsc2zMyw%y(>UAgXvc^Yff7 z|E6jwH8nWdC3d@6vY||Ie~*%(NrKsHVAA_Vs9U*R&VjQo8T20K3I625rD4+0t|pB; z)M2E*kKe`K+U%sV-nKLDG_^5&<_{Ln8u#IA&ouX)I*{|?+k}LlXc!)BwC#Tw-Y3*Q zs0g)fH|A}s*bpBM+0*50N_%$3&JQvF>E~gTI`=73M#96~vuSZ}Bb)f{UMl7HSk-qg zNmh&-D*%JHV!j(Bje|^el}VD%QLpspEvhOgzXos>P}Jj?T@`T1^t+Lo`^og4dd?Tz z#{8o&f1~vWo!<{usuki9?xAg@35H~J&%gRwQIFR4CR}>*;hFQz^JswPUr(muP5WIo zq@aNl%xlqlhWKhP{XSk=(SR`ya+g-yKOxF4r7?I~lnZA+*&&*OPNxQ5FW{mLXM*~i zWLHEeB8|63l@1cwxs-3TE2Nd{YIsy3C?rLGdQ$N4CGWpqzMYg2^)OPg0f+a#@x%L} z#M4d3BIap!=g|jgiFW=WFZVC=ZX!rJpMi&)w;?8rwtJ}$ek)yh`P4kVNrmkF$Fsu_&jh~*-cP~bL9|kduBJ zXF;z@G(dVdp`3l7W3H5{Ql!ha!O}*MP>yvnZh@Ldos{;Jl}=v}QJ$9QVAc zJgsXss87sZpG_ie$90~P%x_zFp*hSVt?_bWwn}XL+Mu_GQ(8)MQ;D99g5lF=Y@m#H zy}si1b|Wk8*Li0i33MF7{IcNZ(Hszl-PSK_3`$0$6&rJW(v@AT_p0fZ*~Wi_>)Ve@ z;ZAtey#K(wa5vh(!_&eV_9jeSE7aD2C*qIeJCf$M9`Vu{b8Db#m%Z*y*rc8FF8rNN zQyVZTD)c$$IV)KCR#C9KFr~Q)xMMBUtVWT-?ds!1z<6&Gyv24NJ+iG(w-X0h6BtSt z>Qw}DoZQtZ@VpDP^;eK(Y_%)!$qRoUy3%6-B7ArC4)<#u!#8)3Umtt>b?7LY2aAc| z@$Lmje;PE%b}b#aU#nQ~rsZK$J+Aycvy#Z;8RL|wy~<9JB7%{W-C_G<9g*GdI|jcl zUnP0n_$LJR@hnv$|-4S%e%VN;E!TPxU-h8sG znXy__QXvycJ~=aozV~JTiH6D57gs9rM(W!jm(HVO=qCt6t)3|HviQ4yEWcY6H@Xxx zdc3xJyV{t@fGi%rR@Ia{LbmLZ2bE{4L)H)NIcl#Rb}bUVcYJ-)Ury3>qFpMor(7Lc zgZ&P0XWON}RpIIbL|1zpEsgdG-f!Yw{Ge3<=*{n_N_*d4`Qlkh7I7C9B)qm?Wqlrv zgMYO^p;Uq@;C?=xaG5gEd+mH25@NNF7p^WQF-CE%h6qAcDpBhiDQ3p?cO2>$i{!#6 z4X&2a@4nprq6lB4ABwlhtu!OKB>KyHXeH#yXdtzjqQiZz$yfZ8ii<2physRPlJHx9 zG@l*j=+HmmSMOu1&#?U|H2?8D`lt5s17K4=lcG3!8II&t$khtpFiT@+h}WtvL`M50 zyaUWUa~`ZA`qTc4 z^SvPo=ZG>sHTq;W_19+2Z^WkNmBYEIoO%Y7%x+rzo)tOK(^d__vuL9qVr?{IG)}ps z`f=|}Kk2TncRO8-GVcxL*56%t=-`oD_i(Z9xAc*qmwo+Aa5!;8K_@+vP;84FIjks| zd3k(ML#TLF?r9|6#MJ?gUFO98Tl8<9kq}+qTw#>;_`@yS`fSnr z6NTO-2bS`yN$1f`@p?O*^-&`J;SpM}o)__oY`hrJcBG2Sf z-(9K$%JeAf$mB?C-}@ze{&64oau2@yS2V01XVNA%&j}cKhwYbK7`HB#4Pf%%)c+{r zkaC+{D9n^CA|WkOa@+u-(&+v(phWD)onK9yQPJnoRAD@qYwSF^cpg6cV{8ALG}!%+ zgTR7ADo4?D8|eO-S(xBgm(=u2J%rTjuHrpDxdHd=i=ySObS#r&`0sTO2#$$>ijeoQ z%^_x;At;&9xXN|>5Z}_>Bd`#0F)n?+b4Fj#MlIK9k5NWD5THs zh1UI9=Lt0XvsZiFYP4BbyyUaHokaewySK?Re@lJgFNnD1&&*bSYPd6|CN1{Bta^>b zG`CDP%}~;gr$aZOdwceP$a_$}K;d2!hb8Uj=P#pjQ3Cw2hVD3 zL)KAZffJWC-VpZ&EbX}(wHPO#!un_EOfqkBo7cR-`dSTyNx_|tOOLZzv z`&B}Ouw~f(^_Rz6e=@Jtj(&JK1~N&>c`uY_klp^y8F6hHCrG5Rs~4oY7RVQl>b0=Y z{H$2Az29NTX5P&9w)H{l@Zid~%pC8GM!IqFK<=~XyDo#)ua+p)d2g~zsJ8LyhDVj- z{NbP>)d1cnu#T@zTJQJEcozc22#pkpYj&-zam%x|nMUc5Q7TyT>Sv~hC_2rvSJU;xStT%f&$D~W>xP(cA400O|cAks)qDu7W8T>y%N0uTfWOboq10#k#b5F#i(Itd2|0d(I(=)o7z|Kz~{W_J%<9DoNc&lAi9 z+=D>DH~<_ngYE?M(;_eu!ALj?4Dd4uK=~1v4Mo^-@W71dMgkCV0Q(>iNhBDY2?6i{ z1g1g=xJMoYbX^2N;s7&75Zn$7f&wT;ur?TkiDv+)!7v~LOhbYXup+5(c_I9m%~-%} zz-2fl&IAwLEf`S242&OC1odVi&@UAR!U4d)(eDI3B7j89rZWH| ziXD!9Q*bbZ7v13?1ZGnr9SZcLpr!c2AsDIXUR1+W1%S|RR~WlZ3kZM{f?!ez5FiJ= zj=m1!1yh31eE@|akzm9HXetCG1{FjC1ONpLAVfP7v zFA+P~;GXYYuRyp&=NplL!KWvXLd9#0X&Idu!6q;{&lAJl7`rZJ6SsDdAC9Y=i1gh3>uGLl4M24~-912f=v$c0+N`a3EPNm^?BZW{08De( AQvd(} literal 0 HcmV?d00001 diff --git a/schematics/wml-schematics/index.html b/schematics/wml-schematics/index.html new file mode 100644 index 0000000000..7b55ae82a9 --- /dev/null +++ b/schematics/wml-schematics/index.html @@ -0,0 +1,436 @@ + WML Schematics | Windmillcode Angular CDK +
    Skip to content

    WML Schematics

    The Angular WML Schematics library serves as a foundational toolkit for Angular web application development, establishing a solid baseline from which developers can construct and expand their projects. Central to this library is the concept of WMLUIProperty, a fundamental element that encapsulates the essence of web application components, down to the finest detail. This library not only streamlines the development process by providing pre-defined subclasses like WMLRoute for routing, WMLView for dynamic components, and WMLAnimateUIProperty for CSS animations but also ensures consistency and scalability across your application. Dive into the documentation to explore how these building blocks can be orchestrated to create robust, maintainable, and dynamic web applications.

    +

    Installation

    +
    Terminal window
    npm install -d @windmillcode/angular-wml-schematics
    +

    Usage

    +

    As you follow along close each terminal and open a new one so you can start in root

    +

    To create a layout

    +
    Terminal window
    cd src/app/layouts
    npx ng g @windmillcode/angular-wml-schematics:component --name=custom-layout --routing=true --route=layout --routes-file-path=src/app/app.routes.ts --standalone=true --cpnt-type=default
    +

    then navigate to the layout route and check for the element in dev tools +you will need to add a router-outlet

    +

    To create a page

    +
    Terminal window
    cd src/app/pages
    npx ng g @windmillcode/angular-wml-schematics:component --name=custom-page --route-key=upload --route=page --routes-file-path=src/app/app.routes.ts --standalone=true --cpnt-type=default
    +

    you would first create a layout then the page then add the page as a child of the layout route

    +

    To create a container component

    +
    Terminal window
    cd src/app/shared/components
    npx ng g @windmillcode/angular-wml-schematics:component --name container-zero --is-props-child=true --module=shared --is-page-module=false
    +

    To make a service

    +
    Terminal window
    cd src/app/shared/services
    npx ng g @windmillcode/angular-wml-schematics:service --name custom
    +

    To create a service method

    +
    Terminal window
    cd src/app/shared/services/custom
    npx ng g @windmillcode/angular-wml-schematics:service-method --name getJsonData --service-name custom --api-route="/v2/list.json" --http-method get
    +

    To create a form

    +
      +
    • You will need a component and service to exist
    • +
    +
    Terminal window
    cd src/app/shared/components/container-zero
    npx ng g @windmillcode/angular-wml-schematics:form --api-call this.customService.getJsonData --fields firstName lastName address
    +

    **Open A New terminal to try out the commands and see how the project gets updated

    + +

    References

    +

    template-component Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringSpecifies the name of the component.
    pathstringThe path where the new component will be generated.
    projectstringThe name of the Angular project within which the component should be created.
    cpntTypestringDetermines the type of component to generate. Options include default, library, default-zero, and library-zero.
    isIdIncludedbooleanIndicates whether the component selector should include an ID. Defaults to true.
    isPropsChildbooleanSpecifies whether the component is a presentation or a container.
    standalonebooleanIndicates whether the generated component is standalone. Defaults to false.
    styleTypestringSpecifies the preset SCSS style to use. Options include type0, type1, and none. Default is none.
    routingbooleanIndicates whether to create a routing module. Defaults to false.
    routeKeystringThe route that gets added to the innerNav.urls object in the environment.dev.ts file.
    routestringThe route path for a lazy-loaded module.
    routesFilePathstringPath for routes when using new routing configurations in Angular 17.
    modulestringThe declaring NgModule.
    isPageModulebooleanWhether the component is a page or not.
    +

    template-form Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringThe name of the form.
    apiCallstringSpecifies the API call function that will be triggered upon form submission.
    apiCallClassstringSpecifies the class for the API call’s argument.
    pathstringThe path where the new form-related code will be generated.
    fieldsstring[]An array of strings representing the field names within the form.
    fieldTypestringDetermines whether the fields are simple or complex. Default is simple.
    +

    template-library Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringSpecifies the name of the library.
    pathstringThe path where the library should be created.
    entryFilestringDesignates the main entry point of the library. Typically a file like public-api.ts.
    deststringThe destination directory where the build artifacts of the library will be placed.
    projectstringThe Angular project within which the library will be created.
    +

    template-module Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringThe name of the module to be created.
    pathstringSpecifies the directory path where the new module will be generated.
    projectstringIdentifies the project within which the module will be created.
    flatbooleanPrevents the creation of a new folder for the module if set to true. Defaults to false.
    routingbooleanIndicates that a routing module should be generated alongside the standard module. Defaults to false.
    routestringAllows specifying a route path that will be added to the nearest module’s routing configuration.
    modulestringThe path to the module file that will import the new module.
    +

    template-service Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringSpecifies the name of the service to be created.
    pathstringThe path where the new service will be generated.
    projectstringIdentifies the Angular project within which the service should be created.
    flatbooleanIndicates that the service file should be created directly inside the specified path without creating a new folder. Defaults to false.
    skipTestsbooleanSkips the generation of a .spec file for the service if set to true. Defaults to false.
    +

    template-serviceMethod Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringThe name of the method to be added.
    entityNamestringName of the entity coming back from the server as page data or page rows. Default is entity.
    envFilePathstringThe environment file to update.
    serviceNamestringThe name of the service class where the new method will be injected.
    apiRoutestringThe HTTP API route.
    scrollNamestringThe name of the scrollPageObject if transformationType is scrolling. Default is placeholder.
    pathstringThe path where the service is.
    transformationTypestringDetermines whether to use regular transformation or page transformation. Default is default.
    httpMethodstringThe HTTP method for the service method (get, post, put, patch, delete, options, head). Default is post.
    useDataSourceStrategybooleanIndicates whether to use the datasource strategy for the service method. Default is true.
    +

    template-scroll Schematic

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyTypeDescription
    namestringThe name of the scroll object.
    pathstringThe path where the target class is.
    serviceFilePathstringThe path where the service is, to be passed to template-service-method schematic.
    serviceMethodNamestringThe name of the service method, to be passed to template-service-method schematic.
    serviceMethodApiRoutestringThe HTTP API route, to be passed to template-service-method schematic.
    serviceMethodEntityNamestringTo be passed to template-service-method schematic, look up entityName definition there. Default is entity.
    serviceMethodUseDataSourceStrategybooleanWhether to use the datasource strategy for the service method. Default is true.
    createServiceMethodbooleanIndicates whether to create the service method. Default is true.
    +

    v18.1.3001 [8/4/24]

    +
      +
    • updated package to conform with @windmillcode/angular-wml-components-base
    • +
    +

    v18.1.3002 [8/4/24]

    +
      +
    • updated package to conform with @windmillcode/angular-wml-components-base
    • +
    \ No newline at end of file diff --git a/sitemap-0.xml b/sitemap-0.xml new file mode 100644 index 0000000000..9cdac57bdb --- /dev/null +++ b/sitemap-0.xml @@ -0,0 +1 @@ +https://windmillcode.github.io/Windmillcode-Angular-CDK-Docshttps://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/intro/wml-components-base/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-accordion/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-button/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-chips/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-field/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-file-manager/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-form/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-infinite-dropdown/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-input/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-mobile-nav/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-notify/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-options/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-panel/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-popup/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-select/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-slicebox/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-table/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-tabs/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/library/wml-toggle/https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/schematics/wml-schematics/ \ No newline at end of file diff --git a/sitemap-index.xml b/sitemap-index.xml new file mode 100644 index 0000000000..5f1d951122 --- /dev/null +++ b/sitemap-index.xml @@ -0,0 +1 @@ +https://windmillcode.github.io/Windmillcode-Angular-CDK-Docs/sitemap-0.xml \ No newline at end of file

    lTum|jgHZHzfP)8e&^_8~a;hsS1-gvk0u6rju(c{Sw-gEARr+Pdc z!Y}PR;VnJh8o(3N8o`6ttzK|_q1{4i7Zxl&3I~v62npvO?>_w>@bU5n3P}I}*H#^X literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_95a6342.pf_fragment b/pagefind/fragment/en_95a6342.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..177f316df1522f3f968ec3179ab1c78568892daa GIT binary patch literal 4508 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_984aeb4.pf_fragment b/pagefind/fragment/en_984aeb4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..16ec63c0c58a8743714f079b4f901c7d80d110ea GIT binary patch literal 2890 zcmV-Q3$^qgiwFP!00002|FxR^j@!l&z+Yvdzgj@jX+QWO0WIQO;>JLX6!Ez&YPbfE zTuE#wQYEQ7%Z35JMuFz#{3M-OlA@L$OY;)K@SQ|*emgreJG-2@qqmdWFb>`Ye(-U2 zN~76kb`yp7sh6H_9uLtXPj_NAANI z;r>1e@m6*MX%BwOJcrvE0o{(Ngy~2`6*KpfRMz^>(E^15{wdSsw!RL^gTCP|mI3HT z?j_kq@_mT5@Zx|Rk^tvC2Svd?s7xRqWRx7ycJO@eg%J!N<{6qrdMVCEN#4u7_YlH8 zcxoHwFkKmHw)^t=zZps8e@bh^ACCGUoy7dAh)vZnuU}N$CAm%FZMZv?G1>rJiRJs#;eMQS zDN=m9gEci$TuI>1!Yn_^ZT`|rcOgV(3}n;_uaSeg*dwmKe0y2rKgGAW$ZP9;+gSeO zaStxNHe!aZ{t0r=uN}DU_KCdhwg9H#ZYR?!Jf5FozgTy)*#Xz zi?j!k&RC?=i>z$z(8|_Xv2T^z{^ghw6hVc_TWwZZQXEwtyyyfO8q?@KQnRc$GI-ja zb{U2(VcUN%F(!jj=|cj!GLUdq@zpq)pJn9HOJh96Tm*TgUy+gVxujTlY8+T{G6+%p zA@o2EI76e&KIJnh>%!HzJ0*}A_Kudmuw16=_Hl~Wr0iHup8@!iMQh{ z!G1>c*8HTyz>HKTxpgSl& ziCYz)A>W#aFO+ro%@d3x28|<1<4`u8_H60_xEg>@H-MOM0KQb-9lvh5A-P}Jva*2&^{qkmElPoI z-O!1&x0Ut=e!ueepz=-$Uyp}7gK+ohaCZ>CuFPVOr>~847fz)V(PKAo6kH9Wg+foU z0V>5yv#|Ae-RYq2MGmuX?D24BtQM4ThH%U>D<%kCZ5Z7Mi#&TtzJGQ1mb`iX;va9J zBt`0C@8Sa#n3i=ZYM&pXId&4Tt{D{X=}@cvg-BJ1NBgR(bW!tBHaYV?~|a69w=CV)m6DqRV?&2z@<5WritZaIqLIz z4z)p+m#E^U-{})p1RsnlzM=))ooG>rQhmlJ8o;Usc*4T42JKVq0M6JKId`z^=fc~P zK=OFM(!oqeVQ@r?No-EbOy?M)reAkDs5>j^OpK?qVLC7A&P2w60Voc@R}&3@8DViR za}VAp+)2(p+9;wP<#LDNwck0qmNlMEfuGH1k4YN5^P$m`&o*mY%xBv$!rf=K`S@u* zgT(8>r&%86k<|XmUjwbe!Y@qtRc%Q*uMk<~!GOWUA{K5Je6p5hu*U%F=4eO7~DD`tns zg(G&{v^Z#V;~G?_Pcy%2yVbDUt4lS5iB+Fwa9m%lYWcE#*N~a64?_wrt@# z0}R%|XvDkmaec62-i)`IdTU5$u1zt6&&m4(@3$AFWZ-pqb*FtMv#m*#_#}8I5VLOqS%VV7hIl z-jmUp)Rfz}T8~1sky;~0Co)rR<0{f&w`wEx_KVIm?h9PSx}bI^^Q!5hGcBXPEu|+` zXq!yE&(dHTy^cMUh1D^2t+}ETjgii=X4Xm6+9^8G9OsTAuG>VdhoTeL#<+C*h;A?hbusG>f9vfMok-sHgQo z8qBqcsj`J_w~<=&LnqpFfXEg$tZY~_3pgiJVJ*DFLS}i#5XKgWKB~h_qpA#L(+=0^ z)qIWVvXz-hk?D3ZuWR@^)3n1wL?}JGLQF5)>r7#^xK%JaoTyjob*5#UyUHj|N9=0l zd7Wt5;aw^gPTM_NMP8>l!bG!yCfc;CBD_vB)eKzqMgcblPjjv!PIK(I@9z%r*WiVw!t0cbe+zfuc8Yx oUG&g}JwRs*S9EggB7B25WDVL!q&-BaeZKwle@WW&e5yA90Qw)I)c^nh literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a073465.pf_fragment b/pagefind/fragment/en_a073465.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..09ac7d0a4f7ef4f59fc48b6164006966a497418e GIT binary patch literal 3216 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 CMnA6r literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a79b625.pf_fragment b/pagefind/fragment/en_a79b625.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8a1d42da43462d3724d9ed22523b9b5dffd449e7 GIT binary patch literal 7727 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_cc84641.pf_fragment b/pagefind/fragment/en_cc84641.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7a56f976b7ab1247bf0b24a861d102d772350201 GIT binary patch literal 3364 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 D(zRok literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_e5aa753.pf_fragment b/pagefind/fragment/en_e5aa753.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b940036cae6b09cf73cb0b2509d1010c231d6ea8 GIT binary patch literal 3494 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_e793643.pf_fragment b/pagefind/fragment/en_e793643.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..28c3c9bf969586761f3b5890214b3249ec6c6d89 GIT binary patch literal 3347 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 literal 0 HcmV?d00001 diff --git a/pagefind/index/en_bcf7da7.pf_index b/pagefind/index/en_bcf7da7.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..f4abae257b31317c046c76d8badd6625efcd715a GIT binary patch literal 28537 zcmb4oWl$Vl&@L{E`{M2a76~jKT!OoMf&^LI7k77u;O+$X;O+zo9^4_g+`M)F+^Spk zRee*{r_WPeeWvI1nVOz{D5Fqd{=4AbC%ce+2sB&xCYsd6QLz`gV8rNyVZ;*SKVeJS zGBJe%m1e- zcyc-KPrO)O{8%>fUBp*nW{c8HQD9+a&u~x3`9t*exm&oW*FOi~roTBTs+f~;M)YNu zC^ipu;|w~$(K}rZb#!yP6WaWHmFU!ifYq@4kZL@GxE|({C6YsX$#~nATXPI|=droF zYx#mr`7U|izl-+DM49%){PLK-nJ6lHseg0O0VRFQJ}$jJ;Ob#}w-4RSjZ?mvKb&t* zFx{J&A16gIi&e&o2>Q!n7@cP-kadDL0RBaOyVi1O+vDj%XuPqds^oS#o`V1{da!-w ze3--bR{k@Lzt1!n%Q@($hR7)q8HvaQ8m9N9DHM`E81@?U)4fw&*ARafxWo#_4Y$|Rd!eQ6b&IinoBYznQML_?2T3EZ{uQwl@EAv#nx&vy;zbzySXN^0Y0)kjI*u+JLT;;`Q*OPOjxf~c1l6oY+ofcupEeviU^d5}vbxu) zZ!Lu-Z^JIaib8JdS6dEOrWi=#Q5*12J%cg*?#am4k2=t02{xplsQqI`C;CxVu23{12b4V21fXQ; z6K{^Q66^sPM7^&IvD2vg=RpnPfiL7+?`Oo?S@)xCL)bec$XxFu@w(0C?uncKNk9io zXQ8#0gb#agA;#3?mJ;GUqUZz&^PcwQH^x>c+BxwS6n?`>bnJdGp&dTk0Fn#GH?O?y zTpQ3ul)Zvpx#Tc<0EH{%2B-OZGqrwuUGh2ChhV~361O4;dgpG2PTRpen?js=A7R%y zp)7f8D0f;Aq`(`YR^Qj==r7FRmY_BAb??5Dy_SQMlEALm%`Fd3^;1tcY#aFE-8*Oqcq)D$_^e{Az8p8Mk)!bv`Vw zTtZ``Kcy0-8G{R+5RHeAP?qfg?=E!Yi-;di=nOvbf3t|pQMQJ~=p%qLeaS69=G8;> zY?l_v55j1d&ZTcc>>idB4DW6;Vy;i__9Q4}gC~npI?Z=Dcv5})t@U)rBO1bSCWD;y zn(6}qkP98R><1;dK%zFkQoruQ3IJuYsZuVk7|E53K89#RmE0+}TMis@^BugNt#6Jr z_ji1@*7oU^mST9w=3VTnlkJ9}8qLHfB!();hhCzIo4wGuH)s$PtWC5)(EeS`RgAm> zt)i5@49!)ns~GKA&QL{rmuI_a4`3cOe}d1=nrf{lEi)47$?bA}_nV%$B=;@Pn&t2v zir$mz*Y2k^!(mZ-C{C-LoD`+rhHWfN76=iM4BZu7P3N{&6v%tVd_BTMbO$#iDmcSq z%rVO5bPpRx!`^=o9Y~v|j*On!5~T25L|cbKlY1H>4vH@G7z4Tg<=jsRzI4N3(k~ZQ zsebb-?5lM^65Nyol*JDRv9xP5^?e;<${6aMTg=xBHD;_LQbXugXIBLF%)8}OM!D4F zF1NKC9#mvaEy`|t8_#S~9`XFHnqQDBJp$#F_~ewZx@L;ZT6_J&yawrQG=&x!QI1oW z{w-uAP9js|4w*m04ke*(N_9cI{=3sRcxb2i*(uNw3GIC`dF9LuYHSfqnj7i{5}LG6 zO&F4b;ymyLt%?{|XY`(1Ir8wg@L=!W-$+IPkLTwpv&>-i-W(VTIn}L6m}$oI$ih3c zUw%PrBA=8?s5@W;J}z&LXiA&;)`JE|$PYUK z1*$}k+c#Y-N%KHVH2PCGK^8&O8#`j_VlG_rQWLtADr5LD%HR zWwmsYoVwy?8&L=*O~G%(JBKasRue38Zy&i8UIV`c