!function(e,t){for(var a in t)e[a]=t[a]}(window,function(e){function t(t){for(var c,o,i=t[0],s=t[1],b=t[2],u=0,p=[];uObject(s.a)(new ResizeObserver(e=>{for(const t of e)D.next(t)}))).pipe(Object(f.a)(e=>n.a.pipe(Object(H.a)(e)).pipe(Object(I.a)(()=>e.disconnect()))),Object(d.a)({bufferSize:1,refCount:!0}));function J(e){return W.pipe(Object($.a)(t=>t.observe(e)),Object(f.a)(t=>D.pipe(Object(h.a)(({target:t})=>t===e),Object(I.a)(()=>t.unobserve(e)),Object(m.a)(({contentRect:e})=>({width:e.width,height:e.height})))),Object(H.a)(function(e){return{width:e.offsetWidth,height:e.offsetHeight}}(e)))}var Y=a(75);var F=a(59);function K(e,t=location){return e.host===t.host&&/^(?:\/[\w-]+)*(?:\/?|\.html)$/i.test(e.pathname)}function B(e,t=location){return e.pathname===t.pathname&&e.hash.length>0}function Q(){return new F.a(new URL(location.href))}function G(){return location.hash.substring(1)}function X(e){const t=P("a");t.href=e,t.addEventListener("click",e=>e.stopPropagation()),t.click()}var V=a(5);function Z(e){const t=matchMedia(e);return new V.a(e=>{t.addListener(t=>e.next(t.matches))}).pipe(Object(H.a)(t.matches),Object(d.a)({bufferSize:1,refCount:!0}))}var ee=a(60);const te={drawer:L("[data-md-toggle=drawer]"),search:L("[data-md-toggle=search]")};function ae(e,t){te[e].checked!==t&&te[e].click()}function ce(e){const t=te[e];return Object(b.a)(t,"change").pipe(Object(m.a)(()=>t.checked),Object(H.a)(t.checked))}function ne(){return{x:Math.max(0,pageXOffset),y:Math.max(0,pageYOffset)}}function re({x:e,y:t}){window.scrollTo(e||0,t||0)}function oe(){return{width:innerWidth,height:innerHeight}}function ie(e,{header$:t,viewport$:a}){const c=a.pipe(Object(k.a)("size")),n=Object(i.a)([c,t]).pipe(Object(m.a)(()=>({x:e.offsetLeft,y:e.offsetTop})));return Object(i.a)([t,a,n]).pipe(Object(m.a)(([{height:e},{offset:t,size:a},{x:c,y:n}])=>({offset:{x:t.x-c,y:t.y-n+e},size:a})))}var se=a(62),be=a(63);var le=a(21),ue=a(78);let pe;function de(e){return pe.pipe(Object(f.a)(t=>void 0!==t[e]?Object(s.a)(t[e]):le.a),Object(g.a)())}var fe=a(29);function he({document$:e,viewport$:t}){return Object(fe.a)(Object(f.a)(a=>{const c=function(e,{document$:t}){return t.pipe(Object(m.a)(()=>{const t=getComputedStyle(e);return["sticky","-webkit-sticky"].includes(t.position)}),Object(g.a)(),Object(f.a)(t=>t?J(e).pipe(Object(m.a)(({height:e})=>({sticky:!0,height:e}))):Object(s.a)({sticky:!1,height:0})),Object(d.a)({bufferSize:1,refCount:!0}))}(a,{document$:e}),n=de("main").pipe(Object(m.a)(e=>A("h1, h2, h3, h4, h5, h6",e)),Object(h.a)(e=>void 0!==e),Object(w.a)(de("header-title")),Object(f.a)(([e,a])=>ie(e,{header$:c,viewport$:t}).pipe(Object(m.a)(({offset:{y:t}})=>t>=e.offsetHeight?"page":"site"),Object(g.a)(),function(e){return Object(fe.a)(Object(O.a)(u.a),Object($.a)(t=>{!function(e,t){e.setAttribute("data-md-state",t?"active":"")}(e,"page"===t)}),Object(I.a)(()=>{!function(e){e.removeAttribute("data-md-state")}(e)}))}(a))),Object(H.a)("site"));return Object(i.a)([c,n]).pipe(Object(m.a)(([e,t])=>Object.assign({type:t},e)))}))}var je=a(9);function Oe({header$:e,viewport$:t}){const a=new U.a;return de("header").pipe(Object(f.a)(e=>{return a.pipe(Object(k.a)("active"),(t=e,Object(fe.a)(Object(O.a)(u.a),Object($.a)(({active:e})=>{!function(e,t){e.setAttribute("data-md-state",t?"shadow":"")}(t,e)}),Object(I.a)(()=>{!function(e){e.removeAttribute("data-md-state")}(t)}))));var t})).subscribe(je.a),Object(fe.a)(Object(f.a)(a=>function(e,{header$:t,viewport$:a}){const c=t.pipe(Object(m.a)(({height:e})=>e),Object(g.a)()),n=c.pipe(Object(f.a)(()=>J(e).pipe(Object(m.a)(({height:t})=>({top:e.offsetTop,bottom:e.offsetTop+t})),Object(k.a)("bottom"))));return Object(i.a)([c,n,a]).pipe(Object(m.a)(([e,{top:t,bottom:a},{offset:{y:c},size:{height:n}}])=>({offset:t-e,height:n=Math.max(0,n-Math.max(0,t-c,e)-Math.max(0,n+c-a)),active:t-e<=c})),Object(g.a)((e,t)=>e.offset===t.offset&&e.height===t.height&&e.active===t.active))}(a,{header$:e,viewport$:t})),Object($.a)(e=>a.next(e)),Object(I.a)(()=>a.complete()))}function me(e){e.style.top=""}function ge(e,{main$:t,viewport$:a}){const c=e.parentElement.offsetTop-e.parentElement.parentElement.offsetTop;return Object(i.a)([t,a]).pipe(Object(m.a)(([{offset:e,height:t},{offset:{y:a}}])=>({height:t=t+Math.min(c,Math.max(0,a-e))-c,lock:a>=e+c})),Object(g.a)((e,t)=>e.height===t.height&&e.lock===t.lock))}function ve(e,{header$:t}){return Object(fe.a)(Object(O.a)(u.a),Object(j.a)(t),Object($.a)(([{height:t,lock:a},{height:c}])=>{!function(e,t){const a=e.firstElementChild;a.style.height=t-2*a.offsetTop+"px"}(e,t),a?function(e,t){e.style.top=t+"px"}(e,c):me(e)}),Object(m.a)(([e])=>e),Object(I.a)(()=>{me(e),function(e){e.firstElementChild.style.height=""}(e)}))}var $e=a(67);function ye(e){const t=new RegExp(e.separator,"img"),a=(e,t,a)=>`${t}${a}`;return c=>{c=c.replace(/[\s*+\-:~^]+/g," ").trim();const n=new RegExp(`(^|${e.separator})(${c.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(t,"|")})`,"img");return e=>e.replace(n,a).replace(/<\/mark>(\s+)]*>/gim,"$1")}}function we(e){return e.split(/"([^"]+)"/g).map((e,t)=>1&t?e.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):e).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").trim()}function xe(e,t){if("string"==typeof t||"number"==typeof t)e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(const a of t)xe(e,a)}function ke(e,t,...a){const c=document.createElement(e);if(t)for(const e of Object.keys(t))"boolean"!=typeof t[e]?c.setAttribute(e,t[e]):t[e]&&c.setAttribute(e,"");for(const e of a)xe(c,e);return c}let _e;function Se(e,t){if(void 0===_e){const e=L("#__lang");_e=JSON.parse(e.textContent)}if(void 0===_e[e])throw new ReferenceError("Invalid translation: "+e);return void 0!==t?_e[e].replace("#",t.toString()):_e[e]}var Ee;function Te(e){return e.type===Ee.READY}function Ce(e){return e.type===Ee.QUERY}function Ae(e){return e.type===Ee.RESULT}function Le({config:e,docs:t,index:a,options:c}){1===e.lang.length&&"en"===e.lang[0]&&(e.lang=[Se("search.config.lang")]),"[\\s\\-]+"===e.separator&&(e.separator=Se("search.config.separator"));const n=Se("search.config.pipeline").split(/\s*,\s*/).filter(Boolean);return{config:e,docs:t,index:a,options:Object.assign(Object.assign({},c),{pipeline:n,suggestions:!0})}}function Me(e,{index$:t,base$:a}){const c=new Worker(e),n=new U.a,r=function(e,{tx$:t}){const a=Object(b.a)(e,"message").pipe(Object(m.a)(({data:e})=>e));return t.pipe(Object(se.a)(()=>a,{leading:!0,trailing:!0}),Object($.a)(t=>e.postMessage(t)),Object(be.a)(a),Object(Y.a)())}(c,{tx$:n}).pipe(Object(j.a)(a),Object(m.a)(([e,t])=>{if(Ae(e))for(const a of e.data.items)for(const e of a)e.location=`${t}/${e.location}`;return e}),Object(Y.a)());return t.pipe(Object(m.a)(e=>({type:Ee.SETUP,data:Le(e)})),Object(O.a)(l.b)).subscribe(n.next.bind(n)),{tx$:n,rx$:r}}!function(e){e[e.SETUP=0]="SETUP",e[e.READY=1]="READY",e[e.QUERY=2]="QUERY",e[e.RESULT=3]="RESULT"}(Ee||(Ee={}));var Re,Pe=a(39);function ze(e,t){const a=t&Re.PARENT,c=t&Re.TEASER,n=Object.keys(e.terms).filter(t=>!e.terms[t]).map(e=>[ke("del",null,e)," "]).flat().slice(0,-1),r=window.config.features.includes("search.highlight"),o=new URL(e.location);r&&o.searchParams.append("h",Object.entries(e.terms).reduce((e,[t,a])=>`${e} ${a?t:""}`.trim(),"").replace(/%20/g,"+"));return ke("a",{href:""+o,class:"md-search-result__link",tabIndex:-1},ke("article",{class:["md-search-result__article",...a?["md-search-result__article--document"]:[]].join(" "),"data-md-score":e.score.toFixed(2)},a>0&&ke("div",{class:"md-search-result__icon md-icon"}),ke("h1",{class:"md-search-result__title"},e.title),c>0&&e.text.length>0&&ke("p",{class:"md-search-result__teaser"},function(e,t){let a=t;if(e.length>a){for(;" "!==e[a]&&--a>0;);return e.substring(0,a)+"..."}return e}(e.text,320)),c>0&&n.length>0&&ke("p",{class:"md-search-result__terms"},Se("search.result.term.missing"),": ",n)))}function He(e,t=1/0){const a=[...e],c=a.findIndex(e=>!e.location.includes("#")),[n]=a.splice(c,1);let r=a.findIndex(e=>e.scoreze(e,Re.TEASER)),...i.length?[ke("details",{class:"md-search-result__more"},ke("summary",{tabIndex:-1},i.length>0&&1===i.length?Se("search.result.more.one"):Se("search.result.more.other",i.length)),i.map(e=>ze(e,Re.TEASER)))]:[]];return ke("li",{class:"md-search-result__item"},s)}function qe(e){return ke("ul",{class:"md-source__facts"},Object.keys(e).map(t=>ke("li",{class:"md-source__fact md-source__fact--"+t},"number"==typeof e[t]?function(e){if(e>999){return((e+1e-6)/1e3).toFixed(+((e-950)%1e3>99))+"k"}return e.toString()}(e[t]):e[t])))}function Ne({document$:e,dialog$:t}){if(!Pe.isSupported())return n.a;e.subscribe(()=>{R("pre:not(.mermaid-experimental) > code").forEach((e,t)=>{const a=e.parentElement;var c;a.id="__code_"+t,a.insertBefore((c=a.id,ke("button",{class:"md-clipboard md-icon",title:Se("clipboard.copy"),"data-clipboard":!0,"data-clipboard-target":`#${c} > code`})),e)})});const a=new V.a(e=>{new Pe("[data-clipboard]").on("success",t=>e.next(t))}).pipe(Object(Y.a)());return a.pipe(Object($.a)(e=>e.clearSelection()),Object(C.a)(Se("clipboard.copied"))).subscribe(t),a}!function(e){e[e.TEASER=1]="TEASER",e[e.PARENT=2]="PARENT"}(Re||(Re={}));var Ue=a(68),Ie=a(70);function De(e,{document$:t,viewport$:a,location$:c}){"scrollRestoration"in history&&(history.scrollRestoration="manual"),Object(b.a)(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"});const r=A('link[rel="shortcut icon"]');void 0!==r&&(r.href=r.href);const i=Object(b.a)(document.body,"click").pipe(Object(h.a)(e=>!(e.metaKey||e.ctrlKey)),Object(f.a)(t=>{if(t.target instanceof HTMLElement){const a=t.target.closest("a");if(a&&!a.target&&K(a)&&e.includes(a.href))return B(a)||t.preventDefault(),Object(s.a)(a)}return n.a}),Object(m.a)(e=>({url:new URL(e.href)})),Object(Y.a)());i.subscribe(()=>{ae("search",!1)});const l=i.pipe(Object(h.a)(({url:e})=>!B(e)),Object(Y.a)()),u=Object(b.a)(window,"popstate").pipe(Object(h.a)(e=>null!==e.state),Object(m.a)(e=>({url:new URL(location.href),offset:e.state})),Object(Y.a)());Object(p.a)(l,u).pipe(Object(g.a)((e,t)=>e.url.href===t.url.href),Object(m.a)(({url:e})=>e)).subscribe(c);const d=c.pipe(Object(k.a)("pathname"),Object(Ue.a)(1),Object(f.a)(e=>Object(o.a)(fetch(e.href,{credentials:"same-origin"}).then(e=>e.text())).pipe(Object(v.a)(()=>(function(e){location.href=e.href}(e),n.a)))),Object(Y.a)());l.pipe(Object($e.a)(d)).subscribe(({url:e})=>{history.pushState({},"",e.toString())});const j=new DOMParser;d.pipe(Object(m.a)(e=>j.parseFromString(e,"text/html"))).subscribe(t);Object(p.a)(l,u).pipe(Object($e.a)(t)).subscribe(({url:e,offset:t})=>{e.hash&&!t?X(e.hash):re(t||{y:0})}),t.pipe(Object(Ue.a)(1)).subscribe(({title:e,head:t})=>{document.title=e;for(const e of['link[rel="canonical"]','meta[name="author"]','meta[name="description"]']){const a=A(e,t),c=A(e,document.head);void 0!==a&&void 0!==c&&z(c,a)}document.dispatchEvent(new CustomEvent("DOMContentSwitch"))}),a.pipe(Object(Ie.a)(l),Object(E.a)(250),Object(k.a)("offset")).subscribe(({offset:e})=>{history.replaceState(e,"")}),Object(p.a)(i,u).pipe(Object(x.a)(2,1),Object(h.a)(([e,t])=>e.url.pathname===t.url.pathname&&!B(t.url)),Object(m.a)(([,e])=>e)).subscribe(({offset:e})=>{re(e||{y:0})})}function We(){const e=Object(b.a)(window,"keydown").pipe(Object(h.a)(e=>!(e.metaKey||e.ctrlKey)),Object(m.a)(e=>({type:e.key,claim(){e.preventDefault(),e.stopPropagation()}})),Object(Y.a)()).pipe(Object(m.a)(e=>{return Object.assign({mode:(t="search",te[t].checked?"search":"global")},e);var t}),Object(h.a)(({mode:e})=>{if("global"===e){const e=M();if(void 0!==e)return!function(e){switch(e.tagName){case"INPUT":case"SELECT":case"TEXTAREA":return!0;default:return e.isContentEditable}}(e)}return!0}),Object(Y.a)());return e.pipe(Object(h.a)(({mode:e})=>"search"===e),Object(j.a)(de("search-query"),de("search-result"),de("search-suggest"))).subscribe(([e,t,a,c])=>{const n=M();switch(e.type){case"Enter":if(n===t){const t=new Map;for(const e of R(":first-child [href]",a)){const a=e.firstElementChild;t.set(e,parseFloat(a.getAttribute("data-md-score")))}if(t.size){const[[e]]=[...t].sort(([,e],[,t])=>t-e);e.click()}e.claim()}break;case"Escape":case"Tab":ae("search",!1),q(t,!1);break;case"ArrowUp":case"ArrowDown":if(void 0===n)q(t);else{const c=[t,...R(":not(details) > [href], summary, details[open] [href]",a)],r=Math.max(0,(Math.max(0,c.indexOf(n))+c.length+("ArrowUp"===e.type?-1:1))%c.length);q(c[r])}e.claim();break;case"ArrowRight":c.innerText.length&&t.selectionStart===t.value.length&&(t.value=c.innerText);break;default:t!==M()&&q(t)}}),e.pipe(Object(h.a)(({mode:e})=>"global"===e),Object(j.a)(de("search-query"))).subscribe(([e,t])=>{switch(e.type){case"f":case"s":case"/":q(t),function(e){if(!(e instanceof HTMLInputElement))throw new Error("Not implemented");e.select()}(t),e.claim();break;case"p":case",":const a=A("[href][rel=prev]");void 0!==a&&a.click();break;case"n":case".":const c=A("[href][rel=next]");void 0!==c&&c.click()}}),e}function Je(e){e.placeholder=Se("search.placeholder")}function Ye(e,{transform:t}={}){const a=t||we,c=Object(p.a)(Object(b.a)(e,"keyup"),Object(b.a)(e,"focus").pipe(Object(y.a)(1))).pipe(Object(m.a)(()=>a(e.value)),Object(H.a)(a(e.value)),Object(g.a)()),n=function(e){return Object(p.a)(Object(b.a)(e,"focus"),Object(b.a)(e,"blur")).pipe(Object(m.a)(({type:e})=>"focus"===e),Object(H.a)(e===M()))}(e);return Object(i.a)([c,n]).pipe(Object(m.a)(([e,t])=>({value:e,focus:t})))}function Fe({tx$:e},t={}){return Object(fe.a)(Object(f.a)(a=>{const c=Ye(a,t);return c.pipe(Object(k.a)("value"),Object(m.a)(({value:e})=>({type:Ee.QUERY,data:e}))).subscribe(e.next.bind(e)),c.pipe(Object(k.a)("focus")).subscribe(({focus:e})=>{e&&ae("search",e)}),c.pipe(function(e){return Object(fe.a)(Object($.a)(({focus:t})=>{t?function(e,t){e.placeholder=t}(e,""):Je(e)}),Object(I.a)(()=>{Je(e)}))}(a))}))}function Ke(){return Object(fe.a)(Object(f.a)(e=>function(e){return Object(b.a)(e,"click").pipe(Object(C.a)(void 0))}(e).pipe(Object(be.a)(de("search-query")),Object($.a)(q),Object(C.a)(void 0))),Object(H.a)(void 0))}function Be(e,t){e.appendChild(t)}function Qe(e,{query$:t,fetch$:a}){const c=L(".md-search-result__list",e),n=L(".md-search-result__meta",e);return Object(fe.a)(Object(j.a)(t),Object(m.a)(([e,t])=>{const{items:a}=e;return t.value?function(e,t){switch(t){case 0:e.textContent=Se("search.result.none");break;case 1:e.textContent=Se("search.result.one");break;default:e.textContent=Se("search.result.other",t)}}(n,a.length):function(e){e.textContent=Se("search.result.placeholder")}(n),e}),Object(f.a)(t=>{const{items:n}=t,r=[...n.map(([e])=>e.score),0];return a.pipe(Object(O.a)(u.a),Object(ue.a)(t=>{const a=e.parentElement;for(;t16)););return t},0),Object(C.a)(t),Object(I.a)(()=>{!function(e){e.innerHTML=""}(c)}))}))}function Ge({rx$:e},{query$:t}){return Object(fe.a)(Object(f.a)(a=>{const c=a.parentElement,n=function(e){return Object(p.a)(Object(b.a)(e,"scroll"),Object(b.a)(window,"resize")).pipe(Object(m.a)(()=>N(e)),Object(H.a)(N(e)))}(c).pipe(Object(m.a)(({y:e})=>e>=c.scrollHeight-c.offsetHeight-16),Object(g.a)(),Object(h.a)(Boolean));return e.pipe(Object(h.a)(Ae),Object(m.a)(({data:e})=>e),Qe(a,{query$:t,fetch$:n}))}))}function Xe({header$:e,viewport$:t,screen$:a}){return Object(fe.a)(Object(f.a)(c=>a.pipe(Object(f.a)(a=>a?ie(c,{header$:e,viewport$:t}).pipe(Object(m.a)(({offset:{y:e}})=>({hidden:e>=10})),Object(k.a)("hidden"),function(e){return Object(fe.a)(Object(O.a)(u.a),Object($.a)(({hidden:t})=>{!function(e,t){e.setAttribute("data-md-state",t?"hidden":"")}(e,t)}),Object(I.a)(()=>{!function(e){e.removeAttribute("data-md-state")}(e)}))}(c)):Object(s.a)({hidden:!0})))))}function Ve(e){e.removeAttribute("data-md-state")}function Ze(e){e.classList.remove("md-nav__link--active")}function et({header$:e,main$:t,viewport$:a,tablet$:c}){return Object(fe.a)(Object(f.a)(n=>c.pipe(Object(f.a)(c=>{if(c){const c=R(".md-nav__link",n),r=ge(n,{main$:t,viewport$:a}).pipe(ve(n,{header$:e})),o=function(e,{header$:t,viewport$:a}){const c=new Map;for(const t of e){const e=A(`[id="${decodeURIComponent(t.hash.substring(1))}"]`);void 0!==e&&c.set(t,e)}const n=t.pipe(Object(m.a)(e=>24+e.height));return J(document.body).pipe(Object(k.a)("height"),Object(m.a)(()=>{let e=[];return[...c].reduce((t,[a,n])=>{for(;e.length;){if(!(c.get(e[e.length-1]).tagName>=n.tagName))break;e.pop()}let r=n.offsetTop;for(;!r&&n.parentElement;)r=(n=n.parentElement).offsetTop;return t.set([...e=[...e,a]].reverse(),r)},new Map)}),Object(f.a)(e=>Object(i.a)([n,a]).pipe(Object(ue.a)(([e,t],[a,{offset:{y:c}}])=>{for(;t.length;){const[,n]=t[0];if(!(n-a=c))break;t=[e.pop(),...t]}return[e,t]},[[],[...e]]),Object(g.a)((e,t)=>e[0]===t[0]&&e[1]===t[1])))).pipe(Object(m.a)(([e,t])=>({prev:e.map(([e])=>e),next:t.map(([e])=>e)})),Object(H.a)({prev:[],next:[]}),Object(x.a)(2,1),Object(m.a)(([e,t])=>e.prev.length{for(const[e]of t)Ze(e),Ve(e);e.forEach(([t],a)=>{!function(e,t){e.classList.toggle("md-nav__link--active",t)}(t,a===e.length-1),function(e,t){e.setAttribute("data-md-state",t?"blur":"")}(t,!0)})}),Object(I.a)(()=>{for(const t of e)Ze(t),Ve(t)}))}(c));return Object(i.a)([r,o]).pipe(Object(m.a)(([e,t])=>({sidebar:e,anchors:t})))}return Object(s.a)({})}))))}var tt=a(72);var at=a(73);function ct(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}var nt=a(74);function rt(e){const[t]=e.match(/(git(?:hub|lab))/i)||[];switch(t.toLowerCase()){case"github":const[,t,a]=e.match(/^.+github\.com\/([^\/]+)\/?([^\/]+)?/i);return function(e,t){const a=void 0!==t?`https://api.github.com/repos/${e}/${t}`:"https://api.github.com/users/"+e;return Object(o.a)(fetch(a)).pipe(Object(h.a)(e=>200===e.status),Object(f.a)(e=>e.json()),Object(m.a)(e=>{if(void 0!==t){const{stargazers_count:t,forks_count:a}=e;return{stars:t,forks:a}}{const{public_repos:t}=e;return{repositories:t}}}),Object(f.a)(e=>void 0!==t?Object(o.a)(fetch(a+"/releases/latest")).pipe(Object(h.a)(e=>200===e.status),Object(f.a)(e=>e.json()),Object(m.a)(t=>Object.assign({version:t.tag_name},e)),Object(nt.a)(e)):Object(s.a)(e)),Object(nt.a)({}),Object(Y.a)())}(t,a);case"gitlab":const[,c,r]=e.match(/^.+?([^\/]*gitlab[^\/]+)\/(.+?)\/?$/i);return function(e,t){const a=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Object(o.a)(fetch(a)).pipe(Object(h.a)(e=>200===e.status),Object(f.a)(e=>e.json()),Object(m.a)(({star_count:e,forks_count:t})=>({stars:e,forks:t})),Object(nt.a)({}),Object(Y.a)())}(c,r);default:return n.a}}function ot({document$:e}){e.pipe(Object(m.a)(()=>L(".md-source[href]")),Object(f.a)(({href:e})=>{return t=function(e){let t=0;for(let a=0,c=e.length;art(e),Object(r.a)(()=>{const e=sessionStorage.getItem(t);if(e)return Object(s.a)(JSON.parse(e));{const e=a();return e.subscribe(e=>{try{sessionStorage.setItem(t,JSON.stringify(e))}catch(e){}}),e}});var t,a}),Object(h.a)(e=>Object.keys(e).length>0),Object(v.a)(()=>n.a)).subscribe(e=>{for(const t of R(".md-source__repository"))t.hasAttribute("data-md-state")||(t.setAttribute("data-md-state","done"),t.appendChild(qe(e)))})}function it(e,t){e.setAttribute("data-md-state","lock"),e.style.top=`-${t}px`}function st(e){const t=-1*parseInt(e.style.top,10);e.removeAttribute("data-md-state"),e.style.top="",t&&window.scrollTo(0,t)}function bt(e){if(!function(e){return"object"==typeof e&&"string"==typeof e.base&&"object"==typeof e.features&&"object"==typeof e.search}(e))throw new SyntaxError("Invalid configuration: "+JSON.stringify(e));window.config=e;const t=function(){const e=new T.a;return Object(b.a)(document,"DOMContentLoaded").pipe(Object(C.a)(document)).subscribe(e),e}(),a=Q(),L=function(e,{location$:t}){return t.pipe(Object(S.a)(1),Object(m.a)(({href:t})=>new URL(e,t).toString().replace(/\/$/,"")),Object(d.a)({bufferSize:1,refCount:!0}))}(e.base,{location$:a}),M=Object(b.a)(window,"hashchange").pipe(Object(m.a)(G),Object(H.a)(G()),Object(h.a)(e=>e.length>0),Object(Y.a)()),q=Object(i.a)([Object(p.a)(Object(b.a)(window,"scroll",{passive:!0}),Object(b.a)(window,"resize",{passive:!0})).pipe(Object(m.a)(ne),Object(H.a)(ne())),Object(b.a)(window,"resize",{passive:!0}).pipe(Object(m.a)(oe),Object(H.a)(oe()))]).pipe(Object(m.a)(([e,t])=>({offset:e,size:t})),Object(d.a)({bufferSize:1,refCount:!0})),N=Z("(min-width: 960px)"),D=Z("(min-width: 1220px)");!function(e,{document$:t},a){const c=a.features.includes("navigation.tabs.sticky")?"tabs":"";pe=t.pipe(Object(m.a)(t=>e.reduce((e,a)=>{const c=A(`[data-md-component=${a}]`,t);return Object.assign(Object.assign({},e),void 0!==c?{[a]:c}:{})},{})),Object(ue.a)((t,a)=>{for(const n of e)switch(n){case"announce":case"header-topic":case"container":case"skip":case c:n in t&&void 0!==t[n]&&(z(t[n],a[n]),t[n]=a[n]);break;default:void 0!==a[n]?t[n]=A(`[data-md-component=${n}]`):delete t[n]}return t}),Object(d.a)({bufferSize:1,refCount:!0}))}(["announce","container","header","header-title","header-topic","main","navigation","search","search-query","search-reset","search-result","search-share","search-suggest","skip","tabs","toc"],{document$:t},e);const W=We();matchMedia("(hover)").matches&&function({document$:e,viewport$:t}){const a=e.pipe(Object(m.a)(()=>R("pre > code"))),c=t.pipe(Object(k.a)("size"));Object(i.a)([a,c]).subscribe(([e])=>{for(const t of e)t.scrollWidth>t.clientWidth?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")})}({document$:t,viewport$:q}),function({document$:e,hash$:t}){const a=e.pipe(Object(m.a)(()=>R("details")));Object(p.a)(Z("print").pipe(Object(h.a)(Boolean)),Object(b.a)(window,"beforeprint")).pipe(Object(be.a)(a)).subscribe(e=>{for(const t of e)t.setAttribute("open","")}),t.pipe(Object(m.a)(e=>A(`[id="${e}"]`)),Object(h.a)(e=>void 0!==e),Object($.a)(e=>{const t=e.closest("details");t&&!t.open&&t.setAttribute("open","")})).subscribe(e=>e.scrollIntoView())}({document$:t,hash$:M}),function({document$:e}){e.pipe(Object(Ue.a)(1),Object(j.a)(de("container")),Object(m.a)(([,e])=>R("script",e))).pipe(Object(f.a)(e=>Object(s.a)(...e)),Object(tt.a)(e=>{const t=P("script");return e.src?(t.src=e.src,z(e,t),new V.a(e=>{t.onload=()=>e.complete()})):(t.textContent=e.textContent,z(e,t),le.a)})).subscribe(je.a)}({document$:t}),ot({document$:t}),function({document$:e}){const t=P("table");e.pipe(Object(m.a)(()=>R("table:not([class])"))).subscribe(e=>{for(const a of e)z(a,t),z(t,ke("div",{class:"md-typeset__scrollwrap"},ke("div",{class:"md-typeset__table"},a)))})}({document$:t}),function({document$:e}){const t=e.pipe(Object(m.a)(()=>R("[data-md-scrollfix]")),Object(d.a)({bufferSize:1,refCount:!0}));t.subscribe(e=>{for(const t of e)t.removeAttribute("data-md-scrollfix")}),Object(at.a)(ct,t,n.a).pipe(Object(f.a)(e=>Object(p.a)(...e.map(e=>Object(b.a)(e,"touchstart").pipe(Object(C.a)(e)))))).subscribe(e=>{const t=e.scrollTop;0===t?e.scrollTop=1:t+e.offsetHeight===e.scrollHeight&&(e.scrollTop=t-1)})}({document$:t});const J=function({duration:e}={}){const t=new U.a,a=P("div");return a.classList.add("md-dialog","md-typeset"),t.pipe(Object(f.a)(t=>Object(s.a)(document.body).pipe(Object(m.a)(e=>e.appendChild(a)),Object(O.a)(u.a),Object(y.a)(1),Object($.a)(e=>{e.innerHTML=t,e.setAttribute("data-md-state","open")}),Object(y.a)(e||2e3),Object($.a)(e=>e.removeAttribute("data-md-state")),Object(y.a)(400),Object($.a)(e=>{e.innerHTML="",e.remove()})))).subscribe(je.a),t}(),F=Ne({document$:t,dialog$:J}),B=de("header").pipe(he({document$:t,viewport$:q}),Object(d.a)({bufferSize:1,refCount:!0})),te=de("main").pipe(Oe({header$:B,viewport$:q}),Object(d.a)({bufferSize:1,refCount:!0})),re=de("navigation").pipe(function({header$:e,main$:t,viewport$:a,screen$:c}){return Object(fe.a)(Object(f.a)(n=>c.pipe(Object(f.a)(c=>c?ge(n,{main$:t,viewport$:a}).pipe(ve(n,{header$:e}),Object(m.a)(e=>({sidebar:e}))):Object(s.a)({})))))}({header$:B,main$:te,viewport$:q,screen$:D}),Object(d.a)({bufferSize:1,refCount:!0})),ie=de("toc").pipe(et({header$:B,main$:te,viewport$:q,tablet$:N}),Object(d.a)({bufferSize:1,refCount:!0})),se=e.features.includes("navigation.tabs.sticky")?n.a:de("tabs").pipe(Xe({header$:B,viewport$:q,screen$:D}),Object(d.a)({bufferSize:1,refCount:!0})),me=de("search").pipe(Object(f.a)(()=>Object(r.a)(()=>{const t=e.search&&e.search.index?e.search.index:void 0,n=void 0!==t?Object(o.a)(t):L.pipe(Object(f.a)(e=>fetch(e+"/search/search_index.json",{credentials:"same-origin"}).then(e=>e.json())));return e.features.includes("search.highlight")&&Object(i.a)([a,n]).subscribe(([e,t])=>{if(!e.searchParams.has("h"))return;const a=ye(t.config)(e.searchParams.get("h"));let n=e.hash?A(`[id="${e.hash.slice(1)}"]`):A("article");if(void 0!==n)for(;n;){const e=document.createNodeIterator(n,NodeFilter.SHOW_TEXT),t=[];for(;;){const a=e.nextNode();if(!a)break;["style","script"].includes(a.parentElement.tagName)||t.push(a)}for(const e of t)e.textContent.trim()&&e.replaceWith(ke("span",null,a(c(e.textContent))));if("article"===n.tagName)break;{const e=n.nextSibling;if(e instanceof HTMLElement&&e.tagName.match(/^H[1-6]/))break;n=e}}}),Object(s.a)(Me(e.search.worker,{base$:L,index$:n}))}))).pipe(Object(f.a)(t=>{const a=new URLSearchParams(document.location.search);a.get("q")&&(de("search-suggest").subscribe(e=>{e.innerText=a.get("q"),de("search-query").subscribe(e=>e.focus())}),t.rx$.pipe(Object(h.a)(Te),Object(f.a)(()=>de("search-query"))).subscribe(e=>{e.blur(),e.value=a.get("q"),e.focus()}));const c=de("search-query").pipe(Fe(t,{transform:e.search.transform}),Object(d.a)({bufferSize:1,refCount:!0})),n=de("search-reset").pipe(Ke(),Object(d.a)({bufferSize:1,refCount:!0})),r=de("search-result").pipe(Ge(t,{query$:c}),Object(d.a)({bufferSize:1,refCount:!0}));return e.features.includes("search.suggest")&&(r.pipe(Object(j.a)(c)).subscribe(([{suggestions:e},t])=>{if(void 0!==e){const a=document.querySelector(".md-search__suggest"),c=t.value.split(/([\s-]+)/);if(e.length){const[n]=e.slice(-1);if(e.length>=t.value.split(/[\s-]+/).length&&n.startsWith(c[c.length-1])){const e=document.createElement("span");e.innerHTML=[...c.slice(0,-1),n].join(""),a.innerHTML="",a.appendChild(e)}else a.innerHTML=""}else a.innerHTML=""}}),de("search-query").pipe(Object(f.a)(e=>Object(b.a)(e,"keydown").pipe(Object(O.a)(l.b),Object(m.a)(()=>e.value),Object(g.a)(),Object(m.a)(()=>{const t=document.querySelector(".md-search__suggest span");t&&(t.innerHTML.startsWith(e.value)&&!e.value.endsWith(" ")&&0!==e.value.length||(t.innerHTML=""))})))).subscribe()),de("search").pipe(function({rx$:e,tx$:t},{query$:a,reset$:c,result$:n}){return Object(fe.a)(Object(f.a)(()=>{const r=e.pipe(Object(h.a)(Te),Object(C.a)("ready"),Object(H.a)("waiting"));return t.pipe(Object(h.a)(Ce),Object($e.a)(r),Object(S.a)(1)).subscribe(t.next.bind(t)),Object(i.a)([r,a,n,c]).pipe(Object(m.a)(([e,t,a])=>({status:e,query:t,result:a})))}))}(t,{query$:c,reset$:n,result$:r}))}),Object(v.a)(()=>(de("search").subscribe(e=>e.hidden=!0),n.a)),Object(d.a)({bufferSize:1,refCount:!0}));if(M.pipe(Object($.a)(()=>ae("search",!1)),Object(y.a)(125)).subscribe(e=>X("#"+e)),Object(i.a)([ce("search"),N]).pipe(Object(j.a)(q),Object(f.a)(([[e,a],{offset:{y:c}}])=>{const n=e&&!a;return t.pipe(Object(y.a)(n?400:100),Object(O.a)(u.a),Object($.a)(({body:e})=>n?it(e,c):st(e)))})).subscribe(),Object(b.a)(document.body,"click").pipe(Object(h.a)(e=>!(e.metaKey||e.ctrlKey)),Object(h.a)(e=>{if(e.target instanceof HTMLElement){const t=e.target.closest("a");if(t&&K(t))return!0}return!1})).subscribe(()=>{ae("drawer",!1)}),e.features.includes("navigation.instant")&&"file:"!==location.protocol){const e=new DOMParser;L.pipe(Object(f.a)(t=>Object(o.a)(fetch(t+"/sitemap.xml").then(e=>e.text()).then(t=>e.parseFromString(t,"text/xml")))),Object(j.a)(L),Object(m.a)(([e,t])=>{const a=R("loc",e).map(e=>e.textContent);if(a.length>1){const[e,c]=a.sort((e,t)=>e.length-t.length);let n=0;if(e===c)n=e.length;else for(;e.charAt(n)===c.charAt(n);)n++;for(let c=0;c{De(e,{document$:t,location$:a,viewport$:q})})}if(t.subscribe(()=>{const e=R("[data-md-state=indeterminate]");for(const t of e)t.dataset.mdState="",t.indeterminate=!0,t.checked=!1}),e.features.includes("header.autohide")){const e=q.pipe(Object(m.a)(({offset:e})=>e.y>400),Object(w.a)(ce("search")),Object(m.a)(([e,t])=>e&&!t),Object(g.a)()),t=q.pipe(Object(m.a)(({offset:e})=>e.y),Object(x.a)(2,1),Object(m.a)(([e,t])=>[ee?t.pipe(Object(w.a)(q),Object(h.a)(([[,e],{offset:t}])=>Math.abs(e-t.y)>100),Object(m.a)(([[e]])=>e)):Object(s.a)(!1)),Object(g.a)()).pipe(Object(w.a)(te),Object(m.a)(([e,t])=>t.active?e?"hidden":"shadow":""),Object(w.a)(de("header"))).subscribe(([e,t])=>{t.setAttribute("data-md-state",e)})}const we=R("[data-md-option=palette]");for(let e=0;e{for(const e of["mdColorScheme","mdColorPrimary","mdColorAccent"])t.dataset[e]&&(document.body.dataset[e]=t.dataset[e]);we[e].dataset.mdState="hidden";const a=we[(e+1)%we.length];a.dataset.mdState="",a.focus(),localStorage.setItem("__palette",JSON.stringify({index:e,color:{scheme:t.dataset.mdColorScheme,primary:t.dataset.mdColorPrimary,accent:t.dataset.mdColorAccent}}))})}if(we.length){const{index:e}=JSON.parse(localStorage.getItem("__palette")||'{ "index": 0 }');we[(+e+1)%we.length].dataset.mdState=""}if(void 0!==e.version&&"mike"===e.version.method){const e=L.pipe(Object(f.a)(e=>fetch(e+"/../versions.json",{credentials:"same-origin"}).then(e=>e.json())),Object(v.a)(()=>(console.log("Couldn't load versions.json"),n.a)));de("header-title").pipe(Object(m.a)(e=>e.querySelector(".md-header__topic")),Object(_.a)(L,e)).subscribe(([e,t,a])=>{e.appendChild(function(e,t){const[,a]=e.match(/([^\/]+)\/?$/);return ke("div",{class:"md-version"},ke("span",{class:"md-version__current"},(t.find(({version:e,aliases:t})=>e===a||t.includes(a))||t[0]).version),ke("ul",{class:"md-version__list"},t.map(t=>ke("li",{class:"md-version__item"},ke("a",{class:"md-version__link",href:`${e}/../${t.version}/`},t.title)))))}(t,a))})}me.pipe(Object(m.a)(({query:e})=>e.value),Object(w.a)(de("search-share"))).subscribe(([e,t])=>{t.href="?q="+e.replace(/\s+/g,"+")}),de("search-share").pipe(Object(f.a)(e=>Object(b.a)(e,"click").pipe(Object($.a)(t=>{t.preventDefault(),e.setAttribute("data-clipboard-text",new URL(e.href).toString())})))).subscribe(()=>{});const xe=t.pipe(Object(m.a)(()=>R(".mermaid-experimental")),Object(h.a)(e=>e.length>0));xe.pipe(Object(S.a)(1),Object(f.a)(()=>function(e){const t=P("script");return t.src=e,Object(r.a)(()=>(document.head.appendChild(t),Object(p.a)(Object(b.a)(t,"load"),Object(b.a)(t,"error").pipe(Object(f.a)(()=>Object(ee.a)(()=>new ReferenceError("Invalid script: "+e))))).pipe(Object(C.a)(void 0),Object(I.a)(()=>document.head.removeChild(t)),Object(S.a)(1))))}("https://unpkg.com/mermaid@8.8.4/dist/mermaid.min.js")),Object($.a)(()=>{mermaid.initialize({startOnLoad:!1,themeCSS:lt})})).pipe(Object(f.a)(()=>xe),Object(E.a)(10)).subscribe(e=>{e.forEach((e,t)=>{const a=e.innerText;mermaid.mermaidAPI.render("__mermaid_"+t,a,t=>{e.innerHTML=t})})});const _e={document$:t,location$:a,viewport$:q,header$:B,main$:te,navigation$:re,search$:me,tabs$:se,toc$:ie,clipboard$:F,keyboard$:W,dialog$:J};return Object(p.a)(...Object.values(_e)).subscribe(),_e}document.documentElement.classList.remove("no-js"),document.documentElement.classList.add("js"),navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&document.documentElement.classList.add("ios");const lt="\n rect.actor {\n fill: white;\n }\n .classLabel .box {\n background-color: var(--md-mermaid-label-bg-color);\n fill: var(--md-mermaid-label-bg-color);\n opacity: 1;\n }\n .classLabel .label {\n font-family: var(--md-mermaid-font-family);\n fill: var(--md-mermaid-label-fg-color)\n }\n .statediagram-cluster.statediagram-cluster .inner {\n fill: var(--md-default-bg-color);\n }\n .statediagram-state rect.divider {\n stroke: var(--md-default-fg-color--lighter);\n fill: var(--md-default-fg-color--lightest);\n }\n .cluster rect {\n stroke: var(--md-default-fg-color--lighter);\n fill: var(--md-default-fg-color--lightest);\n }\n .edgeLabel,\n .edgeLabel rect {\n background-color: var(--md-mermaid-label-bg-color);\n fill: var(--md-mermaid-label-bg-color);\n }\n .cardinality text {\n fill: inherit !important;\n }\n .cardinality,\n g.classGroup text {\n font-family: var(--md-mermaid-font-family);\n fill: var(--md-mermaid-label-fg-color);\n }\n .edgeLabel .label rect {\n fill: transparent;\n }\n .nodeLabel,\n .label,\n .label div .edgeLabel {\n font-family: var(--md-mermaid-font-family);\n color: var(--md-mermaid-label-fg-color);\n }\n .label foreignObject {\n overflow: visible;\n }\n .arrowheadPath,\n marker {\n fill: var(--md-mermaid-edge-color) !important;\n }\n .edgePath .path,\n .flowchart-link,\n .relation,\n .transition {\n stroke: var(--md-mermaid-edge-color);\n }\n .statediagram-cluster rect,\n g.classGroup line,\n g.classGroup rect,\n .node circle,\n .node ellipse,\n .node path,\n .node polygon,\n .node rect {\n fill: var(--md-mermaid-node-bg-color);\n stroke: var(--md-mermaid-node-fg-color);\n }\n .node circle.state-end {\n fill: var(--md-mermaid-label-bg-color);\n stroke: none;\n }\n .node circle.state-start {\n fill: var(--md-mermaid-label-fg-color);\n stroke: var(--md-mermaid-label-fg-color);\n }\n"}}));